Det ikoniska namnet ” Nokia 5110 ” i sig borde ha köpt minnen från den robusta Nokia-mobiltelefonen som var mycket populär under 90-talet. Modellen 5110 kom med en grafisk skärm som var tillräcklig för att fungera som en skärm för mobilen då. Den här skärmen kunde visa allt från alfanumeriska tecken till liten grafik som är allt som krävs för mobiltelefonen. När jorden kretsade dyker nya tekniker med glänsande pekskärmar in och den här skärmen används inte längre. Men förhoppningsvis kan de användas i elektronikapplikationer där en liten grafik måste visas och undvika att spendera pengar på stora LCD-skärmar. Så i den här guiden lär vi oss hur man gränssnitt en Nokia 5110 grafisk LCD med Arduino och får den att fungera.
Dessa LCD-skärmar har svarta och vita pixlar med måtten 84 × 48. De kan se monotona ut men kan ändå användas för att visa anständig grafik för dina projekt och kan enkelt användas med mikrokontroller som Arduino. Så låt oss komma igång….!
Material som krävs:
- Arduino Board (valfri version)
- Nokia 5110-skärm
- Anslutande ledningar
Nokia 5110 grafisk display-modul:
Det finns två typer av dessa grafiska LCD-skärmar tillgängliga på marknaden. En med lödkuddar både ovanför och under skärmen och den andra med lödkuddar bara längst ner på skärmen. Den som vi använder tillhör typ 2, där det bara finns dynor under skärmen. Båda modulerna fungerar på samma sätt och därför är anslutningarna desamma för båda. Så oavsett vilken modul det är kan du följa handledningen.
Som sagt tidigare har Nokia 5110 grafisk LCD 84 pixlar i horisontell och 48 pixlar i vertikal. Den totala skärmstorleken är 1,72 x 1,72. Modulen har 6 ingångsstift som vi kan ansluta den till vilken mikrokontroller som helst genom SPI-kommunikation. Gränssnitts-IC som kommunicerar mellan skärmen och Arduino är Philips PCD8544 display controller IC vars datablad finns här. Men om du använder Arduino för att kommunicera med denna IC behöver vi inte oroa oss för databladet eftersom det finns bibliotek som är redo att laddas ner och användas. Modulen som vi använder här visas nedan.
Kretsschema:
Det fullständiga kretsschemat för anslutning av Nokia5110 grafisk LCD med Arduino ges nedan.
Displaymodulen har 8 stift som används för att skapa en SPI-kommunikation med Arduino. Modulen drivs med Arduino-kortets 3,3 V-stift. Observera att dessa moduler fungerar på 3,3 V-logik och därför inte levererar 5 V till Vcc-stiftet på skärmarna. Jag har direkt anslutit bildskärmens stift till Arduino, även om LCD-skärmen fungerar på 3.3V-logik och Arduino på 5V-logik, för först då tyckte jag att LCD-skärmen fungerade ordentligt. Du kan använda en spänningsdelare för att konvertera 5V till 3,3V om det behövs, men för mig fungerar det bara utan logisk omvandling. Anslutningarna är ganska enkla och rakt fram. När du är klar med anslutningarna ser din inställning ut ungefär så här som visas nedan.
Arduino-program och arbete:
Följ stegen nedan för att programmera din Arduino för Nokia 5110 Display. Stegen förutsätter att du redan har installerat Arduino IDE och känner till att använda den.
Steg 1: Öppna Arduino IDE på din dator och välj lämpligt kort under verktygsmenyn efter att du har anslutit din Arduino till din dator.
Steg 2: Klicka här för att ladda ner Nokia 5110 Display Library av Adafruit-biblioteket från GitHub-arkivet.
Steg 3: När Zip-filen har laddats ner väljer du Skiss -> Inkludera bibliotek -> Lägg till.ZIP-bibliotek och bläddrar till platsen där ZIP-filen hämtades.
Obs! Du måste också ladda ner Adafruit GFX Graphics-kärnan som gör alla cirklar, text, rektanglar etc. Du kan hämta det från https://github.com/adafruit/Adafruit-GFX-Library och installera det på samma sätt.
Steg 4: Öppna nu exempelprogrammet genom att välja Arkiv -> Exempel -> Adafruit PCD Nokia 5110 LCD-bibliotek -> pcdtest och klicka på uppladdningsknappen
Steg 5: När programmet har laddats upp, tryck på återställningsknappen på Arduino så ser du exempelprogrammet som visar alla animationer som visas i videon i slutet av denna handledning.
Du kan läsa igenom exempelprogrammet för att förstå de olika inbyggda funktionerna som kan användas för att utföra olika grafikdesigner på LCD-skärmen. Men låt oss gå ett steg längre och försöka visa CircuitDigest-logotypen på LCD-skärmen.
Öppna nu önskad bild i Måla och ändra storlek på bilden. Den maximala bildstorlek som vi kan använda för vår skärm är 84 × 48.
När du har ändrat storlek på bilden sparar du bilden som bitmapp (svartvitt) genom att använda alternativet spara som i Måla. För att visa bilden som en bitmapp på vår LCD-skärm behöver vi programvara som kan konvertera bitmappsbild till kod. Du kan ladda ner programvaran genom att klicka här. När du väl har laddat ner packar du upp filen och klickar på “BitmapEncoder” för att starta applikationen. Öppna bitmappsbilden som vi just sparade med den här programvaran för att få en rad kodade värden. Du kan kopiera dessa värden direkt och klistra in dem i din Arduino-array. Värdet som visas av programvaran för vår logotyp visas nedan
Som du kan se matrisen börjar med värdet 48, 48 är detta storleken på vår bild. Vi bör inte lägga till detta i vår matris. Så ta bort de två första värdena och använd resten som arrayvärde i programmet. Matrisen kommer att se ut nedan. Det kompletta programmet ges i slutet av denna sida för din referens.
statisk konst osignerad char PROGMEM-logotyp = {B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00001111, B11111000, B00000000, B00000000, B00000000, B00000000, B00001111, B11111111, B00000000, B00000000, B00000000, B00000000, B00000000, B00001111, B11111111, B00000000, B00000000, B00000000, B00000000 B11111111, B11000000, B00000000, B00000000, B00001110, B00111110, B00111111, B11110000, B00000000, B00000000, B00111110, B00111110, B10000000, B011110000, B00000000, B00000000, B01111100, B01111100, B110000, B110000, B110000, B110000 B00001111, B00000000, B00000001, B11111000, B11111111, B00111111, B10000111, B10000000, B00000011, B11111000, B11111111, B11111111, B11000011, B11000000, B00000111, B11110001, B11111111, B11111 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, B0000, B00000001, B1111, B111111 B11111111, B11110000, B00000111, B11111000, B00001111, B11111111, B11000000, B00000000, B00000011, B11111100, B00100111, B11111111, B00000000, B00000000, B00000011, B11111111, B00110111, B1111110000, B00001111, 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, B1111, B1111, B1111 B11111111, B00000000, B00000000, B00000000, B00000000, B00001111, B11110000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000};
Nu för att visa denna bitmapp måste vi använda följande kodrader. Där tidigare data på skärmen raderas och den nya bitmappsbilden skrivs.
display.clearDisplay (); display.drawBitmap (20, 0, Logo, 48, 48, 1); display.display ();
Linjen display.drawBitmap (20, 0, logo, 48, 48, 1); visa bitmapbildens position, storlek och färg. Syntaxen kan ges som.
display.drawBitmap (X_Position, Y_Position, Array Name, längd på bilden, bildens bredd);
Bildens längd och bredd kan erhållas från de två första elementen i matrisen som tidigare nämnts. När den här koden körs visas bitmappen på vår LCD-skärm enligt nedan.
Du kan också visa enkel text som visas nedan:
Hoppas att du förstod handledningen och fick din Nokia 5110 LCD gränssnitt med Arduino. Med den här grafiska skärmen uppe i ärmen kan du skapa många projekt som kräver mindre grafiska detaljer. Hela arbetet finns i videon nedan. Om du har problem med att få det att fungera kan du använda forumet för att lägga upp ditt problem eller kommentarsektionerna nedan.