Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
| products:laboratory_iot:exp24 [2020/05/17 12:51] – [Дополнительное задание] labuser29 | products:laboratory_iot:exp24 [2020/05/18 15:41] (текущий) – [Программный код эксперимента] labuser29 | ||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| + | ===== Эксперимент 24. Музыкальный автомат ===== | ||
| + | |||
| + | Теперь создадим настоящий музыкальный автомат. Мы подготовим для него запись мелодии, | ||
| + | |||
| + | {{ : | ||
| + | // | ||
| + | |||
| + | Если ты не разбираешься в музыкальной грамоте, | ||
| + | |||
| + | |||
| + | ==== Схема эксперимента ==== | ||
| + | |||
| + | {{ : | ||
| + | // | ||
| + | |||
| + | {{ : | ||
| + | // | ||
| + | |||
| ==== Программный код эксперимента ==== | ==== Программный код эксперимента ==== | ||
| + | <file python Exp24.py[enable_line_numbers=" | ||
| + | from machine import Pin, PWM | ||
| + | import time | ||
| + | _init() | ||
| - | <file python Exp24.py[enable_line_numbers="2", start_line_numbers_at=" | + | tempo = 2 |
| - | < | + | tones = { |
| + | ' | ||
| + | ' | ||
| + | ' | ||
| + | ' | ||
| + | ' | ||
| + | ' | ||
| + | ' | ||
| + | ' | ||
| + | } | ||
| + | speaker = PWM(Pin(15, Pin.OUT)) | ||
| + | |||
| + | melody = ' | ||
| + | rhythm = [8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 3, 8, 8, 8, 8, 8, 8, 8, | ||
| + | 8, 8, 8, 8, 8, 8, 3, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 3, 2] | ||
| + | |||
| + | for tone, length in zip(melody, rhythm): | ||
| + | speaker.duty(512) | ||
| + | speaker.freq(tones[tone]) | ||
| + | time.sleep(tempo/ | ||
| + | speaker.duty(0) | ||
| + | time.sleep(tempo/ | ||
| + | </ | ||
| + | |||
| + | В перменной '' | ||
| ==== Дополнительное задание ==== | ==== Дополнительное задание ==== | ||
| <WRAP center round tip 60%> | <WRAP center round tip 60%> | ||
| * Попробуй записать и воспроизвести другую мелодию, | * Попробуй записать и воспроизвести другую мелодию, | ||
| - | </WRAP> | + | </ |
| + | |||