W tym samouczku nauczymy się, jak sterować aktywnym brzęczykiem za pomocą mikrokontrolera ESP32 i tranzystora. Projekt polega na włączaniu i wyłączaniu brzęczyka, tworząc dźwięk piszczenia. Dzięki wbudowanym możliwościom Wi-Fi i Bluetooth w ESP32 możesz w przyszłości rozszerzyć ten projekt o bardziej złożone aplikacje IoT.
Komponenty, których użyjemy, obejmują płytkę ESP32, aktywny brzęczyk, tranzystor (S8050) oraz rezystor. Poprawne połączenie tych elementów pozwoli nam sterować dźwiękiem brzęczyka za pomocą ESP32. Dodatkowo przedstawimy krótki przegląd połączeń i kodu niezbędnego do uruchomienia tego projektu. Aby uzyskać więcej wyjaśnień, koniecznie sprawdź wideo towarzyszące temu samouczkowi (na wideo w 00:00).
S87050_transistor
Wyjaśnienie sprzętu
Główne komponenty tego projektu to mikrokontroler ESP32, aktywny brzęczyk oraz tranzystor S8050. ESP32 to wydajny mikrokontroler z Wi-Fi i Bluetooth, umożliwiający szeroki zakres projektów IoT. Aktywny brzęczyk generuje dźwięk po przyłożeniu napięcia, a tranzystor S8050 działa jak przełącznik sterujący brzęczykiem za pomocą sygnału niskiego napięcia z ESP32.
Tranzystor ma trzy wyprowadzenia: kolektor, bazę i emiter. Gdy napięcie jest przyłożone do bazy przez rezystor, umożliwia przepływ prądu od kolektora do emitera, zasilając brzęczyk. Taka konfiguracja zapewnia bezpieczne sterowanie brzęczykiem bez przeciążania pinów GPIO ESP32.
ESP32-13-buzzer-schematic
Szczegóły z karty katalogowej
Producent
SunFounder
Numer części
TMBB 12 A05
Napięcie robocze
3–8 V
Napięcie znamionowe
5 V
Maksymalny prąd
30 mA
Częstotliwość oscylacji
2700 ± 300 Hz
Użyj rezystora 1 kΩ, aby ograniczyć prąd do bazy tranzystora.
Upewnij się, że aktywny brzęczyk jest podłączony prawidłowo, z zaciskami dodatnim i ujemnym.
Sprawdź dwukrotnie połączenia pinów, aby zapobiec zwarciom.
Użyj płytki stykowej, aby ułatwić połączenia i regulacje.
Brzęczyk może działać przy napięciu 3,3 V i 5 V, ale zasilaj go zgodnie z potrzebami obwodu.
Instrukcje dotyczące połączeń
ESP32-13-buzzer-wriing
Aby połączyć komponenty, zacznij od umieszczenia aktywnego brzęczyka na płytce stykowej. Podłącz dodatni zacisk brzęczyka do pinu 3,3 V na ESP32. Ujemny zacisk brzęczyka należy podłączyć do pinu kolektora tranzystora S8050. Następnie umieść tranzystor S8050 na płytce stykowej, upewniając się, że płaska strona jest skierowana do Ciebie. Lewy pin (kolektor) łączy się z ujemnym zaciskiem brzęczyka, środkowy pin (baza) łączy się z rezystorem 1 kΩ, a prawy pin (emiter) łączy się z masą.
Teraz podłącz drugi koniec rezystora 1 kΩ do pinu GPIO 14 na ESP32. Na koniec podłącz pin emitera tranzystora do szyny masy na płytce stykowej. Upewnij się, że wszystkie połączenia są pewne i sprawdź dwukrotnie wyrównanie pinów przed zasileniem obwodu.
Przykłady kodu i omówienie
Oto krótki przegląd kodu sterującego brzęczykiem. Najpierw definiujemy pin podłączony do brzęczyka:
const int buzzerPin = 14; // pin brzęczyka
Ta linia ustawia zmienną buzzerPin, aby odnosiła się do pinu 14 na ESP32, który jest używany do sterowania brzęczykiem.
Następnie ustawiamy pin brzęczyka jako wyjście w funkcji setup():
void setup()
{
pinMode(buzzerPin, OUTPUT); // Ustaw jako wyjście
}
To zapewnia, że ESP32 wie, aby używać pinu 14 do wysyłania sygnałów włączających i wyłączających brzęczyk.
W funkcji loop() tworzymy pętlę for, aby wielokrotnie aktywować brzęczyk:
for (int i = 0; i < 50; i++) // Pętla 50 razy i odtwarzaj krótki ton za każdym razem
{
digitalWrite(buzzerPin, HIGH); // Ustaw na HIGH, aby brzęczyk wydał dźwięk
delay(3); // Czekaj 3 milisekundy
digitalWrite(buzzerPin, LOW); // LOW, aby wyłączyć brzęczyk
delay(3); //
}
Ta pętla sprawi, że brzęczyk zapiszczy 50 razy, a każdy pisk będzie trwał 3 milisekundy. Po zakończeniu pętli następuje 1-sekundowe opóźnienie przed powtórzeniem.
Demonstracja / Czego się spodziewać
Gdy połączenia i kod są poprawnie skonfigurowane, zasilenie ESP32 powinno aktywować brzęczyk, wytwarzając serię pisków. Jeśli brzęczyk nie wydaje dźwięku, sprawdź połączenia, zwłaszcza orientację tranzystora i rezystora. Upewnij się, że w kodzie używany jest właściwy pin GPIO i że zasilanie jest wystarczające (na wideo w 01:30).
812-ESP32 Tutorial 13/55- Arduino code for controlling buzzer
Język: 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
}
Ujawnienie: Jako partner Amazonu, zarabiamy na kwalifikujących się zakupach. Oznacza to, że możemy otrzymać małą prowizję, jeśli klikniesz w link i dokonasz zakupu bez dodatkowych kosztów dla Ciebie.