Компоненты · 3 мин чтения

Активный и пассивный зуммер: что такое зуммер и как им пользоваться

Активный и пассивный зуммер: как их различить, как работает зуммер, подключение к Arduino, функция tone(), частоты нот и пример мелодии.

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

Зуммер
Зуммер 12 мм, который вставляется в макетную плату. Длинная ножка — плюс (+).

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

ХарактеристикаАктивный зуммерПассивный зуммер
Встроенный генераторЕстьНет
Чтобы издать звукДостаточно подать HIGHНужен меандр (частота)
ЗвукОдин постоянный тонЛюбая частота: ноты, мелодии
Команда ArduinodigitalWrite()tone() / noTone()
Для чегоСигнализации, предупреждающий пискМузыка, разные сигналы оповещения

Как понять, активный зуммер или пассивный?

  • Посмотри на дно: у пассивного зуммера снизу обычно видна зелёная плата, а дно активного залито чёрным компаундом.
  • Подай 5 V: активный зуммер пищит непрерывно, а пассивный лишь слабо щёлкает в момент подключения.
  • Измерь мультиметром: катушка пассивного зуммера показывает низкое стабильное сопротивление около 16 Ω, а у активного показания неясные или очень высокие.
  • Проверь наклейку: на активных зуммерах сверху часто есть защитная наклейка с надписью «remove» («снять»).

Подключение зуммера к Arduino

Маленькие зуммеры потребляют около 20–30 mA, поэтому их можно подключать прямо к пину Arduino. Длинную ножку (+) подключи к цифровому пину, например к пину 8, а короткую к GND. Если слишком громко, можно добавить резистор примерно на 100 Ω. Более крупные и мощные зуммеры нужно включать через транзистор.

Ноты и мелодии с tone()

С пассивным зуммером команда tone(pin, frequency, duration) генерирует меандр нужной частоты. У каждой ноты своя частота; например, ля первой октавы (A4) — это 440 Hz:

НотаДо (C4)Ре (D4)Ми (E4)Фа (F4)Соль (G4)Ля (A4)Си (B4)До (C5)
Частота (Hz)262294330349392440494523
C++ (Arduino IDE)
1const int BUZZER_PIN = 8;   // pasif buzzer / passive buzzer
2
3// Do Re Mi Fa Sol La Si Do
4int notes[] = {262, 294, 330, 349, 392, 440, 494, 523};
5
6void setup() {
7  for (int i = 0; i < 8; i++) {
8    tone(BUZZER_PIN, notes[i], 300); // 300 ms çal / play for 300 ms
9    delay(350);                      // notalar arası boşluk / gap between notes
10  }
11  noTone(BUZZER_PIN);                // sesi kapat / stop the sound
12}
13
14void loop() {
15}
С активным зуммером этот код не работает: активный зуммер на каждой ноте звучит одинаково. Для мелодий всегда используй пассивный зуммер.

Частые ошибки

  • Ждать мелодию от активного зуммера: его встроенный генератор выдаёт постоянный тон, и tone() высоту звука не меняет.
  • PWM на пинах 3 и 11 вместе с tone(): на Uno функция tone() использует Timer2, поэтому, пока она играет, analogWrite на этих пинах работает неправильно.
  • Два зуммера одновременно: tone() работает только на одном пине за раз.
  • Перепутанная полярность: длинная ножка — плюс; если подключить наоборот, активный зуммер молчит.

Чтобы сделать пианино на кнопках, начни со статьи Как подключить кнопку к Arduino, а чтобы регулировать высоту звука или громкость ручкой, загляни в статью Что такое потенциометр?.

Частые вопросы

Можно ли подключить зуммер без резистора?

Маленькие зуммеры потребляют 20–30 mA, поэтому их можно подключать прямо к пину. Чтобы сделать звук тише или защитить пин, добавь последовательный резистор 100–220 Ω.

Почему зуммер звучит так тихо?

Если подать на пассивный зуммер HIGH через digitalWrite, звука не будет или раздастся только щелчок; вместо этого используй tone(). Ноты рядом с резонансной частотой зуммера (обычно 2–4 kHz) звучат громче.

Как играть на зуммере с ESP32 и Pico?

На ESP32 с актуальным ядром Arduino работает tone(); в старых версиях используют ledcWriteTone. На Pico с MicroPython достаточно задать частоту PWM, равную частоте ноты, и коэффициент заполнения в половину.

Чем зуммер отличается от динамика?

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

Все проекты
Работа с зуммером
#13Новичок

Работа с зуммером

Интересно, как дверной звонок или сигнализация издают звук? Arduino заставляет маленький зуммер пищать через короткие промежутки: пик, пауза, пик, пауза. Ты видишь, как электричество превращается в зв

4.7(89)
161
Настройка частоты зуммера
#14Средний

Настройка частоты зуммера

Ты управляешь звуком зуммера четырьмя кнопками: одна включает звук, другая выключает, а две оставшиеся делают его выше или ниже. Удерживай кнопку вверх или вниз, и высота звука меняется шаг за шагом,

4.6(69)
118
Гимн Турции на зуммере
#15Средний

Гимн Турции на зуммере

Нажми кнопку, и маленький зуммер начнёт нота за нотой играть Государственный гимн Турции. Arduino играет каждую ноту нужной высоты и длительности, исполняет два куплета гимна от начала до конца и ждёт

4.9(106)
213
Мелодии с ИК-пультом и зуммером
#18Новичок
Premium

Мелодии с ИК-пультом и зуммером

Собери музыкальную шкатулку, которая играет мелодии по кнопкам пульта от телевизора. Инфракрасный приёмник ловит сигнал пульта; одна кнопка играет на зуммере весёлую мелодию из видеоигры, другая — зна

4.8(57)
74
Простое пианино на зуммере и кнопках
#26Продвинутый
Premium

Простое пианино на зуммере и кнопках

Собери своё маленькое пианино из восьми кнопок. Каждая кнопка — одна нота, от низкой к высокой: до, ре, ми, фа, соль, ля, си и верхнее до. Нота звучит через зуммер, пока ты держишь кнопку, и замолкает

4.9(66)
88
Мелодия на зуммере с ESP32
#114Новичок
Premium

Мелодия на зуммере с ESP32

Воспроизведение простой мелодии (Twinkle Twinkle Little Star) на пассивном зуммере. Ноты играются функциями tone() и noTone(), как в Arduino, — ESP32 работает с тем же синтаксисом в Arduino Core 3.0+. Нужен пассивный зуммер (активный мелодию не сыграет).

4.8(30)
55
Тест времени реакции на Arduino со звуковым сигналом: измерь рефлексы в миллисекундах (LCD + зуммер + 3 светодиода)
#97Средний
Premium

Тест времени реакции на Arduino со звуковым сигналом: измерь рефлексы в миллисекундах (LCD + зуммер + 3 светодиода)

Насколько быстрые у тебя рефлексы? Нажми кнопку: красный светодиод говорит приготовиться, жёлтый — внимание, и начинается случайное ожидание от 1,5 до 3,5 секунды. Как только загорится зелёный светодиод и пискнет зуммер, нажми снова; время реакции в миллисекундах появится на I2C LCD, а под ним — лучший и средний результат сессии. Нажмёшь до зелёного — на экране TOO EARLY! и звук проигрыша. Удержание кнопки — новый игрок, и у всех одинаковый порядок ожиданий.

4.6(33)
50