Занятие 43-44

Ардуино-пианино

Самым простым вариантом генерации звука является использование пьезоизлучателя. Пьезокерамические излучатели (пьезоизлучатели) – электроакустические устройства воспроизведения звука, использующие обратный пьезоэлектрический эффект – возникновение механических деформаций под действием электрического поля. Пьезоизлучатели бывают двух типов – со встроенным генератором и без. Пьезоизлучатели со встроенным генератором излучают фиксированный тональный сигнал сразу после подачи на них номинального напряжения. Они не могут воспроизводить произвольного сигнала. Их обычно используют для простого звукового оповещения. Если требуется проиграть мелодию, то используют пьезоизлучатели без встроенного генератора и генерируют сигнал отдельно. В эксперименте мы используем пьезоизлучатель без встроенного генератора. Схема подключения пьезоизлучателя показана на рисунке:

Чтобы воспроизвести мелодию с нот, необходимо знать названия нот:

и длительности нот:

На следующем рисунке представлен "нотный алфавит"  - все значения частоты звучания пьезоизлучателя, соответствующие стандартным нотам. Например, С – это «до» на 1 октаве, а с – это «до» на 2 октаве и так далее. Этот нотный «алфавит» был написан Бреттом Хэгменом (Brett Hagman), и функция tone() основана именно на его работе.

В мелодии еще важно определить длительности звучания нот:

Давайте напишем программу для озвучивания простой мелодии песни "Во поле береза стояла"

Распишем названия (по алфавиту) и длительности нот: 

А теперь осталось поставить в соответствие нотам их частоты и проитграть мелодию. Для проигрывания нот будем использовать два массива: melody[]  - частоты нот и   DLIT[] - длительности нот мелодии.

Задание: напишите для Ардуино-пианино любой другой мелодии.