08 ruj Bukometar – senzor za zvuk i RGB traka
Opis projekta
U ovom projektu koristit ćete analogne ulazne module potenciometar i senzor za zvuk te RGB traku kao izlazni modul. Traka će svijetliti ovisno o količini zvuka kojeg detektira senzor za zvuk, a potenciometrom ćete odrediti gornju i donju vrijednost intenziteta zvuka koji će utjecati na način svijetljenja RGB trake. Ideja projekta je da stvorite bukometar koji će mjeriti količinu zvuka u prostoru te će na RGB traci svijetliti više ili manje svjetlećih dioda ovisno o izmjerenoj glasnoći. Kada je potenciometar spojen na izvod P1, pritiskom na tipkalo A na micro:bitu možete odrediti gornju vrijednost za intenzitet zvuka, a kada je spojen na izvod P2, pritiskom na tipkalo A određujete donju vrijednost. Diode neka svijetle duginim bojama.
Kako biste lakše odredili granice, uparite micro:bit s računalom jer ćete na ekranu računala moći pratiti vrijednosti koje se očitavaju okretanjem potenciometra.
Inspiraciju za izgled i izradu svog bukometra pronađite u kreativnom kutku.
Potrebni moduli
- Pločica za spajanje elektroničkih modula
- USB kabel za napajanje
- 2 kabla za spajanje modula
- senzor za zvuk
- traka s RGB svjetlećim diodama
- potenciometar
Spajanje modula
U pločicu smjestite micro:bit. Pripazite pri tome da i u programskome kôdu bude postavljen odgovarajući izvod jer se u suprotnome program neće izvršavati.
Na mjestima za spajanje elektroničkih modula kablovima povežite i spojite potenciometar, senzor za zvuk i traku kao što vidite na prikazu spoja. Potenciometar i senzor za zvuk su analogni ulazni moduli pa se mogu spojiti samo na izvode koji su analogni. To su izvodi P0, P1 ili P2 na pločici. Micro:bit preko izvoda na kojem je spojen potenciometar kao analogni ulazni modul očitava stanje njegovog signala čiji se raspon kreće u vrijednostima od 0 do 1023. Prema prikazu spajanja senzor za zvuk je spojen na izvod P0, a traka na izvod P8. Potenciometar ćete spojiti na izvod P1 ili izvod P2 ovisno o tome želite li namjestiti gornju ili donju vrijednost. Za početak ga spojite na izvod P1. USB kabelom povežite micro:bit s računalom kako bi spoj dobio napajanje i kako biste prebacili program na micro:bit.
Napomena: Za programiranje trake s RGB svjetlećim diodama, u Makecode editoru potrebno je dodati kategoriju naredbi Neopixel. Upute za dodavanje Neopixel kategorije možete pogledati ovdje.
1. korak
Na početku je potrebno definirati da u programu koristite traku s RGB svjetlećim diodama. To ćete učiniti odabirom prve naredbe (set strip to) iz kategorije Neopixel. Naredbu set strip to smjestite u on start blok. U dijelu naredbe gdje možete odrediti parametre, postavite P8 jer je na tom izvodu spojena traka, umjesto 24 upišite broj 7 jer se od toliko dioda traka sastoji i kao format ostavite zadanu vrijednost RGB (GRB format). Parametar (varijabla) strip iz naredbe odnosi se na cijelu traku.
Dodajte i naredbu show icon iz kategorije Basic i odaberite da se prikazuje sličica kvačice. Kada se na ekranu micro:bite prikaže kvačica, znači da je definirano korištenje RGB trake.
2. korak
Sada u kategoriji Variables, opcijom Make a Variable, kreirajte dvije varijable: H i L. One će predstavljati vrijednosti potenciometra između 0 i 1023 kada se nalazi na izvodu P1, odnosno izvodu P2. Iz kategorije Variables odaberite naredbu set H to i kao argument postavite naredbu analog read pin P1 iz Pins kategorije naredbi. Kopirajte cijelu naredbu set H to analog read pin P1 desnim klikom miša i odabirom opcijom Duplicate te odaberite varijablu L umjesto varijable H te izvod P2 umjesto P1.
3. korak
Kako biste mogli lakše iščitavati vrijednosti potenciometra kada ga okrećete, programirajte micro:bit da prikaže vrijednosti preko monitora računala. To znači da je potrebno uspostaviti serijsku komunikaciju između micro:bita i računala. Taj je postupak detaljno objašnjen u lekciji Uspostavljanje serijske komunikacije između micro:bita i računala.
Nakon što ste uspostavili serijsku komunikaciju micro:bita s računalom, potrebno je dodati naredbe za prikaz vrijednosti varijabli H i L na računalu. U forever petlju, iz kategorije naredbi Serial, stavite naredbu serial write value x=0. Umjesto x upišite slovo H, a umjesto 0 stavite varijablu H iz kategorije Variables. Isto napravite i za varijablu L. Na kraju dodajte pauzu od pola sekunde za bolji prikaz podataka.
U Makecode editoru, pritiskom na tipku Show console Device, otvorit će se prozor u kojem možete pratiti očitane vrijednosti. U gornjem dijelu su one prikazane grafički, a u donjem dijelu numerički.
Okretanjem potenciometra kada je spojen na izvod P1, mijenja se vrijednost varijable H, a kada je spojen na izvod P2, njegovim okretanjem mijenja se vrijednost varijable L.
4. korak
Primijetite kako se na izvodu P1 ili P2 (varijabla H ili L), u trenutku kada na njemu nije spojen potenciometar, i dalje očitava neka vrijednost. Iz ovog razloga je potrebno uvesti dodatne dvije varijable u koje ćete pritiskom na tipkalo A na micro:bitu pohraniti vrijednost koju želite kao gornju, odnosno donju granicu.
Iz kategorije Input odaberite on button A pressed blok i smjestite ga u prostor za programiranje. Kreirajte varijable high i low opcijom Make a Variable i naredbama set high to i set low to postavite ih na vrijednost varijable H, odnosno L. Dodajte i naredbu serial write value kako biste odabir i vrijednost granica mogli pratiti na računalu.
Sada se u Makecode editoru, pritiskom na tipkalo A na micro:bitu, prikazuju i vrijednosti varijabla high i low. Varijablu high možete odabrati kada je potenciometar spojen na izvod P1, a varijablu low kada je spojen na izvod P2.
5. korak
Još je preostalo programirati traku s RGB svjetlećim diodama. Kreirajte varijablu svjetlece diode te u novu forever petlju stavite naredbu set svjetlece diode to 0. Da biste povezali paljenje svjetlećih dioda s vrijednosti koju senzor za zvuk šalje micro:bitu upotrijebite naredbu za mapiranje (kategorija Pins) i postavite je kao argument naredbe set svjetlece diode to.
Vrijednost koju mapirate je ona koja se očitava na izvodu P0 jer je na njemu spojen senzor za zvuk. U dijelu from low i from high stavite varijable low i high jer je to raspon vrijednosti koji se mora skalirati u novi raspon. U dio to low i to high upišite 0 i 7 jer je to broj svjetlećih dioda na traci.
6. korak
Za uključivanje dioda stavite naredbu strip clear i strip show iz kategorije Neopixel. Između te dvije naredbe trebate definirati raspon i boju svjetlećih dioda. U Neopixel kategoriji se nalazi naredba set range to strip range from 0 with 4 leds. Umjesto broja 4 stavite varijablu svjetlece diode. Kako bi sve svjetleće diode svijetlile duginim bojama, iskoristite naredbu range show rainbow from 1 to 360 i umjesto broja 360 upišite 180.