Подключение пищалки к ESP32
Зуммер (активный и пассивный)
Пьезопищалка к ESP32 включается между GPIO и землёй. Пассивной нужен сигнал нужной частоты, активная пищит от постоянного уровня.
Схема подключения пищалки к ESP32
| Пьезопищалка | ESP32 |
|---|---|
| 1 | GPIO25 |
| 2 | GND |
Схема из примера «Звук: одна нота».
Выводы Пьезопищалка
| Вывод | Назначение |
|---|---|
| 1 | плюс (у полярных зуммеров помечен «+») |
| 2 | минус — к GND |
Код для ESP32
const int BUZZER = 25;
const int CHANNEL = 0;
void setup() {
ledcSetup(CHANNEL, 1000, 8);
ledcAttachPin(BUZZER, CHANNEL);
}
void loop() {
ledcWriteTone(CHANNEL, 440); // ля первой октавы
delay(400);
ledcWriteTone(CHANNEL, 0); // тишина
delay(600);
}
Скетч можно править и запускать в симуляторе без платы и установки среды.
Что учесть на ESP32
- Звук формируется аппаратным ШИМ (LEDC) на любом выводе.
- Пьезо берёт единицы миллиампер и подключается напрямую, электромагнитный зуммер включают через транзистор.
В железе
Зуммер на 30 мА и больше — через транзистор: вывод контроллера рассчитан примерно на 20 мА (ESP32 выдаёт до 40 мА, но на пределе).
Частые ошибки при подключении к ESP32
- Подать на пассивную пищалку постоянный уровень: слышен один щелчок, а не тон.
- Электромагнитный зуммер на GPIO без транзистора и диода: ток выше допустимого для вывода.
tone()с активным зуммером — звук хриплый, частота не та: он пищит сам по себе.digitalWrite(HIGH)с пассивным — один щелчок и тишина.- Громкий зуммер прямо на вывод — вывод перегружен, звук тихий.
Ещё по теме
Другие детали для ESP32
HC-SR04DHT22 (AM2302)BME280DS3231SSD1306 OLED 0,96″LCD 1602 с I2CMAX7219TM1637MPU6050 (GY-521)Модуль релеWS2812B (NeoPixel)KY-040Клавиатура 4×4HX711ФоторезисторМодуль microSDRGB-светодиодСервопривод SG9074HC595ИК-приёмник (VS1838B)TFT ST7735 1,8″Шаговый двигательКнопкаПотенциометрСветодиодDS18B20Ползунковый переключательHC-SR501TTP223Датчик влажности почвыMQ-2LM35Джойстик KY-023DHT11HTU21DSN65HVD230