В этом руководстве мы научимся управлять активным зуммером с помощью микроконтроллера ESP32 и транзистора. Проект включает включение и выключение зуммера, создавая звуковой сигнал. Благодаря встроенным возможностям Wi-Fi и Bluetooth ESP32, в будущем вы сможете расширить этот проект до более сложных IoT-приложений.
Компоненты, которые мы будем использовать, включают плату ESP32, активный зуммер, транзистор (S8050) и резистор. Правильно подключив эти компоненты, мы сможем управлять звуком зуммера через ESP32. Кроме того, мы предоставим краткий обзор подключения и кода, необходимых для запуска этого проекта. Для дальнейших разъяснений обязательно посмотрите видео, сопровождающее это руководство (на видео в 00:00).
S87050_transistor
Объяснение аппаратной части
Основные компоненты этого проекта включают микроконтроллер ESP32, активный зуммер и транзистор S8050. ESP32 — это мощный микроконтроллер с поддержкой Wi-Fi и Bluetooth, что позволяет реализовать широкий спектр IoT-проектов. Активный зуммер генерирует звук при подаче напряжения, а транзистор S8050 действует как переключатель для управления зуммером с помощью низковольтного сигнала от ESP32.
Транзистор имеет три вывода: коллектор, базу и эмиттер. Когда напряжение подается на вывод базы через резистор, это позволяет току течь от коллектора к эмиттеру, тем самым питая зуммер. Такая схема обеспечивает безопасное управление зуммером без перегрузки выводов GPIO ESP32.
ESP32-13-buzzer-schematic
Данные из технического описания
Производитель
SunFounder
Номер детали
TMBB 12 A05
Рабочее напряжение
3–8 В
Номинальное напряжение
5 В
Максимальный ток
30 мА
Частота колебаний
2700 ± 300 Гц
Используйте резистор 1 кОм для ограничения тока на базе транзистора.
Убедитесь, что активный зуммер подключен правильно, с учетом положительного и отрицательного выводов.
Перепроверьте подключения выводов, чтобы избежать коротких замыканий.
Используйте макетную плату для более удобных подключений и настроек.
Зуммер может работать как при 3,3 В, так и при 5 В, но питайте его в соответствии с потребностями вашей схемы.
Инструкции по подключению
ESP32-13-buzzer-wriing
Чтобы подключить компоненты, начните с установки активного зуммера на макетную плату. Подключите положительный вывод зуммера к контакту 3,3 В на ESP32. Отрицательный вывод зуммера следует подключить к выводу коллектора транзистора S8050. Затем вставьте транзистор S8050 в макетную плату, убедившись, что плоская сторона обращена к вам. Левый вывод (коллектор) подключается к отрицательному выводу зуммера, средний вывод (база) — к резистору 1 кОм, а правый вывод (эмиттер) — к земле.
Теперь возьмите другой конец резистора 1 кОм и подключите его к контакту GPIO 14 на ESP32. Наконец, подключите вывод эмиттера транзистора к шине заземления на макетной плате. Убедитесь, что все соединения надежны, и перепроверьте правильность расположения выводов перед подачей питания на схему.
Примеры кода и пояснения
Вот краткий обзор кода, управляющего зуммером. Сначала мы определяем вывод, подключенный к зуммеру:
const int buzzerPin = 14; // вывод зуммера
Эта строка задает переменную buzzerPin для обозначения контакта 14 на ESP32, который используется для управления зуммером.
Затем мы устанавливаем вывод зуммера как выход в функции setup():
void setup()
{
pinMode(buzzerPin, OUTPUT); // Установить как выход
}
Это гарантирует, что ESP32 знает, что нужно использовать контакт 14 для отправки сигналов включения и выключения зуммера.
В функции loop() мы создаем цикл for для многократной активации зуммера:
for (int i = 0; i < 50; i++) // Цикл 50 раз и воспроизведение короткого тона каждый раз
{
digitalWrite(buzzerPin, HIGH); // Установить HIGH, чтобы зуммер звучал
delay(3); // Подождать 3 миллисекунды
digitalWrite(buzzerPin, LOW); // LOW для выключения зуммера
delay(3); //
}
Этот цикл заставит зуммер пищать 50 раз, каждый сигнал длится 3 миллисекунды. После завершения цикла следует пауза в 1 секунду перед повторением.
Демонстрация / Что ожидать
Если подключение и код настроены правильно, подача питания на ESP32 должна активировать зуммер, издавая серию звуковых сигналов. Если зуммер не звучит, проверьте соединения, особенно ориентацию транзистора и резистора. Убедитесь, что в коде используется правильный контакт GPIO и что питание достаточное (на видео в 01:30).
812-ESP32 Tutorial 13/55- Arduino code for controlling buzzer
Язык: C++
const int buzzerPin = 14; // пин сигнала
void setup()
{
pinMode(buzzerPin, OUTPUT); // Установить как вывод
}
void loop()
{
for (int i = 0; i < 50; i++) // Проведите 50 циклов и воспроизводите короткий звук каждый раз.
{
digitalWrite(buzzerPin, HIGH); // Установите на ВЫСОКИЙ уровень, чтобы издать звук сигнализации.
delay(3); // Подождите 3 миллисекунды
digitalWrite(buzzerPin, LOW); // НИЗКИЙ для отключения зуммера
delay(3);
}
delay(1000); // Подождите 1 секунду перед началом следующего цикла.
}
Раскрытие: Как партнер Amazon, мы зарабатываем на квалифицированных покупках. Это означает, что мы можем получить небольшую комиссию, если вы нажмете на ссылку и совершите покупку без дополнительных затрат для вас.