Akustický bzučák je snadno použitelný modul obsahující spínací tranzistor a samotný bzučák. Tato kombinace umožňuje volitelným datovým pinem zapínat a vypínat bzučák dle potřeby. Další výhodou je možnost volby mezi napájením 3,3 V či 5 V, kdy lze hlasitost modulu určovat ve dvou stupních dle velikosti napájecího napětí. Modul s akustickým bzučákem také obsahuje uprostřed montážní díru, díky které ho lze snadno upevnit v navrhovaném zařízení.
Pro propojení akustického bzučáku s Arduino deskou stačí propojit pouze 3 vodiče. Propojíme Vcc s +5 V (či + 3,3 V), I/O s pinem 4 a GND se zemí Arduina. Datový vodič, zde zvolený D4, lze samozřejmě vyměnit za jiný dostupný, jen je nutné tuto změnu zohlednit v programu.
Ukázkový kód na začátku obsahuje nastavení proměnné bzucak s číslem propojovacího datového pinu a dále ve funkci setup nastavení tohoto pinu jako výstupního společně s jeho nastavením na logickou jedničku. Toto nastavení je důležité pro použitý modul, kdy tento je aktivní v logické nule a je tedy nutné ho při nepoužívání nastavit do opačné hladiny, abychom předešli brumu bzučáku. V nekonečné smyčce loop se nachází pro demonstraci smyčka for, která v rozsahu proměnné i od 1 do 10 volá podprogram zahraj s proměnnou frekvencí dle aktuálního čísla i a pevně nastavenou dobou hraní 50 ms. Po tomto následuje pauza 250 ms a po dokončení smyčky for následně pauza po dobu 2 sekund pro rozeznání konce smyčky. V uvedeném podprogramu zahraj se nachází dvě funkce, z nichž první je funkce tone, která obsahuje na prvním místě proměnnou bzucak, ve které je nastaven datový propojovací pin, na druhém místě frekvence v Hertzech a na posledním místě doba hraní zvuku v milisekundách. Druhá funkce podprogramu zahraj již jen nastaví propojovací pin akustického bzučáku na logickou jedničku pro odstranění brumu.
// Akustický bzučák
// proměnná pro nastavení propojovacího pinu
int bzucak = 4;
void setup() {
// nastavení propojovacího pinu jako výstupního
pinMode(bzucak, OUTPUT);
// vzhledem k tomu, že náš bzučák je
// aktivní v nule, tedy LOW, je nutné
// ho po dohrání nastavit na vysokou
// úroveň, aby jsme zamezili bzučení
// v pauzách
digitalWrite(bzucak, HIGH);
}
void loop() {
// v nekonečné smyčce for, která proběhne
// pro hodnoty i 1 až 10, se vždy zavolá
// funkce zahraj, která zahraje zvuk o
// nastavené frekvenci a délce zadané ve tvaru
// zahraj(frekvence, doba), kde frekvence
// je v Hertzech a doba v milisekundách
for (int i=1; i < 11; i++) {
// frekvence se rovná i-násobku 100,
// zde tedy bude v rozsahu 100 až 1000 Hz,
// doba hraní je pak 50 milisekund
zahraj(100*i, 50);
// po každé frekvenci následuje pauza 250 ms
// pro rozeznání frekvencí
delay(250);
}
// pauza 2 vteřiny pro rozeznání konce smyčky
delay(2000);
}
// podprogram zahraj obsahuje všechny důležité
// funkce pro zahrání zadaného zvuku
void zahraj(int frekvence, int doba) {
// funkce tone má na prvním místě pin
// s připojeným bzučákem, na druhém
// frekvenci hraného zvuku a na třetím
// dobu hraní zvuku v milisekundách;
// maximální frekvence je 65535 Hz,
// pro člověka neslyšitelná frekvence
tone(bzucak, frekvence, doba);
delay(doba);
digitalWrite(bzucak, HIGH);
}
Po nahrání programu do Arduino desky s připojeným modulem akustického bzučáku uslyšíme zvyšující se zvuk v rozmezí 100 až 1000 Hz.
Akustický bzučák propojený s Arduino deskou je vhodným výstupním modulem v zapojeních a zařízeních, kde požadujeme spolehlivou a nepřeslechnutelnou komunikaci s uživatelem. Bzučák dosahuje poměrně silného zvuku a při nastavení vyšších frekvencí v řádu tisícovek Hertzů se jedná o poměrně nepříjemné zvuky. Dá se tedy použít například do různých zařízení sloužících jako ochrana majetku před nežádoucími osobami, soutěžních sirén a podobně.
Seznam použitých komponent:
http://dratek.cz/arduino/849-arduino-akusticky-bzucak.html
http://dratek.cz/arduino/974-arduino-uno-r3-atmega328p-1424115860.html
http://dratek.cz/arduino/1227-7-ks-mini-nepajive-pole-25-kontaktu-1458405292.html
http://dratek.cz/arduino-kabelaz-propoje-rozsireni/1214-arduino-vodice-samice-samice-40-kusu-1457705007.html