Caută cod

Tutorial ESP32 13/55 - Sunet Beep cu Buzzer Activ în Arduino | Kitul de învățare IoT ESP32 de la SunFounder

Tutorial ESP32 13/55 - Sunet Beep cu Buzzer Activ în Arduino | Kitul de învățare IoT ESP32 de la SunFounder

Î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).

Marcaje Temporale din Videoclip

  • 00:00 Început
  • 1:45 Introducere program buzzer
  • 5:57 Cablare buzzer și tranzistor S8050
  • 9:57 Cod Arduino pentru buzzer ESP32
  • 12:52 Selectarea plăcii ESP32 și a portului COM
  • 14:05 3.1 Demonstrație proiect buzzer

Imagini

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
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
}

Resurse și referințe

Fișiere📁

Fișă tehnică (pdf)