Звуки зуммера с помощью LEDC
Ваш ESP32 уже умеет мигать светодиодом и плавно менять его яркость с помощью ШИМ. В этом уроке вы заставите его петь. Вы узнаете разницу между двумя типами зуммеров, поймёте, почему звук — это на самом деле просто колебания с определённой скоростью, и как встроенное в ESP32 оборудование LEDC превращает числа в музыкальные ноты, сирены и сигналы тревоги.
Главная идея
Пассивный зуммер — это, по сути, крошечный громкоговоритель. Сам по себе он не умеет издавать звук — он вибрирует только тогда, когда вы очень быстро гоняете через него электричество туда-сюда. Если включать и выключать напряжение 440 раз в секунду, маленькая металлическая пластинка внутри толкает воздух 440 раз в секунду, и ваше ухо слышит музыкальную ноту ля (A4) (ту самую «ля», по которой настраивается оркестр).
Число включений/выключений в секунду называется частотой и измеряется в герцах (Гц). Измените частоту — и изменится высота звука (насколько высоко или низко звучит нота). В ESP32 есть аппаратный таймерный модуль под названием LEDC, способный формировать идеально ровный сигнал включения/выключения на любой заданной вами частоте. Так что создание музыки — это, по сути, всего лишь указание LEDC, какую частоту играть и как долго.
Чему вы научитесь
- Отличать активный зуммер от пассивного и выбирать подходящий для задачи.
- Объяснять, как частота создаёт высоту звука, и читать таблицу «нота — частота».
- Проигрывать одиночный тон с помощью
ledcAttachиledcWriteTone. - Управлять громкостью через скважность и корректно останавливать звук.
- Проигрывать целую мелодию из массивов нот и длительностей, включая паузы и темп.
- Строить сигналы тревоги: сирену и звуковые коды.
- Безопасно управлять более громким зуммером с помощью транзистора.
- Устранять неполадки при отсутствии звука и искажениях.