"Подключение пищалки (BUZZER) к плате Ардуино" Урок № 3

Этот урок посвящён Подключение пищалки (BUZZER) к плате Ардуино

Мы продолжаем курс обучения Ардуино для начинающих.
посмотреть видео на канале YouTube

Предыдущие уроки можно посмотреть здесь.
Урок № 0 - "Введение в программирование Ардуино"
Урок № 0.5  - "Продолжение вводного урока."Первое подключение Ардуино к компьютеру"
Урок № 1  - "Пишем свой первый скетч"
Урок № 2  - "Подключение фоторезистора"

Работа пищалки проста. При подаче напряжения происходит щелчок. Управлять мы будем, подавая на устройство питание, включить-выключить с большой частотой. И вот управляя длительностью и частотой можно добиться разных звуков, например сирены или даже сыграть мелодию.

  • Что ещё можно сделать
  • Включить пищалку от датчика движения (сигнализация)
  • Азбуку Морзе со звуком
  • Метроном
     

Этот урок будет состоять из множества упражнений. 

  • Пищим на одной частоте. Без использования функции tone() .
  • Изучаем функцию tone() Полицейская сирена.
  • Пищим своё имя и мигаем светодиодом. Азбука Морзе
  • Играем мелодию
  • Объединим сразу 3 урока.Если темно, то включаем светодиод и играем мелодию
  • Делаем таймер(millis)

Подключение пищалки

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

Как и у светодиода у пьезоизлучателя 2 вывода + и -
Минус подключаем к земле (GND), 
Плюс – к любому пину с ШИМ(PWM)- широтно-импульсная модуляция.
Сигналы ШИМ могут быть сгенерированы на выводах 3, 5, 6, 9, 10, 11.

Управление аппаратными ШИМ осуществляется с помощью системной функции analogWrite().
Используя функцию analogWrite(), нельзя изменять тональность звука. Пьезоизлучатель всегда будет звучать на частоте примерно 980 Гц.

Широтно-импульсная модуляция (ШИМ) Arduino NANO работает на аналоговых выходах 3, 5, 6, 9, 10, 11 с частотой 488,28 Гц. С помощью функции analogWrite() частота ШИМ изменяется в диапазоне 0 до 255 и соответствует коэффициенту заполнения импульса от 0 до 100 %. 

Мы будем использовать ШИМ-генератор Arduino для генерирования звука на пьезоизлучателе.
Используя стандартную функцию tone() помните:
- может использоваться только на одной ноге Arduino в одно время;
- использование tone() мешает использовать ШИМ на ногах 3 и 11
Используйте данную функцию, когда вам необходима какая-либо частота и не нужен ШИМ на 3 и 11 ножках Arduino.

Функция tone()
 Воспроизведение звука на Ардуино выполняется функцией tone(), где в скобках указывается номер входа и частота звука. Чтобы отключить звук на пьезодинамике необходимо использовать функцию noTone().
Обратите внимание, что если к Ардуино подключены несколько пьезоизлучателей, то единовременно будет работать только один. Чтобы включить излучатель на другом выводе, нужно прервать звук на текущем, вызвав функцию noTone().

Важный момент: функция tone() накладывается на ШИМ сигнал на "3" и "11" выводах Arduino.
Т.е., вызванная, например, для пина "5", функция tone() может мешать работе выводов "3" и "11".
Имейте это в виду, когда будете проектировать свои устройства.

Дополнительные материалы по теме
Музыкальная клавиатура на Ардуино
Динамики ардуино. Подключение динамиков к Arduino
Подключение пищалки (BUZZER) к плате Ардуино
Звуки Ардуино из разных динамиков.
Музыкальная шкатулка. Ардуино
VU METR Музыка в цвете
Мелодии для Ардуино на пищалке. Пример и код.

Примеры.