С помощью Arduino Вы можете выполнять много разной интерактивной работы. Все предыдущие эксперименты были вокруг простейшего применения обычных светодиодов. Теперь займемся воспроизводством звука.
Обычно звук производится с помощью зуммера или звукового динамика. С помощью зуммера, пьезодинамика, это сделать проще всего. В этом эксперименте мы применим так называемый пассивный пьезодинамик (passive buzzer). Пассивный он потому, что не может пищать сам по себе, когда его подключают к источнику тока. Заставить его звучать можно подав импульсных сигнал определенной частоты. Частота импульсов определяет частоту звука: чем чаще импульсы, тем выше звук.
Необходимые компоненты
- Пассивный зуммер-пищалка 1шт.
- Пара проводов-перемычек
Схема сборки
Возьмем схему из предыдущего эксперимента, с активным зуммером, и просто заменим активный зуммер на пассивный.

Скетч
Загрузим вот этой скетч:
/**
* (C) jarduino.ru 2019
* Изучение ардуино через опыты.
*
* Эксперимент №8. Пассивный зуммер
* Извлекаем звуки различной высоты.
*/
int pibBuzzer = 8; // пин для подключения зуммера
void setup()
{
pinMode(pibBuzzer, OUTPUT); // включаем пин зуммера на вывод
}
void loop()
{
byte i;
// воспроизвести звук
for (i = 0; i < 100; i++)
{
digitalWrite(pibBuzzer, HIGH); // включить звук
delay(1); // задержка в 1 мсек.
digitalWrite(pibBuzzer, LOW); // выключить звук
delay(1); // задержка в 1 мсек.
}
// Частота звука зависит от продолжительности задержки при включении и выклюении питания зуммера
// аналогичный цикл, но с частотой в 2 раза меньше:
for (i = 0; i < 50; i++)
{
digitalWrite(pibBuzzer, HIGH);
delay(2);
digitalWrite(pibBuzzer, LOW);
delay(2);
}
}
Результат
Зуммер сразу же начнет пищать, переключая в цикле свою частоту с высокого на низкую.
Объяснения
Данная программа в бесконечном цикле делает следующее:
- Заданное число раз подает на зуммер импульс по 1 миллисекунде,
- затем – по 2 миллисекунде.
В первой фазе мы слышим звук заметно выше, чем во второй, поскольку частота импульсов выше в 2 раза.
Вы можете самостоятельно поэкспериментировать с временной задержкой, добившись звуков различной частоты.
Заключение
В этом эксперименте вы научились воспроизводить звук различной частоты.
Теперь вы можете сыграть на Aerduino целую мелодию. ))
Тут мы не использовали никакой библиотеки для проигрывания мелодий, чтобы объяснить принцип, – мы сами генерировали звук нужной частоты. В действительности, для проигрывания звуков и мелодий проще использовать специальные библиотеки.
В будущих экспериментах мы непременно сыграем мелодию посложнее и даже соберем на Ардуино маленькую электронную пианино.