- Materials necessaris:
- Mòdul de pantalla gràfica Nokia 5110:
- Esquema de connexions:
- Programa i treball Arduino:
El nom icònic " Nokia 5110 " en si mateix hauria d'haver comprat records del robust telèfon mòbil Nokia que va ser molt popular durant els anys 90. El model 5110 venia amb una pantalla gràfica suficient per actuar com a pantalla de visualització del mòbil d’aleshores. Aquesta pantalla era capaç de mostrar des de caràcters alfanumèrics fins a petits gràfics, que és tot el necessari per al telèfon mòbil. A mesura que la terra girava, van aparèixer noves tecnologies amb pantalles tàctils brillants i aquesta pantalla ja no s’utilitza. Però espero que es puguin utilitzar en aplicacions electròniques on s’hagi de mostrar gràfics petits i evitar gastar diners en pantalles LCD grans. Així doncs, en aquest tutorial aprendrem com interactuar un Nokia 5110 Graphical LCD amb Arduino i fer-lo funcionar.
Aquestes pantalles LCD tenen píxels en blanc i negre de dimensions 84 × 48. Poden semblar monòtones, però es poden utilitzar per mostrar gràfics dignes per als vostres projectes i es poden utilitzar fàcilment amb microcontroladors com Arduino. Comencem doncs….!
Materials necessaris:
- Taula Arduino (qualsevol versió)
- Pantalla Nokia 5110
- Connexió de cables
Mòdul de pantalla gràfica Nokia 5110:
Hi ha dos tipus d’aquests LCD gràfics disponibles al mercat. Un amb coixinets de soldar per sobre i per sota de la pantalla i l’altre només amb coixinets de soldar a la part inferior de la pantalla. El que fem servir pertany al tipus 2, on només hi ha coixinets a sota de la pantalla. Tots dos mòduls funcionen igual i, per tant, les connexions són iguals per a tots dos. Així que, independentment del mòdul que es pugui, podeu seguir el tutorial.
Com es va dir anteriorment, el Nokia 5110 Graphic LCD té 84 píxels en horitzontal i 48 píxels en vertical. La mida total de la pantalla és d'1,72 "x 1,72". El mòdul té 6 pins d'entrada mitjançant els quals podem connectar-lo a qualsevol microcontrolador mitjançant la comunicació SPI. El CI d'interfície que comunica entre la pantalla i l'Arduino és l'IC del controlador de pantalla Philips PCD8544, el full de dades es troba aquí. Tanmateix, si utilitzeu Arduino per comunicar-vos amb aquest IC, no ens hem de preocupar pel full de dades, ja que hi ha biblioteques que es poden descarregar i utilitzar. A continuació es mostra el mòdul que fem servir aquí.

Esquema de connexions:
A continuació es mostra el diagrama de circuits complet per connectar el LCD gràfic Nokia5110 amb Arduino.

El mòdul de visualització té 8 pins que s’utilitzen per configurar una comunicació SPI amb Arduino. El mòdul s’alimenta amb el pin de 3,3 V de la placa Arduino. Tingueu en compte que aquests mòduls funcionen amb lògica de 3,3 V i, per tant, no subministren 5 V al pin Vcc de les pantalles. He connectat directament el pin de la pantalla a Arduino, tot i que la pantalla LCD funciona amb lògica de 3,3 V i Arduino amb lògica de 5 V, perquè només llavors vaig trobar que la pantalla LCD funcionava correctament. Podeu utilitzar un divisor de voltatge per convertir 5V a 3,3V si cal, però per a mi només funciona sense la conversió lògica. Les connexions són bastant senzilles i senzilles de fer. Un cop hàgiu acabat les connexions, la vostra configuració es veuria com la que es mostra a continuació.

Programa i treball Arduino:
Seguiu els passos següents per programar el vostre Arduino per al Nokia 5110 Display. Els passos suposen que ja heu instal·lat l'IDE Arduino i que esteu familiaritzat amb el seu ús.
Pas 1: obriu l'IDE Arduino a l'ordinador i seleccioneu la placa adequada al menú d'eines després de connectar l'Arduino a l'ordinador.
Pas 2: feu clic aquí per descarregar la biblioteca Nokia 5110 Display Library per Adafruit des del dipòsit GitHub.
Pas 3: Un cop descarregat el fitxer Zip, seleccioneu Esbós -> Inclou biblioteca -> Afegeix biblioteca.ZIP i aneu a la ubicació on s'ha descarregat el codi postal.
Nota: També haureu de descarregar el nucli gràfic Adafruit GFX que fa tots els cercles, text, rectangles, etc. Podeu obtenir-lo a https://github.com/adafruit/Adafruit-GFX-Library i instal·lar-lo de la mateixa manera.
Pas 4: ara obriu el programa d’exemple seleccionant Fitxer -> Exemples -> Biblioteca LCD Adafruit PCD Nokia 5110 -> pcdtest i feu clic al botó de càrrega

Pas 5: Un cop carregat el programa, premeu el botó de restabliment de l'Arduino i hauríeu de veure l'exemple de programa que mostra totes les animacions tal com es mostra al vídeo que apareix al final d'aquest tutorial.
Podeu llegir el programa d'exemple per entendre les diverses funcions integrades que es podrien utilitzar per realitzar diversos dissenys gràfics a la pantalla LCD. Però anem un pas més enllà i provem de mostrar el logotip de CircuitDigest a la pantalla LCD.
Ara obriu la imatge necessària a Paint i canvieu la mida de la imatge. La mida màxima de la imatge que podem utilitzar per a la nostra pantalla és de 84 × 48.

