Баззер пассивный

Баззер или пьезоэлектрический динамик активно используется в проектах, где необходимо подавать звуковой сигнал при смене режимов работы или при оповещении о наступлении какого-либо события, например, в сигнализациях.

Принцип работы

Баззер представляет собой элемент с двумя нормально замкнутыми контактами внутри. Когда в цепи есть электрический ток - катушка создает магнитное поле, под действием которого контакты размыкаются. При размыкании контактов ток перестает течь по цепи и, соответственно, магнитное поле тоже перестает действовать и контакты становятся снова замкнутыми. Возникающие колебания воздуха и есть звук. В отличие от активного баззера, в корпусе которого есть генератор частоты, чтобы извлечь звук определенной частоты из пассивного элемента необходим внешний генератор частоты или программа, генерирующая ШИМ-сигнал. 

Для удобства и простоты использования мы разместили всю схему с необходимой обвязкой на одной плате, к модулю необходимо подключить только питание и выводы контроллера при помощи четырехконтактного разъема. Кроме этого на плате размещен подстроечный резистор, с помощью которого можно регулировать громкость звучания.

Технические характеристики модуля

Рабочее напряжение: 5 В.
Габариты: 38×22 мм

Подключение

Подключение модуля осуществляется с помощью разъема XH-2.54-4P, выводы которого имеют следующие назначения:

VCC - питание (+5V)
PWM - ШИМ сигнал контроллера
NC - не задействован
GND - земля (общий)

Чтобы начать работу с модулем его необходимо подключить к микроконтроллеру по схеме ниже. Для быстрого и надежного подключения используйте QuatroPort A050.

Теперь в контроллер необхиодимо загрузить следующую программу. Алгоритм проигрывает две ноты друг за другом.

#define speaker  9 // Баззер на пине 9

void setup() {
  pinMode(speaker, OUTPUT); 
  // Пин 9 устанавливаем как выход
}

void loop() {
  //Подаем на баззер частоту 587 Гц
  tone(speaker, 587); 
  // Она будет звучать полсекунды
  delay(500); 
  //Подаем на баззер частоту 494 Гц
  tone(speaker, 494); 
  // Она будет звучать 1 секунду
  delay(1000);
  //Отключаем звук 
  noTone(speaker);
  //Тишина 1 секунду
  delay(1000);
}