Этот урок посвящён Подключение пищалки (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 Музыка в цвете
Мелодии для Ардуино на пищалке. Пример и код.
Примеры.