Lekcija 7 – Buzzer (zujalica)

Na pin broj 6 Arduino pločice spojimo pasivnu zujalicu (buzzer) i napišimo program koji će generisati zvuk frekvencije 440 Hz (ton A4) u trajanju od 1 sekunde.

Komponente:

  • 1 * Arduino UNO R3 mikrokontroler,
  • 1 * USB kabal,
  • 1 * Pasivna zujalica (buzzer),
  • 1 * Eksperimentalna pločica,
  • 2 * Kratkospojničke žice (muško-muške)

Šta je buzzer?

Piezzo buzzer, također poznak kao zujalica je komponenta koja se koristi za generisanje zvuka. Moguće je podešavati frekvenciju kako bi proizvodili ton određene frekvencije. Postoje aktivni i pasivni Piezzo buzzeri.

Aktivni imaju ugrađen oscillator koji generiše konstantnu frekvenciju te se aktiviraju postavljanjem stanja HIGH na pinove, dok pasivni nemaju ugrađen osciloskop i kontrolišu se  dovođenjem izmjeničnog signala na pinove. Razlikuju se po tome što pasivni imaju oznaku HX na kućištu, dok aktivni nemaju.

U vježbi koristimo pasivni buzzer koji ima dvije nožice. Pozitivna nožica sa oznakom + na kućištu spaja se na digitalni pin Arduino pločice, a negativna nožica na pin uzemljenja (GND).

Zvuk se generiše pomoću funkcije tone() koja mora primiti parameter rednog broja pina i frekvencije zvuka kojeg treba proizvesti, odnosno note. Možemo dodati treći parameter koji govori koliko  milisekundi će se izvoditi određena nota. Funkcija noTone() prima samo oznaku broja pina te prekida izvođenje zvuka na zadanom pinu.

1. Izgradite sklop

Aktivni imaju ugrađen oscillator koji generiše konstantnu frekvenciju te se aktiviraju postavljanjem stanja HIGH na pinove, dok pasivni nemaju ugrađen osciloskop i kontrolišu se  dovođenjem izmjeničnog signala na pinove. Razlikuju se po tome što pasivni imaju oznaku HX na kućištu, dok aktivni nemaju.

U vježbi koristimo pasivni buzzer koji ima dvije nožice. Pozitivna nožica sa oznakom + na kućištu spaja se na digitalni pin Arduino pločice, a negativna nožica na pin uzemljenja (GND).

Zvuk se generiše pomoću funkcije tone() koja mora primiti parameter rednog broja pina i frekvencije zvuka kojeg treba proizvesti, odnosno note. Možemo dodati treći parameter koji govori koliko  milisekundi će se izvoditi određena nota. Funkcija noTone() prima samo oznaku broja pina te prekida izvođenje zvuka na zadanom pinu.

2. Program

lekcija7
C++
/***********************************************************
Buzzer (zujalica) – Generisanje zvuka
STEM Lab
***********************************************************/

int buzzer = 6; // Definiranje digitalnog pina 6 kao pina za upravljanje zujalicom

void setup() {
    pinMode(buzzer, OUTPUT); // Postavite digitalni način rada s pina 6, IZLAZ: izlazni način

    tone(6, 440, 1000);      // Generišite zvuk frekvencije 440 Hz (nota A4) u trajanju od 1 sekunde

    delay(1000);             // Postavite vrijeme čekanja, 1000 milisekundi (1 sekunda)

    noTone(buzzer);          // Isključite zvuk
}

void loop() {}

3. Prenesite program na Arduino UNO pločicu.

Budući da se funkcije tone() i noTone() nalaze u setup() dijelu programa zvuk će se čuti samo jednu sekundu. Kako bi se zvuk ponavljao svake sekunde funkcije tone() i noTone() je potrebno navesti unutar loop() dijela programa umjesto setup().

Frekvencije za sve note je moguće pronaći u datoteci pitches.h na internetu koja se može inicijalizirati u kodu pozivom naredbe #include<pitches.h>.

Tabela ispod prikazuje tonove i njihove frekvencije.

Udruženje STEM Lab osnovano je početkom 2021. godine udruživanjem nastavnog osoblja OŠ „Huso Hodžić“ Tešanj koje je učestvovalo u osnivanju STEM kabineta tokom realizacije dijela „EGG projekta“ koji je finansirala vlada Kraljevine Norveške preko UNDP-a za BiH, uz uslov sufinansiranja Ministarstva za obrazovanje, nauku, kulturu i sport Ze-do kantona i Općine Tešanj.

74260 Tešanj
+387 61 616 067