Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
products:laboratory_iot:exp24 [2020/05/17 12:53] – labuser29 | products:laboratory_iot:exp24 [2020/05/18 15:41] (текущий) – [Программный код эксперимента] labuser29 | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | ==== Схема эксперимента ==== | + | ===== Эксперимент |
- | {{ : | + | Теперь создадим настоящий музыкальный автомат. Мы подготовим для него запись мелодии, а он будет ее воспроизводить. Возьмем всем известную мелодию "В лесу родилась ёлочка" |
- | //Рисунок 1. Электрическая принципиальная схема эксперимента// | + | |
- | Сигнал от ШИМ генератора подается на базу транзистора VT1. Сигнал подается через резистор R1, чтобы | + | {{ : |
+ | //Рисунок | ||
- | <WRAP center round alert 60%> | + | Если ты не разбираешься в музыкальной грамоте, то не беда. Эксперимент получится и без этого, ведь мы уже перевели |
- | Токоограничительный резистор R2 необходим, чтобы динамик | + | |
- | </ | + | |
+ | |||
+ | ==== Схема эксперимента ==== | ||
+ | |||
+ | {{ : | ||
+ | // | ||
{{ : | {{ : | ||
Строка 15: | Строка 18: | ||
==== Программный код эксперимента ==== | ==== Программный код эксперимента ==== | ||
+ | <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> | + | </ |
+ |