Esbrinem com connectar una pantalla de cristall líquid de 84x48 píxels des del Nokia 5110 a Arduino.
Necessari
- - Arduino;
- - Pantalla LCD per a Nokia 5110/3310;
- - cables de connexió.
Instruccions
Pas 1
Connectem la pantalla LCD del Nokia 5110 a Arduino segons el diagrama següent.
Pas 2
S’han escrit moltes biblioteques per treballar amb aquesta pantalla LCD. Us suggereixo fer servir aquest: https://www.rinkydinkelectronics.com/library.php?id=44 (descarregueu el fitxer LCD5110_Basic.zip).
Per instal·lar-lo, descomprimiu el fitxer al directori Arduino IDE / libraries /.
La biblioteca admet les funcions següents.
LCD5110 (SCK, MOSI, DC, RST, CS); - anunci de la pantalla LCD que indica la correspondència amb els pins de l'Arduino;
InitLCD ([contrast]); - inicialització de la pantalla 5110 amb una indicació opcional de contrast (0-127), el valor per defecte és 70;
setContrast (contrast); - estableix el contrast (0-127);
enableSleep (); - posa la pantalla en mode de repòs;
disableSleep (); - treu la pantalla del mode de repòs;
clrScr (); - neteja la pantalla;
clrRow (fila, [inici], [final]); - esborrar la fila del número de fila seleccionada, de la posició inicial a final;
invertir (cert); i invertir (fals); - activar i desactivar la inversió del contingut de la pantalla LCD;
imprimir (cadena, x, y); - mostra una cadena de caràcters amb les coordenades especificades; en lloc de coordenades x, podeu utilitzar ESQUERRA, CENTRE i DRETA; l'alçada del tipus de lletra estàndard és de 8 punts, de manera que les línies han d'estar espaiades en 8 punts;
printNumI (num, x, y, [longitud], [farcit]); - mostrar un enter a la pantalla en una posició determinada (x, y); longitud: la longitud desitjada del número; farciment: un caràcter per omplir els "buits" si el nombre és inferior a la longitud desitjada; el valor per defecte és un espai buit ";
printNumF (num, dec, x, y, [divisor], [longitud], [farcit]); - mostrar un número de coma flotant; dec - nombre de xifres decimals; divisor: punt decimal, punt "." per defecte;
setFont (nom); - escolliu un tipus de lletra; els tipus de lletra incorporats s’anomenen SmallFont i TinyFont; podeu definir els vostres tipus de lletra a l'esbós;
invertText (true); i invertText (fals); - inversió de text activat / desactivat;
drawBitmap (x, y, data, sx, sy); - mostrar la imatge a la pantalla a les coordenades xey; dades: una matriu que conté una imatge; sx i sy són l'amplada i l'alçada de la imatge.
Pas 3
Escrivim aquest esbós. Primer, incloem la biblioteca, i després declarem una instància de la classe LCD5110 amb assignacions de pins.
En el procediment setup (), inicialitzem la pantalla LCD.
En el procediment loop (), netejem la pantalla i escrivim text arbitrari en una font petita, a sota, en una font mitjana, es mostra el comptador de segons.
Pas 4
Mostrem una imatge. Per fer-ho, preparem una imatge monocroma que vulguem que es mostri al Nokia 5110. Recordeu que la resolució de la pantalla és de 48 per 84 píxels i que la imatge no hauria de ser més gran. A la pàgina https://www.rinkydinkelectronics.com/t_imageconverter_mono.php converteix la imatge en una matriu de bits. Baixeu el fitxer resultant amb l'extensió "*.c" i afegiu-lo al projecte mitjançant el menú: Sketch -> Add File … o simplement col·loqueu el fitxer al directori d'esbossos i torneu a carregar l'IDE Arduino.
Pas 5
Ara heu de declarar una matriu amb dades d’imatges al codi del programa (al meu codi aquesta és la línia externa uint8_t mysymb;) i, a continuació, utilitzeu la funció drawBitmap () per mostrar la imatge al lloc desitjat a la pantalla.
Pas 6
Pengeu l'esbós a Arduino. Ara el text se substitueix per una imatge i el comptador augmenta el seu valor cada vegada.