Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
products:laboratory_iot:exp24 [2020/05/17 13:22] labuser29products:laboratory_iot:exp24 [2020/05/18 15:41] (текущий) – [Программный код эксперимента] labuser29
Строка 19: Строка 19:
 ==== Программный код эксперимента ==== ==== Программный код эксперимента ====
 <file python Exp24.py[enable_line_numbers="2", start_line_numbers_at="1"]> <file python Exp24.py[enable_line_numbers="2", start_line_numbers_at="1"]>
 +from machine import Pin, PWM
 +import time
 +_init()
  
 +tempo = 2
 +
 +tones = {
 +    'c': 262,
 +    'd': 294,
 +    'e': 330,
 +    'f': 349,
 +    'g': 392,
 +    'a': 440,
 +    'b': 494,
 +    'C': 523
 +}
 +
 +speaker = PWM(Pin(15, Pin.OUT))
 +
 +melody = 'caagafcccaabgCCddbbagfcaagafCddbbagfcaagaf'
 +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/length)
 +    speaker.duty(0)
 +    time.sleep(tempo/length/4)
 </file> </file>
  
 +В перменной ''melody'' записаны ноты мелодии, а в массиве ''rhythm'' их длительности.
 ==== Дополнительное задание ==== ==== Дополнительное задание ====
 <WRAP center round tip 60%> <WRAP center round tip 60%>