Показаны различия между двумя версиями страницы.
| Следующая версия | Предыдущая версия | ||
| 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:// | + | |
| - | </ | + | |
| ==== Дополнительное задание ==== | ==== Дополнительное задание ==== | ||