logo
+7 (951) 999-89-94
428003, г. Чебоксары, ул. Федора Гладкова, д.9, оф.319
04.05.2019

Активный зуммер

Активный зуммер

В этой статье мы поговорим зуммерах (пищалках), они бывают двух типов: активные и пассивные. Сначала разберём работу активного зуммера.

Компоненты

  • Плата Arduino Uno
  • Макетная плата
  • USB кабель
  • NPN транзистор
  • Активный зуммер
  • Тактовая кнопка
  • Резистор 1 кОм
  • Резистор 10 кОм (2 шт.)

Зуммер (Buzzer)

Зуммер — это электронный компонент для воспроизведения простых звуков. Активный зуммер содержит генератор, поэтому он издает звук всегда, когда на него подано напряжение. В отличие от активного, в пассивном зуммере нет такого генератора, поэтому для работы ему необходим внешний.

Активный зуммер легко использовать, но он может издавать звук только одной частоты. Для генерации звука через пассивный зуммер необходимо формировать ШИМ сигнал, но это позволяет регулировать звуки, которые он издает. Громче всего пассивный зуммер звучит на частоте 2 кГц.

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

Вариант управления зуммером при помощи NPN транзистора. Если на выходе Arduino сигнал высокого уровня, ток будет течь через R1, транзистор будет открыт и зуммер будет издавать звук. Если на выходе Arduino сигнал низкого уровня, то ток не проходит через R1, транзистор будет закрыт и зуммер не будет издавать звук.

Вариант управления зуммером при помощи PNP транзистора. Если на выходе Arduino сигнал низкого уровня, ток будет течь через R1, транзистор будет открыт и зуммер будет издавать звук. Если на выходе Arduino сигнал высокого уровня, то ток не проходит через R1, транзистор будет закрыт и зуммер не будет издавать звук.

Схема

В этом примере мы будем использовать вывод D12 Arduino для чтения состояния кнопки и вывод D9 для включения активного зуммера.

Принципиальная схема

Соединение компонентов

Скетч

Теперь код скетча управления активным зуммером.

int buttonPin = 12;
int buzzerPin = 9;
 
void setup() { 
  pinMode(buttonPin, INPUT);
  pinMode(buzzerPin, OUTPUT);
} 
 
void loop() { 
  if (digitalRead(buttonPin) == HIGH) {
    digitalWrite(buzzerPin, LOW);
  } else {
    digitalWrite(buzzerPin, HIGH);
  }
} 

Как только мы нажимаем кнопку, то на выводе D9 появляется высокий уровень сигнала, открывается транзистор и зуммер издает звук.

Скомпилируйте скетч, загрузите его на плату Arduino и проверьте как работает программа.

 

Предыдущий урок | В начало | Следующий урок