Перейти к содержанию

Начало урока

Звуки зуммера с помощью LEDC

Ваш ESP32 уже умеет мигать светодиодом и плавно менять его яркость с помощью ШИМ. В этом уроке вы заставите его петь. Вы узнаете разницу между двумя типами зуммеров, поймёте, почему звук — это на самом деле просто колебания с определённой скоростью, и как встроенное в ESP32 оборудование LEDC превращает числа в музыкальные ноты, сирены и сигналы тревоги.

Главная идея

Пассивный зуммер — это, по сути, крошечный громкоговоритель. Сам по себе он не умеет издавать звук — он вибрирует только тогда, когда вы очень быстро гоняете через него электричество туда-сюда. Если включать и выключать напряжение 440 раз в секунду, маленькая металлическая пластинка внутри толкает воздух 440 раз в секунду, и ваше ухо слышит музыкальную ноту ля (A4) (ту самую «ля», по которой настраивается оркестр).

Число включений/выключений в секунду называется частотой и измеряется в герцах (Гц). Измените частоту — и изменится высота звука (насколько высоко или низко звучит нота). В ESP32 есть аппаратный таймерный модуль под названием LEDC, способный формировать идеально ровный сигнал включения/выключения на любой заданной вами частоте. Так что создание музыки — это, по сути, всего лишь указание LEDC, какую частоту играть и как долго.

Чему вы научитесь
  • Отличать активный зуммер от пассивного и выбирать подходящий для задачи.
  • Объяснять, как частота создаёт высоту звука, и читать таблицу «нота — частота».
  • Проигрывать одиночный тон с помощью ledcAttach и ledcWriteTone.
  • Управлять громкостью через скважность и корректно останавливать звук.
  • Проигрывать целую мелодию из массивов нот и длительностей, включая паузы и темп.
  • Строить сигналы тревоги: сирену и звуковые коды.
  • Безопасно управлять более громким зуммером с помощью транзистора.
  • Устранять неполадки при отсутствии звука и искажениях.

Продолжите этот урок на YourAIZone

В полном уроке — объяснение целиком, разобранные примеры, частые ошибки, тесты с мгновенной проверкой и ИИ-репетитор. Начните сразу как гость или создайте аккаунт, чтобы сохранять прогресс.

В полном уроке

  • Объяснение целиком
  • Разобранные примеры
  • Частые ошибки и как их избежать
  • Тестовые вопросы: 15
  • ИИ-репетитор, который отвечает на вопросы по теме
  • Отслеживание прогресса для ученика, родителей и учителя