Să ne dăm seama cum să conectăm un ecran cu cristale lichide de 84x48 pixeli de la Nokia 5110 la Arduino.
Necesar
- - Arduino;
- - Afișaj LCD pentru Nokia 5110/3310;
- - conectarea firelor.
Instrucțiuni
Pasul 1
Să conectăm ecranul LCD de la Nokia 5110 la Arduino conform schemei de mai jos.
Pasul 2
Multe biblioteci au fost scrise pentru a lucra cu acest ecran LCD. Vă sugerez să îl utilizați: https://www.rinkydinkelectronics.com/library.php?id=44 (descărcați fișierul LCD5110_Basic.zip).
Pentru a instala, dezarhivați fișierul în directorul Arduino IDE / biblioteci /.
Biblioteca acceptă următoarele caracteristici.
LCD5110 (SCK, MOSI, DC, RST, CS); - anunțul ecranului LCD care indică corespondența cu pinii Arduino;
InitLCD ([contrast]); - inițializarea afișajului 5110 cu o indicație opțională de contrast (0-127), implicit este 70;
setContrast (contrast); - setează contrastul (0-127);
enableSleep (); - pune ecranul în modul de repaus;
disableSleep (); - scoate ecranul din modul de repaus;
clrScr (); - șterge ecranul;
clrRow (rând, [start], [end]); - ștergerea rândului numărului rândului selectat, de la poziția început până la sfârșit;
inversa (adevărat); și inversează (fals); - pornirea și oprirea inversării conținutului ecranului LCD;
print (șir, x, y); - afișează un șir de caractere cu coordonatele specificate; în loc de coordonată x, puteți utiliza STÂNGA, CENTRU și DREAPTA; înălțimea fontului standard este de 8 puncte, deci liniile trebuie distanțate la 8 puncte;
printNumI (num, x, y, [lungime], [umplutură]); - afișează un întreg pe ecran într-o poziție dată (x, y); lungime - lungimea dorită a numărului; umplutură - un caracter pentru a umple „golurile” dacă numărul este mai mic decât lungimea dorită; implicit este un spațiu gol ";
printNumF (num, dec, x, y, [divider], [length], [filler]); - afișează un număr în virgulă mobilă; dec - numărul de zecimale; divider - punct zecimal, punct "." în mod implicit;
setFont (nume); - alege un font; fonturile încorporate sunt denumite SmallFont și TinyFont; vă puteți defini fonturile în schiță;
invertText (adevărat); și invertText (fals); - inversare text on / off;
drawBitmap (x, y, data, sx, sy); - afișați imaginea pe ecran la coordonatele x și y; date - o matrice care conține o imagine; sx și sy sunt lățimea și înălțimea imaginii.
Pasul 3
Să scriem o astfel de schiță. Mai întâi, includem biblioteca, apoi declarăm o instanță a clasei LCD5110 cu atribuții de pin.
În procedura de configurare (), inițializăm ecranul LCD.
În procedura loop (), ștergem ecranul și scriem text arbitrar într-un font mic, sub acesta, într-un font mediu, afișăm contorul de secunde.
Pasul 4
Să afișăm o imagine. Pentru a face acest lucru, să pregătim o imagine monocromă pe care dorim să o afișăm pe Nokia 5110. Amintiți-vă că rezoluția ecranului este de 48 x 84 pixeli, iar imaginea nu trebuie să fie mai mare. Pe pagina https://www.rinkydinkelectronics.com/t_imageconverter_mono.php convertiți imaginea într-o matrice de biți. Descărcați fișierul rezultat cu extensia „*.c” și adăugați-l la proiect prin intermediul meniului: Schiță -> Adăugare fișier … sau pur și simplu așezați fișierul în directorul schiță și apoi reîncărcați ID-ul Arduino.
Pasul 5
Acum trebuie să declarați o matrice cu date de imagine în codul programului (în codul meu aceasta este linia externă uint8_t mysymb;), și apoi utilizați funcția drawBitmap () pentru a afișa imaginea în locul dorit pe ecran.
Pasul 6
Încărcați schița pe Arduino. Acum textul este înlocuit cu o imagine, iar contorul își mărește valoarea de fiecare dată.