Это старая версия документа!


Эксперимент 22. Ноты

В музыке каждой ноте соответствует строго определенная частота, или как говорят музыканты — тон. Также у каждой ноты есть обозначение на нотном стане и буквенный код. Например тона Ля обозначается как A.

Не будем сильно вдаваться в музыкальную теорию так как это не является предметом нашего курса. Просто примем эти обозначения, соберем схему и составим программу для воспроизведения нот.

Схема эксперимента

Рисунок 1. Электрическая принципиальная схема эксперимента

Рисунок 2. Монтажная схема эксперимента

Программный код эксперимента

Exp25.py
  1. from machine import Pin, PWM
  2. import time
  3. _init()
  4.  
  5. tones = {
  6. 'c': 262,
  7. 'd': 294,
  8. 'e': 330,
  9. 'f': 349,
  10. 'g': 392,
  11. 'a': 440,
  12. 'b': 494,
  13. 'C': 523
  14. }
  15.  
  16. speaker = PWM(Pin(15, Pin.OUT))
  17.  
  18. speaker.duty(512)
  19.  
  20. speaker.freq(tones['c'])
  21. time.sleep(1)
  22. speaker.freq(tones['f'])
  23. time.sleep(1)
  24. speaker.freq(tones['b'])
  25. time.sleep(1)
  26.  
  27. speaker.duty(0)

Объявляем словарь tones для записи нот и изначений их частоты. Словарь очень похож на массив, но вместо числовых индеков в нем используются имена элементов. В нашем случае это названия нот, а значения — их частота. Словарь объявляется с помощью фигурных скобок {}, внутри которых следуют пары ключ : значение, перечисленные через запятую.

Дополнительное задание

  • Измени код программы, чтобы получить другие цифры на дисплее.