Search Code

ESP32 Tutoriaal 13/55 - Arduino Piep met Aktiewe Zoemer | SunFounder se ESP32 IoT-leerkit

ESP32 Tutoriaal 13/55 - Arduino Piep met Aktiewe Zoemer | SunFounder se ESP32 IoT-leerkit

In hierdie tutoriaal sal ons leer hoe om 'n aktiewe gonser met 'n ESP32-mikrobeheerder en 'n transistor te beheer. Die projek behels die aanskakel en afskakel van die gonser, wat 'n piepgeluid skep. Met die ESP32 se ingeboude Wi-Fi- en Bluetooth-vermoëns kan jy hierdie projek in die toekoms tot meer komplekse IoT-toepassings uitbrei.

Die komponente wat ons sal gebruik, sluit die ESP32-bord, 'n aktiewe gonser, 'n transistor (S8050) en 'n resistor in. Deur hierdie komponente korrek te bedraad, kan ons die gonser se klank deur die ESP32 beheer. Daarbenewens sal ons 'n kort oorsig gee van die bedrading en kode wat nodig is om hierdie projek aan die gang te kry. Vir verdere verduideliking, maak seker dat jy die video wat hierdie tutoriaal vergesel, kyk (in video by 00:00).

S87050_transistor

Hardeware Verduidelik

Die hoofkomponente van hierdie projek sluit die ESP32-mikrobeheerder, die aktiewe gonser en die S8050-transistor in. Die ESP32 is 'n kragtige mikrobeheerder met beide Wi-Fi en Bluetooth, wat 'n wye reeks IoT-projekte moontlik maak. Die aktiewe gonser genereer klank wanneer 'n spanning toegepas word, terwyl die S8050-transistor as 'n skakelaar optree om die gonser met 'n lae spanningsignaal van die ESP32 te beheer.

Die transistor het drie penne: versamelaar, basis en emitter. Wanneer 'n spanning op die basispen deur 'n resistor toegepas word, laat dit stroom van die versamelaar na die emitter vloei, wat sodoende die gonser van krag voorsien. Hierdie opstelling verseker dat ons die gonser veilig kan beheer sonder om die ESP32 se GPIO-penne te oorlaai.

ESP32-13-gonser-skematies

Datablad Besonderhede

Vervaardiger SunFounder
Deelnommer TMBB 12 A05
Werkspanning 3–8 V
Gegradeerde spanning 5 V
Maksimum stroom 30 mA
Ossilleerfrekwensie 2700 ± 300 Hz

 

  • Gebruik 'n 1 kΩ-resistor om stroom na die transistor se basis te beperk.
  • Maak seker dat die aktiewe gonser korrek gekoppel is met positiewe en negatiewe terminale.
  • Kontroleer die penverbindings dubbeld om kortsluitings te voorkom.
  • Gebruik 'n broodbord vir makliker verbindings en aanpassings.
  • Die gonser kan by beide 3.3V en 5V werk, maar krag dit volgens jou stroombaan se behoeftes.

Bedradingsinstruksies

ESP32-13-buzzer-wriing

Om die komponente te bedraad, begin deur die aktiewe gonser in die broodbord te plaas. Verbind die positiewe terminaal van die gonser aan die 3.3V-pen op die ESP32. Die negatiewe terminaal van die gonser moet aan die versamelaarpen van die S8050-transistor gekoppel word. Plaas vervolgens die S8050-transistor in die broodbord, en maak seker dat die plat kant na jou toe wys. Die linkerpen (versamelaar) verbind aan die negatiewe terminaal van die gonser, die middelpen (basis) verbind aan 'n 1 kΩ-resistor, en die regterpen (emitter) verbind aan die grond.

Neem nou die ander punt van die 1 kΩ-resistor en verbind dit aan GPIO-pen 14 op die ESP32. Verbind laastens die emitterpen van die transistor aan die grondrail op die broodbord. Maak seker dat alle verbindings veilig is en kontroleer die belyning van die penne dubbeld voordat jy die stroombaan van krag voorsien.

Kode Voorbeelde & Deurloop

Hier is 'n kort oorsig van die kode wat die gonser beheer. Eerstens definieer ons die pen wat aan die gonser gekoppel is:

const int buzzerPin = 14; // die gonserpen

Hierdie lyn stel die veranderlike buzzerPin op om na pen 14 op die ESP32 te verwys, wat gebruik word om die gonser te beheer.

Vervolgens stel ons die gonserpen as 'n uitset in die setup()-funksie:

void setup()
{
  pinMode(buzzerPin, OUTPUT); // Stel as uitset
}

Dit verseker dat die ESP32 weet om pen 14 te gebruik om seine te stuur om die gonser aan en af te skakel.

In die loop()-funksie skep ons 'n for-lus om die gonser verskeie kere te aktiveer:

for (int i = 0; i < 50; i++) // Lus 50 keer en speel elke keer 'n kort toon
{
  digitalWrite(buzzerPin, HIGH); // Stel op HIGH om die gonser te laat klink
  delay(3); // Wag vir 3 millisekondes
  digitalWrite(buzzerPin, LOW); // LOW om die gonser af te skakel
  delay(3); // 
}

Hierdie lus sal die gonser 50 keer laat piep, met elke piep wat 3 millisekondes duur. Na die voltooiing van die lus is daar 'n 1-sekonde vertraging voordat dit herhaal word.

Demonstrasie / Wat om te Verwag

Wanneer die bedrading en kode korrek opgestel is, behoort die aanskakel van die ESP32 die gonser te aktiveer, wat 'n reeks piepgeluide produseer. As die gonser nie klink nie, kontroleer die verbindings, veral die oriëntasie van die transistor en die resistor. Maak seker dat die korrekte GPIO-pen in die kode gebruik word en dat die kragtoevoer voldoende is (in video by 01:30).

Video Tydstempels

  • 00:00 Begin
  • 1:45 Gonserprogram-inleiding
  • 5:57 Bedrading van gonser en S8050-transistor
  • 9:57 Arduino-kode vir ESP32-gonser
  • 12:52 Kies ESP32-bord en COM-poort
  • 14:05 3.1 Gonserprojek-demonstrasie

Beelde

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

Hulpbronne en verwysings

Lêers📁

Datasheet (pdf)