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

Пьезоизлучатель — это простое устройство, которое может издавать звуки различной частоты. В этом уроке вы узнаете, как подключить и использовать buzzer (пищалку) с Ардуино, научитесь управлять частотой, создавать звуковые сигналы, сирены и даже мелодии.

Как работает пьезоизлучатель

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

  • Пищалка щёлкает при подаче напряжения.
  • Если быстро включать и выключать питание, получится звук определённой частоты.
  • Изменяя частоту и длительность, можно создавать разные звуковые эффекты — от сигнализации до мелодий и азбуки Морзе.

Что можно сделать с помощью пьезоизлучателя

  • Сигнализация — включение пищалки от датчика движения.
  • Передача сообщений с помощью азбуки Морзе.
  • Создание метронома для музыкантов.

План урока

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

  • Пищим на одной частоте (без функции tone()).
  • Изучаем функцию tone() — создаём полицейскую сирену.
  • Создаём звуковой Морзе с мигающим светодиодом.
  • Играем простую мелодию.
  • Комбинируем звук, свет и датчик освещения (если темно — включаем мелодию и светодиод).
  • Создаём таймер с использованием millis().

Схема подключения

Как и у светодиода, у пьезоизлучателя два вывода — плюс и минус. Минус подключается к GND, плюс — к любому пину с поддержкой PWM (широтно-импульсной модуляции): 3, 5, 6, 9, 10, 11.

Подключение пищалки (BUZZER) к Ардуино

Как работает ШИМ (PWM) в Arduino

Управление звуком выполняется через функцию analogWrite(), которая генерирует широтно-импульсную модуляцию (ШИМ). Частота ШИМ на плате Arduino Nano составляет примерно 488 Гц, а значение analogWrite() изменяется от 0 до 255, что соответствует коэффициенту заполнения импульсов от 0 до 100%.

Однако при использовании analogWrite() частота звука остаётся фиксированной (~980 Гц), и вы не сможете менять тональность. Для этого существует специальная функция tone().

Использование функции tone()

tone(pin, frequency) — воспроизводит звук на указанном пине (pin) с заданной частотой (frequency). Чтобы отключить звук, используется функция noTone(pin).

Особенности:

  • Функция tone() может работать только с одним пином одновременно.
  • Использование tone() мешает работе ШИМ на пинах 3 и 11.
  • Перед активацией другого излучателя следует вызвать noTone().

Важно: если вы вызываете tone() для пина 5, она всё равно может влиять на работу выводов 3 и 11. Учитывайте это при проектировании своих схем.

Заключение

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

FAQ — Пищалка (BUZZER) для Arduino

Можно ли подключить несколько пищалок одновременно?

Можно, но одновременно будет работать только одна, так как функция tone() поддерживает один активный канал.

Почему пищалка не издаёт звук при использовании analogWrite()?

Функция analogWrite() управляет коэффициентом заполнения импульсов (duty cycle), а не частотой сигнала. Поэтому тон остаётся постоянным. Для изменения частоты используйте tone().

Какие пины лучше использовать для buzzer?

Любой пин с поддержкой PWM: 3, 5, 6, 9, 10, 11. Однако избегайте пинов 3 и 11 при использовании tone(), чтобы избежать конфликтов с аппаратным ШИМ.

Можно ли воспроизводить мелодии через buzzer?

Да, можно использовать массив частот и длительностей, чтобы проигрывать последовательность звуков (мелодии) через tone().

Как уменьшить громкость звука?

Можно использовать резистор (100–300 Ом) последовательно с buzzer, чтобы снизить громкость и нагрузку на пин Arduino.