Buzzer

Jeden z ostatnich projektów wymagał dodania sygnalizacji dźwiękowej do płytki z Arduino. Oczywiście nie ma z tym żadnego problemu: aktywne buzzery 5v są w w sprzedaży i kosztują dosłownie złotówkę.
buzzery_0Zaraz, zaraz, aktywne?
Aktywne znaczy z generatorem. Dzięki niemu wystarczy na nóżkę buzzera podać stan niski a on sam wyda już z siebie odpowiedni dźwięk.
5v?
Każdy buzzer charakteryzuje się pewnym przedziałem napięcia, w którym może bezpiecznie pracować. Poniżej wyznaczonego przedziału nie wyda z siebie żadnego odgłosu (lub będzie tylko 'pykał') – powyżej może się spalić. Kupiony przeze mnie buzzer producent opisał jako:
buzzer_03Widać więc, że mój buzzer wymaga co najmniej 3,5 do maksymalnie 5v i pobiera mniej niż 25mA.
Jak go można podłączyć do Arduino?

Wszystko zależy od samego buzzera, wymaganego przez niego napięcia i pobieranego  prądu. W tym konkretnym przypadku, zakres 3.5 do 5v znajduje się powyżej poziomów logiki Raspberry (maks. 3,3v – w praktyce mniej) ale w granicach logiki Arduino. Można pomyśleć o prostym rozwiązaniu:

  • „+” buzzera podłączyć do pinu Arduino, np. 13 (ten sam co LED na płytce),
  • „-” buzzera podłączyć do GND Arduino

Uwaga: buzzery należy podłączać zgodnie z biegunowością oznaczoną na ich obudowie!

Proste i kuszące:
buzzery_1
Problem polega na tym, że w takim układzie zasilamy buzzera z pinu logicznego. Możliwości prądowe wyjść cyfrowych są ograniczone, maksymalnie 40mA na cały port. Arduino wytrzyma więc owe 25mA ciągnięte przez buzzer, ale możecie mieć duże problemy z podłączeniem czegoś więcej.

Potrzebujecie: buzzer 5v aktywny, tranzystor 2n2222, rezystor np. 10k.

Jest inny sposób, który wymaga nieco więcej zachodu – ale znacznie bezpieczniejszy i bardziej uniwersalny. Buzzer podłączamy poprzez tranzystor. W takim układzie:

  • „+” buzzera łączymy do 5v Arduino
  • „-” buzzera łączymy do kolektora tranzystora („C”)
  • Emiter tranzystora (nóżka E) łączymy do masy Arduino
  • Bazę tranzystora przez rezystor np. 4.6k-10kOhm łączymy do pinu cyfrowego.

buzzer_04(schemat znaleziony na Instructables, narysowano przy pomocy fritzing.org)

W ten sposób sterujemy minimalnym prądem tranzystorem (a nie samym buzzerem). Tranzystor działa jak przekaźnik otwierając i zamykając obwód, w którym jest buzzer. Jako tranzystora użyłem 2n2222:


(obrazek pobrano z: wikimedia)

Efekt końcowy:
buzzery_2
Zauważcie, że taką konfigurację możecie też spokojnie zastosować z Raspberry. 3,3v logiki powinno bez problemu załączyć tranzystor.

Pozdrawiam,
A

Dodaj komentarz