Search Code

ESP32 Упатство 13/55 - Ардуино звучен сигнал со активен зумер | SunFounder's ESP32 IoT комплет за учење

ESP32 Упатство 13/55 - Ардуино звучен сигнал со активен зумер | SunFounder's 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 V
Номинален напон 5 V
Максимална струја 30 mA
Фреквенција на осцилација 2700 ± 300 Hz

 

  • Користете отпорник од 1 kΩ за да ја ограничите струјата до базата на транзисторот.
  • Осигурете се дека активниот зумер е правилно поврзан со позитивниот и негативниот терминал.
  • Проверете ги повторно пиновите за поврзување за да спречите кратки споеви.
  • Користете лебна плоча за полесно поврзување и прилагодување.
  • Зумерот може да работи и на 3.3V и на 5V, но напојувајте го според потребите на вашето коло.

Инструкции за поврзување

ESP32-13-buzzer-wriing

За да ги поврзете компонентите, започнете со вметнување на активниот зумер во лебната плоча. Поврзете го позитивниот терминал на зумерот со 3.3V пинот на ESP32. Негативниот терминал на зумерот треба да биде поврзан со колекторскиот пин на S8050 транзисторот. Следно, вметнете го S8050 транзисторот во лебната плоча, осигурувајќи се дека рамната страна е свртена кон вас. Левиот пин (колектор) се поврзува со негативниот терминал на зумерот, средниот пин (база) се поврзува со отпорник од 1 kΩ, а десниот пин (емитер) се поврзува со земјата.

Сега, земете го другиот крај на отпорникот од 1 kΩ и поврзете го со 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 Демонстрација на проектот со зумер

Images

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
Language: C++
const int buzzerPin = 14; // the buzzer pin

void setup()
{
  pinMode(buzzerPin, OUTPUT); // Set as output
}

void loop()
{
  for (int i = 0; i < 50; i++) // Loop 50 times and play a short tone each time
  {
    digitalWrite(buzzerPin, HIGH); // Set to HIGH to make the buzzer sound
    delay(3); // Wait for 3 milliseconds
    digitalWrite(buzzerPin, LOW); // LOW to turn off the buzzer
    delay(3); // 
  }
  delay(1000); // Wait for 1s before starting the next loop
}

Resources & references

Files📁

Datasheet (pdf)