- Nødvendige materialer:
- Nokia 5110 grafisk display modul:
- Kredsløbsdiagram:
- Arduino-program og arbejde:
Selve det ikoniske navn ” Nokia 5110 ” skulle have købt minder om den robuste Nokia-mobiltelefon, som var meget populær i 90'erne. Modellen 5110 kom med en grafisk skærm, som var tilstrækkelig nok til at fungere som en skærm til mobilen dengang. Denne skærm kunne vise alt fra alfanumeriske tegn til lille grafik, der er alt, hvad der kræves til mobiltelefonen. Da jorden drejede, kom nye teknologier med skinnende berøringsskærme ind, og dette display er ikke længere i brug. Men forhåbentlig kan de bruges i elektronikapplikationer, hvor en lille grafik skal vises, og undgå at bruge penge på store LCD-skærme. Så i denne vejledning lærer vi, hvordan man interagerer en Nokia 5110 grafisk LCD med Arduino og får den til at fungere.
Disse LCD-skærme har sorte og hvide pixels i dimensionerne 84 × 48. De ser muligvis ensformige ud, men kan stadig bruges til at vise anstændig grafik til dine projekter og kan nemt bruges med mikrocontrollere som Arduino. Så lad os komme i gang….!
Nødvendige materialer:
- Arduino Board (enhver version)
- Nokia 5110 skærm
- Tilslutning af ledninger
Nokia 5110 grafisk display modul:
Der findes to typer af disse grafiske LCD-skærme på markedet. Den ene med loddeunderlag både over og under skærmen og den anden med loddeunderlag kun i bunden af skærmen. Den, vi bruger, hører til type 2, hvor der kun er puder under skærmen. Begge moduler fungerer ens, og derfor er forbindelserne ens for begge. Så uanset hvilket modul det er, kan du følge vejledningen.
Som tidligere nævnt har Nokia 5110 Grafisk LCD 84 pixels i vandret og 48 pixels i lodret. Den samlede skærmstørrelse er 1,72 'x 1,72'. Modulet har 6 indgangsben, ved hjælp af hvilke vi kan interface det til enhver mikrocontroller via SPI-kommunikation. Grænsefladen IC, der kommunikerer mellem skærmen og Arduino er Philips PCD8544 display controller IC, hvis datablad kan findes her. Men hvis du bruger Arduino til at kommunikere med denne IC, behøver vi ikke bekymre os om databladet, da der er biblioteker, der er klar til at blive downloadet og brugt. Modulet, som vi bruger her, er vist nedenfor.
Kredsløbsdiagram:
Det komplette kredsløbsdiagram til tilslutning af Nokia5110 Grafisk LCD med Arduino er angivet nedenfor.
Displaymodulet har 8 ben, der bruges til at oprette en SPI-kommunikation med Arduino. Modulet får strøm fra Arduino-kortets 3,3 V-ben. Bemærk, at disse moduler fungerer på 3,3 V-logik og derfor ikke leverer 5 V til Vcc-stift på skærme. Jeg har direkte tilsluttet pin-displayet til Arduino, selvom LCD fungerer på 3.3V logik og Arduino på 5V logik, fordi først da fandt jeg LCD'et fungere korrekt. Du kan bruge en spændingsdeler til at konvertere 5V til 3,3V, hvis det kræves, men for mig fungerer det kun uden logisk konvertering. Forbindelserne er ret enkle og lige frem at lave. Når du er færdig med forbindelserne, vil din opsætning se sådan ud som vist nedenfor.
Arduino-program og arbejde:
Følg nedenstående trin for at programmere din Arduino til Nokia 5110 Display. Trinene antager, at du allerede har installeret Arduino IDE og er fortrolig med at bruge den.
Trin 1: Åbn Arduino IDE på din computer, og vælg det relevante kort under værktøjsmenuen, når du har tilsluttet din Arduino til din computer.
Trin 2: Klik her for at downloade Nokia 5110 Display Library af Adafruit-biblioteket fra GitHub-arkivet.
Trin 3: Når zip-filen er downloadet, skal du vælge Skitse -> Inkluder bibliotek -> Tilføj.ZIP-bibliotek og gennemse det sted, hvor ZIP blev downloadet.
Bemærk: Du bliver også nødt til at downloade Adafruit GFX Graphics-kernen, som gør alle cirkler, tekst, rektangler osv. Du kan få det fra https://github.com/adafruit/Adafruit-GFX-Library og installere det på samme måde.
Trin 4: Åbn nu eksempelprogrammet ved at vælge Filer -> Eksempler -> Adafruit PCD Nokia 5110 LCD-bibliotek -> pcdtest og klik på upload-knappen
Trin 5: Når programmet er uploadet, skal du trykke på nulstillingsknappen på Arduino, og du skal se eksempelprogrammet, der viser alle animationer som vist i videoen i slutningen af denne vejledning.
Du kan læse gennem eksempelprogrammet for at forstå de forskellige indbyggede funktioner, der kan bruges til at udføre forskellige grafiske design på LCD'et. Men lad os gå et skridt videre og prøve at vise CircuitDigest-logoet på LCD-skærmen.
Åbn nu det ønskede billede i Maling, og tilpas størrelsen på billedet. Den maksimale billedstørrelse, som vi kan bruge til vores skærm, er 84 × 48.
Når du har ændret størrelsen på billedet, skal du gemme billedet som bitmap (sort / hvid) ved hjælp af indstillingen Gem som i Maling. For at vise billedet som en bitmap på vores LCD-skærm har vi brug for software, der kan konvertere bitmapbillede til kode. Du kan downloade softwaren ved at klikke her. Når den er downloadet, skal du pakke filen ud og klikke på “BitmapEncoder” for at starte applikationen. Åbn det bitmapbillede, som vi lige har gemt ved hjælp af denne software for at få en række kodede værdier. Du kan kopiere disse værdier direkte og indsætte det i dit Arduino-array. Værdien vist af software til vores logo er vist nedenfor
Som du kan se, begynder arrayet med værdien 48, 48, dette er størrelsen på vores billede. Vi skal ikke tilføje dette i vores array. Så fjern de to første værdier og brug resten som arrayværdien i programmet. Arrayet vil se ud som nedenfor. Det komplette program findes i slutningen af denne side til din reference.
statisk const usigneret char PROGMEM Logo = {B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00001111, B11111000, B00000000, B00000000, B00000000, B00000000, B00001111, B11111111, B00000000, B00000000, B00000000, B00000000, B00000000, B00001111 B11111111, B11000000, B00000000, B00000000, B00001110, B00111110, B00111111, B11110000, B00000000, B00000000, B00111110, B00111110, B10000000, B01111100, B00000000, B00000000, B01111100, B01111100, B110000, B110000, B110000, B00001111, B00000000, B00000001, B11111000, B11111111, B00111111, B10000111, B10000000, B00000011, B11111000, B11111111, B11111111, B11000011, B11000000, B00000111, B11110001, B11111111, B11110011 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, B00111111, B1111 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, B1111 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, B00111111, B1111, B1111, B1111 B10000001, B11111111, B11111100, B00000000, B00011111, B11111000, B00000111, B11111111, B11111000, B00000000, B00000111, B11111110, B1111111, B11111111, B11111000, B00000000, B00000001, B1111, B111111 B11111111, B11110000, B00000111, B11111000, B00001111, B11111111, B11000000, B00000000, B00000011, B11111100, B00100111, B11111111, B00000000, B00000000, B00000011, B11111111, B00110111, B111100, B111111, 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, B1100, B1111 B11111111, B00000000, B00000000, B00000000, B00000000, B00001111, B11110000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000};
Nu for at få vist denne bitmap skal vi bruge følgende kodelinjer. Hvor de tidligere data på skærmen slettes, og det nye bitmapbillede skrives.
display.clearDisplay (); display.drawBitmap (20, 0, Logo, 48, 48, 1); display.display ();
Linjen display.drawBitmap (20, 0, logo, 48, 48, 1); vise bitmapbilledets position, størrelse og farve. Syntaksen kan gives som.
display.drawBitmap (X_Position, Y_Position, Arraynavn, længde af billede, bredde af billede);
Længden og bredden af billedet kan opnås fra henholdsvis de to første element i arrayet som tidligere fortalt. Når denne kode køres, får vi bitmap vist på vores LCD-skærm som vist nedenfor.
Du kan også vise enkel tekst som vist nedenfor:
Håber du forstod vejledningen og fik din Nokia 5110 LCD grænseflade til Arduino. Med denne grafiske skærm i ærmet kan du oprette mange projekter, der kræver mindre grafiske detaljer. Det komplette arbejde kan findes i videoen nedenfor. Hvis du står over for et problem med at få dette til at fungere, kan du bruge forummet til at sende dit problem eller kommentarerne nedenfor.