Код для поиска

ESP32 Урок 13/55 — Звуковой сигнал Arduino с активным зуммером | Обучающий набор SunFounder для ESP32 IoT

ESP32 Урок 13/55 — Звуковой сигнал Arduino с активным зуммером | Обучающий набор SunFounder для ESP32 IoT

В этом руководстве мы научимся управлять активным зуммером с помощью микроконтроллера 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).

Временные метки видео

  • 00:00 Начало
  • 1:45 Введение в программу зуммера
  • 5:57 Подключение зуммера и транзистора S8050
  • 9:57 Код Arduino для зуммера ESP32
  • 12:52 Выбор платы ESP32 и COM-порта
  • 14:05 3.1 Демонстрация проекта зуммера

Изображения

ESP32-13-buzzer-wriing
ESP32-13-buzzer-wriing
ESP32-13-buzzer-schematic
ESP32-13-buzzer-schematic
SunFounder-ESP32-Lesson-13-Beep.mp4_snapshot_07.43.463
SunFounder-ESP32-Lesson-13-Beep.mp4_snapshot_07.43.463
S87050_transistor
S87050_transistor
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 секунду перед началом следующего цикла.
}

Ресурсы и ссылки

Файлы📁