Ebben a példában (LED villogás hangvezérléssel) az egyszerűség kedvéért, csak 1 leddel teszteltem le a kódomat, de az is szépen villogott a zene ütemére. Viszont számtalan youtube videó született arról hogy egy mikrofonnal és pár leddel ez milyen jól is tud mutatni. Én egy szimpla analóg mikrofont használtam ennek a teszteléséhez, de a kódot átírva működik olyan modullal is aminek csak digitális kimenete van, és természetesen olyannal is aminek van analóg és digitális kimenete is. Itt jegyezném meg, hogy az utóbbi a legelterjedtebb megoldás és nem is sokkal drágább.
Én a tesztelésnél használtam a modult 3,5 V-os VCC-vel és 5 V-os VCC-vel is. Mind a kettő megoldás működik értelemszerűen más lesz a beolvasott analóg érték.
A bekötésnél nem kell megijedni, hogy nem a megszokott jelölésekkel találkozunk ezek is adják azért magukat.
S — A0
V — 3,5V vagy 5V
G — GND
LED — D13 (és a GND közé)
A bekötés után töltsük fel a kódot és teszteljük le, hogy nekünk milyen analóg érték kell a ledek villogásához. Ne essünk tévedésbe ez a kis nyákra szerelt piezo mikrofon nem egy stúdióminőségű felvétel elkészítésére van, és még nem is hangrögzítésre. Ha jobban megfigyeljük nyugalmi állapotban mindig ugyan azt a stabil analóg jelet olvassuk be, ami nem véletlen. Egy smd ellenállás miatt, nem a saját 5 voltunk analóg értékét olvassuk vissza. Nem szeretném részletezni a piezo elektromos hatást, de a hang által keltett rezgés változtatja meg a kristály paramétereit, és ezért kapunk más erősségű jelet hang hatására. Ennek ismeretében teszteljük ezt a lapkát és ennyit is várjunk el tőle.
LED villogás hangvezérléssel Forráskód:
int sensorPin = A0; int ledpin = 13; int sensorValue = 0; void setup () { pinMode(ledpin, OUTPUT); Serial.begin (9600); } void loop () { sensorValue = analogRead (sensorPin); if (sensorValue >= 400) { digitalWrite(ledpin, HIGH); } else { digitalWrite(ledpin,LOW); } Serial.println (sensorValue); }
Nézz be a webshopba a hasonló termékekért!