Во ова упатство, ќе научиме како да контролираме активен зумер користејќи 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).
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
}
Disclosure: As an Amazon Associate, we earn from qualifying purchases. This means we may receive a small commission if you click a link and make a purchase at no extra cost to you.