Ikonisen nimen " Nokia 5110 " itsessään olisi pitänyt ostaa muistoja vankasta Nokian matkapuhelimesta, joka oli erittäin suosittu 90-luvulla. Mallin 5110 mukana toimitettiin graafinen näyttö, joka riitti toimimaan tuolloin matkapuhelimen näyttönä. Tämä näyttö pystyi näyttämään kaiken aakkosnumeerisista merkeistä pieniin grafiikoihin, jotka ovat kaikki mitä matkapuhelimelle tarvitaan. Kun maa käänsi uusia tekniikoita kiiltävillä kosketusnäytöillä, tämä näyttö ei ole enää käytössä. Mutta toivottavasti niitä voidaan käyttää elektroniikkasovelluksissa, joissa on näytettävä pieni grafiikka, ja vältettävä rahaa käyttämistä suurilla LCD-näytöillä. Joten tässä opetusohjelmassa opimme, miten Nokia 5110 -näytönohjain voidaan liittää Arduinoon ja saada se toimimaan.
Näillä nestekidenäytöillä on mustavalkoiset pikselit, joiden mitat ovat 84 × 48. Ne voivat näyttää yksitoikkoisilta, mutta silti niitä voidaan käyttää näyttämään kunnollista grafiikkaa projekteillesi ja niitä voidaan käyttää helposti mikro-ohjainten, kuten Arduinon, kanssa. Joten aloitetaan….!
Tarvittavat materiaalit:
- Arduino Board (mikä tahansa versio)
- Nokia 5110 -näyttö
- Johtojen liittäminen
Nokia 5110 -näyttömoduuli:
Näitä graafisia LCD-näyttöjä on saatavana kahta tyyppiä. Toisessa on juotepehmusteet sekä näytön ylä- että alapuolella ja toisessa juotospehmusteet vain näytön pohjassa. Käyttämämme tyyppi kuuluu tyypiin 2, jossa vain näytön alla on tyynyjä. Molemmat moduulit toimivat samalla tavalla, joten yhteydet ovat samat molemmille. Joten riippumatta siitä, mikä moduuli se on, voit seurata opetusohjelmaa.
Kuten aiemmin mainittiin, Nokia 5110 -näytönohjaimessa on 84 pikseliä vaakasuorassa ja 48 pikseliä pystysuorassa. Näytön koko on 1,72 'x 1,72'. Moduulissa on 6 tulonastaa, joiden avulla voimme liittää sen mihin tahansa mikrokontrolleriin SPI-tiedonsiirron kautta. Näytön ja Arduinon välillä kommunikoiva liitäntäpiiri on Philips PCD8544 -näyttöohjaimen mikropiiri, jonka tietolomake löytyy täältä. Jos kuitenkin käytät Arduinoa kommunikoida tämän IC: n kanssa, meidän ei tarvitse huolehtia tietolomakkeesta, koska on olemassa kirjastoja, jotka ovat valmiita lataamaan ja käyttämään. Tässä käytettävä moduuli näkyy alla.
Piirikaavio:
Täydellinen kytkentäkaavio Nokia5110 -näytönohjaimen liittämiseksi Arduinoon on annettu alla.
Näyttömoduulissa on 8 nastaa, joita käytetään SPI-yhteyden muodostamiseen Arduinon kanssa. Moduuli saa virtansa Arduino-kortin 3,3 V: n nastasta. Huomaa, että nämä moduulit toimivat 3,3 V: n logiikan mukaan eivätkä siten syöttää 5 V: n näyttöjen Vcc-nastaan. Olen kytkenyt näytön nastan suoraan Arduinoon, vaikka nestekidenäyttö toimii 3.3V-logiikalla ja Arduino 5V-logiikalla, koska vasta silloin huomasin nestekidenäytön toimivan kunnolla. Voit käyttää jännitteenjakajaa muuntaaksesi 5 V: n 3,3 V: ksi tarvittaessa, mutta minulle se toimii vain ilman logiikkamuunnosta. Liitännät ovat melko yksinkertaisia ja suoraviivaisia. Kun olet valmis liitäntöihin, kokoonpanosi näyttäisi tältä tältä.
Arduino-ohjelma ja työskentely:
Seuraa alla olevia ohjeita ohjelmoidaksesi Arduino Nokia 5110 -näyttöön. Vaiheissa oletetaan, että olet jo asentanut Arduino IDE: n ja tuntenut sen käytön.
Vaihe 1: Avaa Arduino IDE tietokoneellasi ja valitse sopiva kortti työkaluvalikosta, kun olet liittänyt Arduino tietokoneeseesi.
Vaihe 2: Lataa Adafruit-kirjasto Nokia 5110 Display Library GitHub-arkistosta napsauttamalla tätä.
Vaihe 3: Kun Zip-tiedosto on ladattu, valitse Luonnos -> Sisällytä kirjasto -> Lisää.ZIP-kirjasto ja selaa sijaintiin, johon ZIP ladattiin.
Huomaa: Sinun on myös ladattava Adafruit GFX Graphics -ydin, joka tekee kaikki ympyrät, tekstit, suorakulmiot jne. Voit saada sen osoitteesta https://github.com/adafruit/Adafruit-GFX-Library ja asentaa sen samalla tavalla.
Vaihe 4: Avaa nyt esimerkkiohjelma valitsemalla Tiedosto -> Esimerkit -> Adafruit PCD Nokia 5110 LCD -kirjasto -> pcdtest ja napsauta lähetyspainiketta
Vaihe 5: Kun ohjelma on ladattu, paina Arduinon nollauspainiketta ja sinun pitäisi nähdä esimerkkiohjelma, joka näyttää kaikki animaatiot, kuten tämän opetusohjelman lopussa olevassa videossa näkyy.
Voit lukea esimerkkiohjelman läpi ymmärtääksesi erilaisia sisäänrakennettuja toimintoja, joita voidaan käyttää erilaisten grafiikkasuunnittelujen suorittamiseen nestekidenäytössä. Mennään kuitenkin askeleen pidemmälle ja yritetään näyttää CircuitDigest-logo LCD-näytöllä.
Avaa nyt vaadittu kuva Paintissa ja muuta kuvan kokoa. Suurin kuvakoko, jota voimme käyttää näytössämme, on 84 × 48.
Kun olet muuttanut kuvan kokoa, tallenna kuva bittikarttana (mustavalkoinen) käyttämällä Paintin Tallenna nimellä -vaihtoehtoa. Tarvitsemme ohjelmiston, joka voi muuntaa bittikarttakuvan koodiksi, jotta kuva voidaan näyttää bittikarttana LCD-näytöllä. Voit ladata ohjelmiston napsauttamalla tätä. Kun olet ladannut, pura tiedosto ja käynnistä sovellus napsauttamalla "BitmapEncoder" . Avaa koodatut arvot avaamalla bittikarttakuva, jonka tallensimme juuri tällä ohjelmistolla. Voit kopioida nämä arvot suoraan ja liittää ne Arduino-taulukkoosi. Ohjelmiston osoittama arvo logollemme näkyy alla
Kuten näette, taulukko alkaa arvolla 48, 48 tämä on kuvamme koko. Meidän ei pitäisi lisätä tätä joukkoomme. Poista siis kaksi ensimmäistä arvoa ja käytä loput taulukon taulukon arvona. Matriisi näyttää alla olevalta. Täydellinen ohjelma annetaan lopussa tämän sivun käyttöä varten.
staattinen const allekirjoittamaton merkki PROGMEM-logo = {B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00001111, B11111000, B00000000, B00000000, B00000000, B000011000000000000000000000000000000000000000000000000000000000000000000000000 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, B1111000, B1111000, B1111000, B1111000 B01100000, B00000000, B00000011, B11100000, B00001001, B11111100, B00000000, B00000000, B00000111,B11100000, B00011001, B11111110, B00000000, B00000000, B00000111, B11000000, B00000001, B11111111, B10000000, B00011111, B11111111, B11000111, B11100011, B11111111, B1111111, B11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 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, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000 B10000001, B11111111, B11111100, B00000000, B00011111, B11111000, B00000111, B11111111, B11111000, B00000000, B00000111, B11111111, B00011111, B11111111, B11111000, B00000000, B00000000, B00000000, B00000000, B001100, B001100 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};
Tämän bittikartan näyttämiseksi meidän on käytettävä seuraavia koodirivejä. Sieltä, missä edelliset tiedot näytöltä poistetaan ja uusi bittikarttakuva kirjoitetaan.
display.clearDisplay (); display.drawBitmap (20, 0, logo, 48, 48, 1); display.display ();
Rivi display.drawBitmap (20, 0, logo, 48, 48, 1); näyttää bittikarttakuvan sijainnin, koon ja värin. Syntaksi voidaan antaa muodossa.
display.drawBitmap (X_Position, Y_Position, Array-nimi, kuvan pituus, kuvan leveys);
Kuvan pituus ja leveys voidaan saada matriisin kahdesta ensimmäisestä elementistä, kuten aiemmin kerrottiin. Kun tämä koodi suoritetaan, bittikartta näytetään LCD-näytöllä alla olevan kuvan mukaisesti.
Voit myös näyttää yksinkertaisen tekstin alla olevan kuvan mukaisesti:
Toivottavasti ymmärrät opetusohjelman ja sait Nokia 5110 LCD -laitteesi liittymään Arduinoon. Tällä graafisella näytöllä hihassasi voit luoda monia projekteja, jotka vaativat pieniä grafiikan yksityiskohtia. Koko työ löytyy alla olevasta videosta. Jos sinulla on ongelmia saada tämä toimimaan, voit käyttää foorumia ongelman lähettämiseen tai alla oleviin kommenttiosioihin.