Am testat functionarea unui radio FM cu modul TEA5767 (proaspat sosite) cu un arduino pro-mini, cu afisare pe TFT 1,44" 128x128 (la fel proaspete) si reglaj cu encoder (urmeaza a fi casetat, iar utilizarea acestuia usureaza executia).
Am pornit de la un proiect testat de un rus, gasit pe internet unde link-ul original este aici, iar traducerea aici. Proiectulul lui este mai complex dar mie mi-a fost suficienta varianta simpla.
Fata de schema omului am facut urmatoarele modificari:
la encoder PIN_SW 8 l-am pus pe 7, iar TFT-ul este legat astfel:
CS -10
DC (A0) - 9
RST - 8
SCK - 13
SDA - 11
LED - Vcc printr-o rezistenta de 100 Ohm
la encoder CLK-3, DT-2, SW-7
TFT-ul utilizat avind tensiunea de alimentare de 3,3V, am utilizat un arduino pro mini pe care l-am alimentat la 3,3V.
TFT-ul are la baza circuitul ILI9163, iar in lib-ul folosit am editat fisierul TFT_ILI9163C_settings.h cu rezolutia acestuia respectiv 128x128. Detalii sint si intr-un articol mai vechi, de unde am preluat afisarea nume post, pentru ca TEA5767 nu are functia de RDS. Afisarea grafica a nivelului de semnal este adaptata dupa articolul lui Nicu Florica.
Dupa aceste modificari a iesit ca mai jos:Pentru afisarea frecventei am utilizat un font pentru a face mai eleganta afisarea numerelor.
In mod TUNE (SEARCH)
Imaginea de ansamblu testata:
Functionarea este conform filmului postat de rus, adica la apasarea prelungita butonului encoder, se intra in mod tune, iar prin rotirea encoderului se fixeaza frecventa dupa care apasarea butonului realizeaza memorarea frecventei. Din cod sint programate 16 zone de memorie pentru 16 posturi. Pentru a memora un post, mai intii rotesc encoderul pina apare numarul memoriei dorite. Dupa ce s-au memorat posturile, este suficienta simpla rotire a encoderului, si frecventele vor fi citite din memorie.
Alocarea de nume la o anumita frecventa corespunde orasului Iasi. Se poate modifica editind liniile de forma:
if (frequency==963) { display.setCursor(25,85);
display.setTextSize(1);
display.setTextColor(YELLOW,BLACK);display.print("Radio Iasi ");}
spre finalul codului in :
void printpost(float frequency)
Pe github am ridicat si lib-ul modificat pentru ILI9163.
Cind voi mai gasi o ferestra vreau sa-i fac si un reglaj de volum cu TDA7496.
Cind voi mai gasi o ferestra vreau sa-i fac si un reglaj de volum cu TDA7496.
Voi reveni cu detalii dupa casetare.
Niciun comentariu:
Trimiteți un comentariu