This is an old revision of the document!
Proiectul presupune crearea unui dispozitiv portabil de transmisie FM care primeste input audio prin mufa jack (de ex de la telefon/tableta) si transmite semnalul audio pe o frecventa radio aleasa de utilizator. Frecventa curenta va fi afisata pe un ecran LCD, iar alegerea sa se va face cu ajutorul unor potentiometre.
La porinirea dispozitivului, pe ecran se va afisa un mesaj de WELCOME, timp in care se realizeaza initializarea modulului FM pe frecventa default (90 MHz). Dupa aproximativ 5 secunde, mesajul anterior dispare, iar pe LCD utilizatorul va putea vedea frecventa curenta. Pentru modificarea acesteia se vor folosi cele doua potentiometre de 50k, unul pentru partea intreaga (cu valori cuprinse intre 87 si 108 MHz) si celalat pentru partea zecimala (intre 0 si 10). Daca dispozitivul primeste input audio, acesta va putea fi auzit pe un aparat de radio extern (cum esre cel de la masina) aflat in imediata apropiere, pe frecventa setata (si afisata pe ecran). Pentru a mari raza de broadcast am lipit modulului FM si o mica antena. Cel de-al treilea potentiometru are rolul de a fixa luminozitatea ecranului LCD, functionalitate foarte utila daca se conduce pe timp de noapte.
Denumire piesă |
---|
Arduino UNO |
Breadboard |
Modul FM V 2.0 |
Ecran Nokia 5110 85×48 |
Potentiometre |
Rezistente |
Fire mama-tata, tata-tata |
In functia de setup se seteaza pinii A0 si A1 (la care sunt conectati cele doua potentiometre) pe modul INPUT si se porneste lcd-ul. Se afiseaza apoi pe acesta un mesaj de Welcome care va disparea dupa 5 secunde, timp in care se realizeaza si initializarea modulului FM pe frecventa default (90 MHz), respectiv Europa. In functia loop se citesc folosind analogRead valorile celor doua potentiometre si se realizeaza conversia acestora in limitele frecventei folosind functiile map si constrain. Daca valorile nou citite difera de vechile valori curente, se calculeaza noua frecventa, care se trimite ca parametru functiei fmtx_set_freq, urmand sa se faca astfel update la nivelul modulului FM. De asemenea, noile valori vor fi afisate si pe ecranul LCD, conform functiei auxiliare lcd_freq.