Després de canviar la mida de la imatge, deseu-la com a mapa de bits (blanc i negre) mitjançant l' opció Desa com a Paint. Per mostrar la imatge com a mapa de bits a la nostra pantalla LCD, necessitarem un programari que pugui convertir la imatge de mapa de bits en codi. Podeu descarregar el programari fent clic aquí. Un cop descarregat, descomprimiu el fitxer i feu clic a "BitmapEncoder" per iniciar l'aplicació. Obriu la imatge de mapa de bits que acabem de desar amb aquest programari per obtenir la matriu de valors codificats. Podeu copiar aquests valors directament i enganxar-los a la vostra matriu Arduino. A continuació es mostra el valor que mostra el programari per al nostre logotip

Com podeu veure, la matriu comença amb el valor 48, 48, aquesta és la mida de la nostra imatge. No hauríem d'afegir això a la nostra matriu. Per tant, elimineu els dos primers valors i utilitzeu la resta com a valor de matriu al programa. La matriu tindrà l'aspecte següent. El programa complet es proporciona al final d’aquesta pàgina com a referència.
estàtic const sense signe PROGMEM Logotip = {B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00001111, B11111000, B00000000, B00000000, B00000000, B000000, B0011, B00, B00, B00, B00 B11111111, B11000000, B00000000, B00000000, B00001110, B00111110, B00111111, B11110000, B00000000, B00000000, B00111110, B00111110, B10000000, B01111100, B00000000, B00000000, B01111100, B01111100, B11000000, B00111110, B00000000, B00000000, B11111100, B01111110, B00000000, B00001111, B00000000, B00000001, B11111000, B11111111, B00111111, B10000111, B10000000, B00000011, B11111000, B11111111, B11111111, B11000011, B11000000, B00000111, B11111111, B11111111, B11111111, B11111111, B111111, B111111 B01100000, B00000000, B00000011, B11100000, B00001001, B11111100, B00000000, B00000000, B00000111,B11100000, B00011001, B11111110, B00000000, B00000000, B00000111, B11000000, B00000001, B11111111, B10000000, B00011111, B11111111, B11000111, B11100011, B11111111, B11111000, B11, B11, B11, B11, B11, B11, B11, B11, B11, B11, B11, B11, B11 B11111111, B11111111, B11111100, B00111111, B11111111, B00011111, B11111111, B11111111, B11111100, B00111111, B11111110, B00111111, B00111111, B11111111, B11111110, B01111111, B11111110, B00111110, B00000000, B01111111, B11111100, B01111111, B11111100, B01111100, B11000000, B00000000, B00000000, B01111111, B11111100, B01111110, B10000000, B00000000, B00000000, B00000000, B00000000, B11111110, B00111111, B11111111, B11111110, B00000000, B00000001, B11111111, B11111111, B11111111, B11111110, B01111111, B11111111, B11111111, B11111111, B11111111, B11111110, B01111111, B11111111, B11111111, B11111111, B11111111, B11111110, B01111111, B11111111,B11000111, B11111111, B11111111, B11111110, B00111111, B11111111, B10000011, B11111110, B00000000, B00000000, B00111111, B11111111, B10110011, B11111000, B00000000, B00000000, B000000, B11, B00, B11, B00, B11, B00, B11 B10000001, B11111111, B11111100, B00000000, B00011111, B11111000, B00000111, B11111111, B11111000, B00000000, B00000111, B11111110, B00011111, B11111111, B11111000, B00000000, B00000001, B11111111, B01111111, B11111111, B11110000, B00001111, B11100000, B11111111, B11111111, B11111111, B11110000, B00000111, B11111000, B00001111, B11111111, B11000000, B00000000, B00000011, B11111100, B00100111, B11111111, B00000000, B00000000, B00000011, B11111111, B00110111, B11111100, B00000000, B00000000, B00000001, B11111111, B10000111, B11011000, B00111111, B10000000, B00000000, B11111111, B11001111, B10000000, B11111111, B00000000, B00000000, B01111111,B11111111, B10110001, B11111110, B00000000, B00000000, B00011111, B11111111, B10110111, B11111100, B00000000, B00000000, B00001111, B11111111, B10000111, B11110000, B00000000, B00000000, B00000011, B11111111, B11111111, B11000000, B00000000, B00000000, B00000000, B11111111, B11111111, B00000000, B00000000, B00000000, B00000000, B00001111, B11110000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000};
Ara per mostrar aquest mapa de bits hem d’utilitzar les següents línies de codi. On s’esborren les dades anteriors a la pantalla i s’escriu la nova imatge de mapa de bits.
display.clearDisplay (); display.drawBitmap (20, 0, logotip, 48, 48, 1); display.display ();
La línia display.drawBitmap (20, 0, Logotip, 48, 48, 1); mostra la posició, la mida i el color de la imatge de mapa de bits. La sintaxi es pot indicar com.
display.drawBitmap (X_Position, Y_Position, nom de la matriu, longitud de la imatge, amplitud de la imatge);
La longitud i amplitud de la imatge es pot obtenir a partir dels dos primers elements de la matriu, respectivament, tal com s’ha explicat anteriorment. Quan s'executi aquest codi, obtindrem el mapa de bits que es mostra a la nostra pantalla LCD com es mostra a continuació.

També podeu mostrar text senzill com es mostra a continuació:

Espero que hàgiu entès el tutorial i tingueu interfície LCD Nokia 5110 amb Arduino. Amb aquesta visualització gràfica a la màniga, podeu crear molts projectes que requereixen detalls gràfics menors. El funcionament complet es pot trobar al vídeo que es mostra a continuació. Si teniu algun problema per aconseguir que això funcioni, podeu utilitzar el fòrum per publicar el vostre problema o les seccions de comentaris següents.
