Ikonski naziv “ Nokia 5110 ” trebao je kupiti sjećanja na robusni Nokia mobitel koji je bio vrlo popularan tijekom 90-ih. Model 5110 imao je grafički zaslon koji je tada bio dovoljan da djeluje kao zaslon zaslona za mobitel. Ovaj je zaslon mogao prikazati sve, od alfanumeričkih znakova do malih grafika, što je sve što je potrebno za mobilni telefon. Kako se zemlja vrtjela novim tehnikama sa sjajnim dodirnim zaslonima koji su se pojavili i ovaj zaslon više nije u upotrebi. Ali nadamo se da se mogu koristiti u elektroničkim aplikacijama gdje se mora prikazati mala grafika i izbjeći trošenje novca na velikim LCD zaslonima. Dakle, u ovom uputstvu naučit ćemo kako povezati grafički LCD Nokia 5110 s Arduinom i pokrenuti ga.
Ovi LCD imaju crno-bijele piksele dimenzija 84 × 48. Možda izgledaju monotono, ali se i dalje mogu koristiti za prikaz pristojne grafike za vaše projekte, a mogu se lako koristiti s mikrokontrolerima poput Arduina. Pa krenimo….!
Potrebni materijali:
- Arduino ploča (bilo koja verzija)
- Zaslon Nokia 5110
- Spajanje žica
Modul grafičkog zaslona Nokia 5110:
Na tržištu su dostupne dvije vrste ovih grafičkih LCD-a. Jedan s lemnim pločicama iznad i ispod zaslona, a drugi s lemnim pločicama samo na dnu zaslona. Ona koju koristimo pripada tipu 2, gdje se jastučići nalaze samo ispod zaslona. Oba modula rade isto i stoga su veze jednake za oba. Dakle, bez obzira o kojem se modulu radi, možete slijediti upute.
Kao što je ranije rečeno, Nokia 5110 Graphical LCD ima 84 piksela u vodoravnom i 48 piksela u vertikalnom položaju. Ukupna veličina zaslona je 1,72 'x 1,72'. Modul ima 6 ulaznih pinova pomoću kojih ga možemo povezati s bilo kojim mikrokontrolerom putem SPI komunikacije. IC-povezivač koji komunicira između zaslona i Arduina je IC-kontroler zaslona Philips PCD8544 čiji se podatkovni list nalazi ovdje. Međutim, ako koristite Arduino za komunikaciju s ovom IC-om, ne trebamo brinuti o podatkovnom listu, jer postoje knjižnice spremne za preuzimanje i upotrebu. Modul koji ovdje koristimo prikazan je u nastavku.

Kružni dijagram:
Kompletna shema spojeva za povezivanje grafičkog LCD-a Nokia5110 s Arduinom dana je u nastavku.

Zaslonski modul ima 8 pinova koji se koriste za postavljanje SPI komunikacije s Arduinom. Modul se napaja 3,3V pinom Arduino ploče. Imajte na umu da ovi moduli rade na 3.3V logici i stoga ne napajaju 5V na Vcc pin zaslona. Izravno sam spojio pin zaslona na Arduino, iako LCD radi na 3.3V, a Arduino na 5V logici, jer sam tek tada otkrio da LCD radi ispravno. Po potrebi možete koristiti razdjelnik napona za pretvorbu 5V u 3,3V, ali kod mene to djeluje samo bez logičke pretvorbe. Veze su prilično jednostavne i jednostavne za uspostavljanje. Nakon što završite s vezama, vaša postavka izgledat će otprilike ovako prikazano dolje.

Arduino program i rad:
Slijedite korake u nastavku za programiranje vašeg Arduina za zaslon Nokia 5110. Koraci pretpostavljaju da ste već instalirali Arduino IDE i da ste upoznati s njegovom upotrebom.
Korak 1: Otvorite Arduino IDE na računalu i odaberite odgovarajuću ploču u izborniku alata nakon povezivanja Arduina s računalom.
Korak 2: Kliknite ovdje za preuzimanje Nokia 5110 Display Library tvrtke Adafruit iz GitHub spremišta.
Korak 3: Jednom kada se Zip datoteka preuzme, odaberite Skica -> Uključi biblioteku -> Dodaj.ZIP biblioteku i potražite mjesto na kojem je ZIP preuzet.
Napomena: Također ćete morati preuzeti jezgru Adafruit GFX Graphics koja radi sve krugove, tekst, pravokutnike itd. Možete je dobiti na https://github.com/adafruit/Adafruit-GFX-Library i instalirati na isti način.
Korak 4: Sada otvorite primjer programa odabirom Datoteka -> Primjeri -> Adafruit PCD Nokia 5110 LCD knjižnica -> pcdtest i kliknite gumb za prijenos

