Akustický bzučák

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

Další podobné články