Search Code

Výukový program ESP32 13/55 - Arduino pípnutie s aktívnym bzučiakom | SunFounderova ESP32 IoT výuková súprava

Výukový program ESP32 13/55 - Arduino pípnutie s aktívnym bzučiakom | SunFounderova ESP32 IoT výuková súprava

V tomto návode sa naučíme, ako ovládať aktívny bzučiak pomocou mikrokontroléra ESP32 a tranzistora. Projekt zahŕňa zapínanie a vypínanie bzučiaka, čím vytvárame pípavý zvuk. Vďaka vstavaným funkciám Wi-Fi a Bluetooth v ESP32 môžete tento projekt v budúcnosti rozšíriť na zložitejšie IoT aplikácie.

Komponenty, ktoré použijeme, zahŕňajú dosku ESP32, aktívny bzučiak, tranzistor (S8050) a rezistor. Správnym zapojením týchto komponentov môžeme ovládať zvuk bzučiaka cez ESP32. Okrem toho poskytneme stručný prehľad zapojenia a kódu potrebného na spustenie tohto projektu. Pre ďalšie objasnenie si určite pozrite video sprevádzajúce tento návod (vo videu o 00:00).

S87050_transistor

Vysvetlenie hardvéru

Hlavné komponenty tohto projektu zahŕňajú mikrokontrolér ESP32, aktívny bzučiak a tranzistor S8050. ESP32 je výkonný mikrokontrolér s podporou Wi-Fi aj Bluetooth, čo umožňuje širokú škálu IoT projektov. Aktívny bzučiak generuje zvuk, keď je naň privedené napätie, zatiaľ čo tranzistor S8050 funguje ako spínač na ovládanie bzučiaka nízkonapäťovým signálom z ESP32.

Tranzistor má tri vývody: kolektor, bázu a emitor. Keď sa na bázový vývod privedie napätie cez rezistor, umožní to tok prúdu z kolektora do emitora, čím sa napája bzučiak. Toto zapojenie zaisťuje, že môžeme bzučiak ovládať bezpečne bez preťaženia GPIO pinov ESP32.

ESP32-13-buzzer-schematic

Podrobnosti z datasheetu

Výrobca SunFounder
Označenie dielu TMBB 12 A05
Prevádzkové napätie 3–8 V
Menovité napätie 5 V
Maximálny prúd 30 mA
Oscilačná frekvencia 2700 ± 300 Hz

 

  • Použite 1 kΩ rezistor na obmedzenie prúdu do bázy tranzistora.
  • Uistite sa, že aktívny bzučiak je správne pripojený s kladným a záporným pólom.
  • Skontrolujte zapojenie pinov, aby ste predišli skratom.
  • Použite breadboard pre jednoduchšie zapojenie a úpravy.
  • Bzučiak môže pracovať pri 3,3 V aj 5 V, ale napájajte ho podľa potrieb vášho obvodu.

Pokyny na zapojenie

ESP32-13-buzzer-wriing

Pri zapájaní komponentov začnite vložením aktívneho bzučiaka do breadboardu. Pripojte kladný pól bzučiaka na pin 3,3 V na ESP32. Záporný pól bzučiaka by mal byť pripojený na kolektorový pin tranzistora S8050. Potom vložte tranzistor S8050 do breadboardu a uistite sa, že plochá strana smeruje k vám. Ľavý pin (kolektor) sa pripája na záporný pól bzučiaka, stredný pin (báza) sa pripája na 1 kΩ rezistor a pravý pin (emitor) sa pripája na zem.

Teraz pripojte druhý koniec 1 kΩ rezistora na GPIO pin 14 na ESP32. Nakoniec pripojte emitorový pin tranzistora na uzemňovaciu lištu na breadboarde. Uistite sa, že všetky spojenia sú pevné a pred napájaním obvodu skontrolujte zarovnanie pinov.

Príklady kódu a vysvetlenie

Tu je stručný prehľad kódu, ktorý ovláda bzučiak. Najprv definujeme pin pripojený k bzučiaku:

const int buzzerPin = 14; // pin bzučiaka

Tento riadok nastaví premennú buzzerPin na pin 14 na ESP32, ktorý sa používa na ovládanie bzučiaka.

Ďalej nastavíme pin bzučiaka ako výstup vo funkcii setup():

void setup()
{
  pinMode(buzzerPin, OUTPUT); // Nastaviť ako výstup
}

Toto zabezpečí, že ESP32 vie, že má použiť pin 14 na odosielanie signálov na zapínanie a vypínanie bzučiaka.

Vo funkcii loop() vytvoríme cyklus for na aktiváciu bzučiaka viackrát:

for (int i = 0; i < 50; i++) // Cyklus 50-krát a prehratie krátkeho tónu zakaždým
{
  digitalWrite(buzzerPin, HIGH); // Nastaviť na HIGH, aby bzučiak zaznel
  delay(3); // Počkať 3 milisekundy
  digitalWrite(buzzerPin, LOW); // LOW na vypnutie bzučiaka
  delay(3); // 
}

Tento cyklus spôsobí, že bzučiak pípne 50-krát, pričom každé pípnutie trvá 3 milisekundy. Po dokončení cyklu nasleduje 1-sekundová pauza pred opakovaním.

Demonštrácia / Čo očakávať

Keď sú zapojenie a kód správne nastavené, napájanie ESP32 by malo aktivovať bzučiak a vytvoriť sériu pípnutí. Ak bzučiak neznie, skontrolujte spojenia, najmä orientáciu tranzistora a rezistora. Uistite sa, že v kóde je použitý správny GPIO pin a že napájanie je dostatočné (vo videu o 01:30).

Časové značky videa

  • 00:00 Začiatok
  • 1:45 Úvod do programu bzučiaka
  • 5:57 Zapojenie bzučiaka a tranzistora S8050
  • 9:57 Arduino kód pre ESP32 bzučiak
  • 12:52 Výber dosky ESP32 a COM portu
  • 14:05 3.1 Demonštrácia projektu bzučiaka

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)