Korak 5: Nakon što se program prenese, pritisnite gumb za resetiranje na Arduinu i trebali biste vidjeti primjer programa koji prikazuje sve animacije kao što je prikazano u videozapisu navedenom na kraju ovog vodiča.
Primjer programa možete pročitati kako biste razumjeli različite ugrađene funkcije koje se mogu koristiti za izvođenje različitih grafičkih dizajna na LCD-u. Ali krenimo korak dalje i pokušajmo prikazati CircuitDigest Logo na LCD zaslonu.
Sada otvorite potrebnu sliku u programu Paint i promijenite joj veličinu. Maksimalna veličina slike koju možemo koristiti za zaslon je 84 × 48.

Nakon promjene veličine slike, spremite je kao bitmapu (crno-bijelu) pomoću opcije spremi kao u programu Paint. Za prikaz slike kao bitne slike na našem LCD zaslonu trebat će nam softver koji može pretvoriti bitmapsku sliku u kôd. Softver možete preuzeti klikom ovdje. Nakon preuzimanja otpakirajte datoteku i kliknite “BitmapEncoder” da biste pokrenuli aplikaciju. Otvorite bitmapsku sliku koju smo upravo spremili pomoću ovog softvera da bismo dobili niz kodiranih vrijednosti. Te vrijednosti možete izravno kopirati i zalijepiti u svoj Arduino niz. Vrijednost koju softver prikazuje za naš logotip prikazana je u nastavku

Kao što vidite, niz započinje s vrijednošću 48, 48 ovo je veličina naše slike. Ne bismo to trebali dodati u svoj niz. Dakle, uklonite prve dvije vrijednosti, a ostatak upotrijebite kao vrijednost niza u programu. Niz će izgledati kao u nastavku. Kompletan program se daje na kraju ove stranice za referencu.
statički const nepotpisani znak PROGMEM Logo = {B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00001111, B11111000, B00000000, B00000000, B00000000, B00000000, B00001111, B11111111, B00000000, B00000000, B00000000, B0000 B11111111, B11000000, B00000000, B00000000, B00001110, B00111110, B00111111, B11110000, B00000000, B00000000, B00111110, B00111110, B10000000, B01111100, B00000000, B00000000, B01111100, B01111100, B1100000000, B1111000000, B11110000 B00001111, B00000000, B00000001, B11111000, B11111111, B00111111, B10000111, B10000000, B00000011, B11111000, B11111111, B11111111, B11000011, B11000000, B00000111, B11110001, B11111111, B11 B11 B11 B11, B11, B11, B11, B11, B11 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, B111111 B11 B111111, B111111, B111111, B111111 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, B1111, 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, B11110000, B11110000, B11110000 B10000001, B11111111, B11111100, B00000000, B00011111, B11111000, B00000111, B11111111, B11111000, B00000000, B00000111, B11111110, B00011111, B11111111, B11111000, B00000000, B00000001, B11 B11 B111111, B11, B11, B11, B11, B11 B11111111, B11110000, B00000111, B11111000, B00001111, B11111111, B11000000, B00000000, B00000011, B11111100, B00100111, B11111111, B00000000, B00000000, B00000011, B11111111, B00110111, B1111110000, B11111100 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, B00001111, B111111, B11 B11111111, B00000000, B00000000, B00000000, B00000000, B00001111, B11110000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000};
Sada za prikaz ove bitmape moramo koristiti sljedeće retke koda. Tamo gdje se brišu prethodni podaci na zaslonu i zapisuje se nova bitmap slika.
display.clearDisplay (); display.drawBitmap (20, 0, Logo, 48, 48, 1); display.display ();
Prikaz crte.drawBitmap (20, 0, Logo, 48, 48, 1); prikazati položaj, veličinu i boju bitmap slike. Sintaksa se može dati kao.
display.drawBitmap (X_Position, Y_Position, Naziv polja, duljina slike, širina slike);
Duljina i širina slike mogu se dobiti iz prva dva elementa niza, kako je već rečeno. Kada se ovaj kôd pokrene, dobit ćemo prikaz bitma na našem LCD zaslonu kao što je prikazano dolje.

Također možete prikazati jednostavan tekst kao što je prikazano u nastavku:

Nadam se da ste razumjeli tutorial i dobili svoj Nokia 5110 LCD povezan s Arduinom. Pomoću ovog grafičkog zaslona u rukavu možete stvoriti mnoge projekte koji zahtijevaju manje grafičke detalje. Kompletni rad možete pronaći u video prilogu dolje. Ako se suočite s bilo kojim problemom u postizanju ovog rezultata, na forumu možete objaviti svoj problem ili odjeljke za komentare u nastavku.
