În acest tutorial, vom învăța cum să controlăm un buzzer activ folosind un microcontroller ESP32 și un tranzistor. Proiectul implică pornirea și oprirea buzzer-ului, creând un sunet de bip. Datorită capabilităților Wi-Fi și Bluetooth integrate ale ESP32, puteți extinde acest proiect în aplicații IoT mai complexe în viitor.
Componentele pe care le vom folosi includ placa ESP32, un buzzer activ, un tranzistor (S8050) și un rezistor. Conectând corect aceste componente, putem controla sunetul buzzer-ului prin ESP32. În plus, vom oferi o scurtă prezentare a cablajului și codului necesare pentru a pune acest proiect în funcțiune. Pentru clarificări suplimentare, asigurați-vă că verificați videoclipul care însoțește acest tutorial (în videoclip la 00:00).
S87050_transistor
Hardware Explicat
Componentele principale ale acestui proiect includ microcontrollerul ESP32, buzzer-ul activ și tranzistorul S8050. ESP32 este un microcontroller puternic, având atât Wi-Fi, cât și Bluetooth, permițând o gamă largă de proiecte IoT. Buzzer-ul activ generează sunet atunci când i se aplică o tensiune, în timp ce tranzistorul S8050 acționează ca un comutator pentru a controla buzzer-ul cu un semnal de joasă tensiune de la ESP32.
Tranzistorul are trei pini: colector, bază și emitor. Când se aplică o tensiune la pinul bazei printr-un rezistor, aceasta permite curentului să curgă de la colector la emitor, alimentând astfel buzzer-ul. Această configurație asigură că putem controla buzzer-ul în siguranță, fără a supraîncărca pinii GPIO ai ESP32.
ESP32-13-buzzer-schematic
Detalii din Fișa Tehnică
Producător
SunFounder
Număr de piesă
TMBB 12 A05
Tensiune de operare
3–8 V
Tensiune nominală
5 V
Curent maxim
30 mA
Frecvență de oscilație
2700 ± 300 Hz
Folosiți un rezistor de 1 kΩ pentru a limita curentul către baza tranzistorului.
Asigurați-vă că buzzer-ul activ este conectat corect, cu bornele pozitivă și negativă.
Verificați de două ori conexiunile pinilor pentru a preveni scurtcircuitele.
Folosiți o breadboard pentru conexiuni și ajustări mai ușoare.
Buzzer-ul poate funcționa atât la 3.3V, cât și la 5V, dar alimentați-l conform nevoilor circuitului dumneavoastră.
Instrucțiuni de Cablare
ESP32-13-buzzer-wriing
Pentru a cabla componentele, începeți prin a introduce buzzer-ul activ în breadboard. Conectați borna pozitivă a buzzer-ului la pinul de 3.3V de pe ESP32. Borna negativă a buzzer-ului trebuie conectată la pinul colector al tranzistorului S8050. Apoi, introduceți tranzistorul S8050 în breadboard, asigurându-vă că partea plată este îndreptată spre dumneavoastră. Pinul din stânga (colector) se conectează la borna negativă a buzzer-ului, pinul din mijloc (bază) se conectează la un rezistor de 1 kΩ, iar pinul din dreapta (emitor) se conectează la masă.
Acum, luați celălalt capăt al rezistorului de 1 kΩ și conectați-l la pinul GPIO 14 de pe ESP32. În final, conectați pinul emitor al tranzistorului la linia de masă de pe breadboard. Asigurați-vă că toate conexiunile sunt sigure și verificați de două ori alinierea pinilor înainte de a alimenta circuitul.
Exemple de Cod & Explicații
Iată o scurtă prezentare a codului care controlează buzzer-ul. În primul rând, definim pinul conectat la buzzer:
const int buzzerPin = 14; // pinul buzzer-ului
Această linie configurează variabila buzzerPin pentru a se referi la pinul 14 de pe ESP32, care este folosit pentru a controla buzzer-ul.
Apoi, setăm pinul buzzer-ului ca ieșire în funcția setup():
void setup()
{
pinMode(buzzerPin, OUTPUT); // Setat ca ieșire
}
Acest lucru asigură că ESP32 știe să folosească pinul 14 pentru a trimite semnale pentru a porni și opri buzzer-ul.
În funcția loop(), creăm o buclă for pentru a activa buzzer-ul de mai multe ori:
for (int i = 0; i < 50; i++) // Buclă de 50 de ori și redă un ton scurt de fiecare dată
{
digitalWrite(buzzerPin, HIGH); // Setat la HIGH pentru a face buzzer-ul să sune
delay(3); // Așteaptă 3 milisecunde
digitalWrite(buzzerPin, LOW); // LOW pentru a opri buzzer-ul
delay(3); //
}
Această buclă va face buzzer-ul să emită 50 de bipuri, fiecare bip durând 3 milisecunde. După finalizarea buclei, există o întârziere de 1 secundă înainte de repetare.
Demonstrație / Ce să Vă Așteptați
Când cablajul și codul sunt configurate corect, alimentarea ESP32 ar trebui să activeze buzzer-ul, producând o serie de bipuri. Dacă buzzer-ul nu sună, verificați conexiunile, în special orientarea tranzistorului și a rezistorului. Asigurați-vă că pinul GPIO corect este folosit în cod și că sursa de alimentare este adecvată (în videoclip la 01:30).
812-ESP32 Tutorial 13/55- Arduino code for controlling buzzer
Limba: 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
}
Divulgare: Ca asociat Amazon, câștigăm din achizițiile eligibile. Aceasta înseamnă că putem primi un mic comision dacă dai clic pe un link și faci o achiziție fără costuri suplimentare pentru tine.