Arduino - Gramy!

Ten samouczek pokaże jak używać prostego głośniczka i wygrywać melodyjki za pomocą Arduino.

Ciszo, Idź precz!

Jako, że mamy przerwać ciszę, więc zacznijmy od obsługi przez Arduino tzw. buzzera – maleńkiego głośniczka zdolnego wydawać niezbyt głośne (ale jednak) dźwięki. Zacznijmy od produktu finalnego:

Buzzer jest sterowany przez Arduino, wygrywający prostą melodyjkę. Prędkość odtwarzania zależy od odczytu z fotorezystora (im jaśniej tym wolniej gra).

Jak to jest zrobione?

Jak odczytywać wartości z fotorezystora pisałem w tym artykule. Buzzer jest pobudzany przez odpowiednie przykładanie napięcia niskiego i wysokiego. Dla bezpieczeństwa (portu wyjściowego Arduino) dokładamy rezystor 220 Ohm, aby ograniczyć prąd jaki może przez niego przejść.

Na szczęście Arduino jest open source i dzięki temu w sieci można znaleźć mnóstwo gotowych elementów. I tak kwestia odgrywania melodyjki (nutki) jest opisana w tutorialu Melody. My z niego skorzystamy i dodamy tylko element odczytu wartości napięcia z fotorezystora i przełożenie tego na odpowiednie opóźnienie.

Jedyna modyfikacja tutorialu Melody to (poza ustawianiem początkowym w setup) linia w loop:

tempo=analogRead(analog)/3+100;

Czyli odczyt napięcia dzielmy na 3 i dodajemy 100. Uzyskamy wartość z przedziału od 100 do 1023/3+100=441. Oryginalne tempo to było opóźnienie 300. Pozostaje do dodania schemat:

Dla początkujących – szczegółowe info jak podłączyć kabelki:

Szczegółowa lista części (Fritzing ma w podstawowej bibliotece tylko głośniczek piezo, więc on jest używany na schematach) :

Fritzing Bill of Materials

Sketch:     buzzer.fz
Date:   Tue Sep 29 01:11:59 2009

Arduino1      Arduino Diecimila
Breadboard1   Tiny Breadboard
J1            Piezo Speaker
R1            220 Ω Resistor
R2            10k Ω Resistor
R3            Basic Photo-Resistor (Photocell)

Shopping List

Quantity    Part

1       10k Ω Resistor
1       220 Ω Resistor
1       Arduino Diecimila
1       Basic Photo-Resistor (Photocell)
1       Piezo Speaker
1       Tiny Bre

No i na koniec – kod użyty w przykładzie