Det ikoniske navnet “ Nokia 5110 ” i seg selv burde ha kjøpt minner fra den robuste Nokia-mobiltelefonen som var veldig populær på 90-tallet. Modellen 5110 kom med en grafisk skjerm som var tilstrekkelig nok til å fungere som en skjerm for mobilen den gang. Denne skjermen var i stand til å vise alt fra alfanumeriske tegn til liten grafikk som er alt som kreves for mobiltelefonen. Da jorden kretset, kom nye teknologier med blanke berøringsskjermbilder inn og denne skjermen er ikke lenger i bruk. Men forhåpentligvis kan de brukes i elektronikkapplikasjoner der en liten grafikk må vises, og unngå å bruke penger på store LCD-skjermer. Så i denne opplæringen lærer vi hvordan vi kan grensesnitt en Nokia 5110 grafisk LCD med Arduino og få den til å fungere.
Disse LCD-skjermene har svarte og hvite piksler med dimensjonene 84 × 48. De kan se ensformige ut, men kan fremdeles brukes til å vise anstendig grafikk for prosjektene dine, og kan enkelt brukes med mikrokontrollere som Arduino. Så la oss komme i gang….!
Nødvendige materialer:
- Arduino Board (hvilken som helst versjon)
- Nokia 5110-skjerm
- Koble ledninger
Nokia 5110 grafisk skjermmodul:
Det er to typer av disse grafiske LCD-skjermene som er tilgjengelige i markedet. Den ene med loddeputer både over og under skjermen, og den andre med loddeputer bare nederst på skjermen. Den vi bruker tilhører type 2, hvor det bare er elektroder under skjermen. Begge modulene fungerer likt, og dermed er tilkoblingene de samme for begge. Så uansett hvilken modul det er, kan du følge veiledningen.
Som sagt tidligere har Nokia 5110 Grafisk LCD 84 piksler i horisontal og 48 piksler i vertikal. Den totale skjermstørrelsen er 1,72 'x 1,72'. Modulen har 6 inngangspinner som vi kan koble den til hvilken som helst mikrokontroller gjennom SPI-kommunikasjon. Grensesnitt-IC-en som kommuniserer mellom skjermen og Arduino er Philips PCD8544 skjermkontroll-IC, hvis datablad finner du her. Men hvis du bruker Arduino til å kommunisere med denne IC, trenger vi ikke bekymre deg for databladet, siden det er biblioteker som er klare til å lastes ned og brukes. Modulen vi bruker her er vist nedenfor.
Kretsdiagram:
Det komplette kretsskjemaet for tilkobling av Nokia5110 grafisk LCD med Arduino er gitt nedenfor.
Skjermmodulen har 8 pinner som brukes til å sette opp en SPI-kommunikasjon med Arduino. Modulen drives av 3,3 V-pinnen på Arduino-kortet. Vær oppmerksom på at disse modulene fungerer på 3,3 V-logikk og derfor ikke leverer 5 V til Vcc-pinnen på skjermene. Jeg har direkte koblet skjermen til Arduino, selv om LCD-skjermen fungerer på 3,3 V-logikk og Arduino på 5-V-logikk, fordi bare da fant jeg LCD-skjermen til å fungere skikkelig. Du kan bruke en spenningsdeler til å konvertere 5V til 3,3V om nødvendig, men for meg fungerer det bare uten logisk konvertering. Forbindelsene er ganske enkle og rett frem. Når du er ferdig med tilkoblingene, vil oppsettet se slik ut som vist nedenfor.
Arduino-program og arbeid:
Følg trinnene nedenfor for å programmere Arduino for Nokia 5110 Display. Trinnene antar at du allerede har installert Arduino IDE og er kjent med å bruke den.
Trinn 1: Åpne Arduino IDE på datamaskinen din og velg riktig brett under verktøymenyen etter at du har koblet Arduino til datamaskinen.
Trinn 2: Klikk her for å laste ned Nokia 5110 Display Library av Adafruit bibliotek fra GitHub repository.
Trinn 3: Når zip-filen er lastet ned, velger du Skisse -> Inkluder bibliotek -> Legg til. ZIP-bibliotek og blar til stedet der ZIP ble lastet ned.
Merk: Du må også laste ned Adafruit GFX Graphics-kjernen som gjør alle sirkler, tekst, rektangler osv. Du kan få den fra https://github.com/adafruit/Adafruit-GFX-Library og installere den på samme måte.
Trinn 4: Åpne nå eksempelprogrammet ved å velge Fil -> Eksempler -> Adafruit PCD Nokia 5110 LCD-bibliotek -> pcdtest og klikk på opplastingsknapp
Trinn 5: Når programmet er lastet opp, trykker du på tilbakestillingsknappen på Arduino, og du bør se eksempelprogrammet som viser alle animasjoner som vist i videoen gitt på slutten av denne opplæringen.
Du kan lese gjennom eksempelprogrammet for å forstå de forskjellige innebygde funksjonene som kan brukes til å utføre ulike grafiske design på LCD-skjermen. Men la oss gå et skritt videre og prøve å vise CircuitDigest-logoen på LCD-skjermen.
Åpne nå ønsket bilde i Paint og endre størrelse på bildet. Maksimal bildestørrelse vi kan bruke til skjermen vår er 84 × 48.
Etter at du har endret størrelsen på bildet, lagrer du bildet som bitmap (svart-hvitt) ved å bruke alternativet lagre som i Maling. For å vise bildet som en bitmap på LCD-skjermen, trenger vi programvare som kan konvertere bitmap-bilde til kode. Du kan laste ned programvaren ved å klikke her. Når du har lastet den ned, pakker du ut filen og klikker på “BitmapEncoder” for å starte applikasjonen. Åpne bitmapbildet som vi nettopp lagret ved hjelp av denne programvaren for å få en rekke kodede verdier. Du kan kopiere disse verdiene direkte og lime dem inn i Arduino-arrayet ditt. Verdien vist av programvare for logoen vår er vist nedenfor
Som du kan se, begynner matrisen med verdien 48, 48, dette er størrelsen på bildet vårt. Vi bør ikke legge til dette i vårt utvalg. Så fjern de to første verdiene og bruk resten som matriseverdi i programmet. Matrisen vil se ut som nedenfor. Det komplette programmet er gitt på slutten av denne siden for din referanse.
statisk const usignert char PROGMEM Logo = {B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00001111, B11111000, B00000000, B00000000, B00000000, B00000000, B00001111, B00001111, B11111000, B00000000, B00000000, B00000000, B00000000, B00000000, B00001111 B11111111, B11000000, B00000000, B00000000, B00001110, B00111110, B00111111, B11110000, B00000000, B00000000, B00111110, B00111110, B10000000, B011110000, B00000000, B00000000, B01111100, B01111100, B11000000, B11000000, B11000000 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, B00011111, B11111111, B11111000, B00000000, B00000001, B1111 B11111111, B11110000, B00000111, B11111000, B00001111, B11111111, B11000000, B00000000, B00000011, B11111100, B00100111, B11111111, B00000000, B00000000, B00000011, B11111111, B00110111, B1111110000, B111111, B10000000, B00000000, B11111111, B11001111, B10000000, B11111111, B00000000, B00000000, B01111111,B11111111, B10110001, B11111110, B00000000, B00000000, B00011111, B11111111, B10110111, B11111100, B00000000, B00000000, B00001111, B11111111, B100, 1111, B11110000, B00000000, B00000000, B00000011, B1111, B1111 B11111111, B00000000, B00000000, B00000000, B00000000, B00001111, B11110000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000};
Nå for å vise denne bitmappen må vi bruke følgende kodelinjer. Hvor de forrige dataene på skjermen slettes og det nye bitmapbildet skrives.
display.clearDisplay (); display.drawBitmap (20, 0, Logo, 48, 48, 1); display.display ();
Linjen display.drawBitmap (20, 0, logo, 48, 48, 1); vise plassering, størrelse og farge på bitmapbildet. Syntaksen kan gis som.
display.drawBitmap (X_Posisjon, Y_Posisjon, Navn på matrise, lengde på bildet, bredde på bildet);
Lengden og bredden på bildet kan fås fra henholdsvis de to første elementene i matrisen som tidligere fortalt. Når denne koden kjøres, vil vi vise bitmappen på LCD-skjermen som vist nedenfor.
Du kan også vise enkel tekst som vist nedenfor:
Håper du forsto opplæringen og fikk Nokia 5110 LCD-grensesnitt med Arduino. Med denne grafiske skjermen oppe i ermet kan du lage mange prosjekter som krever mindre grafikkdetaljer. Komplett arbeid finner du i videoen gitt nedenfor. Hvis du har problemer med å få dette til å fungere, kan du bruke forumet til å legge ut problemet eller kommentarseksjonene nedenfor.