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

Пассивный зуммер

Пассивный зуммер

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

Компоненты

  • Плата Arduino Uno
  • Макетная плата
  • USB кабель
  • NPN транзистор
  • Пассивный зуммер
  • Резистор 1 кОм

Схема

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

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

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

Скетч

Наш скетч будет имитировать предупредительный сигнал при помощи пассивного зуммера. Частота сигнала будет изменяться по синусоиде, как показано ниже:

Для этого мы будем генерировать ШИМ сигнал с разной частотой на выходе D9. Это приведет к соответствующему открыванию и закрыванию транзистора согласно ШИМ сигналу.

int buzzerPin = 9;
float sinVal;
int toneVal;
 
void setup() { 
  pinMode(buzzerPin, OUTPUT);
} 
 
void loop() {
  for (int x = 0; x < 360; x++) {
    sinVal = sin(x * (PI / 180));
    toneVal = 2000 + sinVal * 500;
    tone(buzzerPin, toneVal);
    delay(1);
  }
}

Мы используем цикл, который генерирует звуки частотой 2000 ±500 Гц.

  for (int x = 0; x < 360; x++) {
    sinVal = sin(x * (PI / 180));
    toneVal = 2000 + sinVal * 500;
    tone(buzzerPin, toneVal);
    delay(1);
  }

Параметр функции sin() должен быть задан в радианах, поэтому мы используем число pi для преобразования градусов в радианы.

Функция tone(pin, frequency) создает базовую частоту (50% рабочего цикла).

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

 

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