Показаны различия между двумя версиями страницы.
Следующая версия | Предыдущая версия | ||
products:laboratory_iot_c:exp22 [2024/12/03 18:00] – создано labuser30 | products:laboratory_iot_c:exp22 [2024/12/03 18:36] (текущий) – [Программный код эксперимента] labuser30 | ||
---|---|---|---|
Строка 16: | Строка 16: | ||
==== Программный код эксперимента ==== | ==== Программный код эксперимента ==== | ||
- | < | + | < |
- | from machine import Pin, PWM | + | #define SPEAKER_PIN 15 |
- | import time | + | |
- | _init() | + | |
- | tones = { | + | int tones[8] = {262, 294, 330, 349, 392, 440, 494, 523}; |
- | ' | + | |
- | ' | + | |
- | ' | + | |
- | ' | + | |
- | ' | + | |
- | ' | + | |
- | ' | + | |
- | ' | + | |
- | } | + | |
- | speaker = PWM(Pin(15, Pin.OUT)) | + | enum {c, d, e, f, g, a, b, C}; |
- | speaker.duty(512) | + | void setup() { |
- | + | pinMode(SPEAKER_PIN, | |
- | speaker.freq(tones['c']) | + | analogWriteRange(1024); |
- | time.sleep(1) | + | analogWrite(SPEAKER_PIN, |
- | speaker.freq(tones['f']) | + | } |
- | time.sleep(1) | + | |
- | speaker.freq(tones['b']) | + | void loop() { |
- | time.sleep(1) | + | analogWriteFreq(tones[c]); |
- | + | delay(1000); | |
- | speaker.duty(0) | + | |
+ | delay(1000); | ||
+ | | ||
+ | delay(1000); | ||
+ | } | ||
</ | </ | ||
- | Объявляем //словарь// '' | + | Объявляем //массив// '' |
- | + | ||
- | Обращение к элементам словаря происходит аналогично элементам массива, но вместо индекса указывается имя элемента, ключ | + | |
- | + | ||
- | Приведенная программа проигрывает 3 ноты До, Фа и Си, каждую в течение секунды, после чего | + | |
- | <WRAP center round info 60%> | + | Приведенная программа проигрывает по кругу 3 ноты До, Фа и Си. |
- | [[https:// | + | |
- | </ | + | |
==== Дополнительное задание ==== | ==== Дополнительное задание ==== |