- Reikalingos medžiagos:
- „Nokia 5110“ grafinio ekrano modulis:
- Grandinės schema:
- „Arduino“ programa ir darbas:
Pats ikoninis pavadinimas „ Nokia 5110 “ turėjo nusipirkti prisiminimus apie tvirtą „Nokia“ mobilųjį telefoną, kuris buvo labai populiarus 90-aisiais. Modelis 5110 buvo su grafiniu ekranu, kurio pakako, kad veiktų kaip mobiliojo telefono ekranas. Šiame ekrane buvo galima rodyti viską, pradedant raidiniais ir skaitmeniniais simboliais, iki mažos grafikos, ko reikia mobiliajam telefonui. Žemei sukant naujiems technikams su blizgančiais jutikliniais ekranais, atsirado šis ekranas ir jis nebenaudojamas. Tikimės, kad juos galima naudoti elektronikos programose, kur turi būti rodoma maža grafika, ir vengti pinigų dideliems LCD ekranams. Taigi šioje pamokoje sužinosime, kaip sąveikauti su „Nokia 5110“ grafiniu LCD su „Arduino“ ir kaip jis veikia.
Šiuose skystųjų kristalų ekranuose yra nespalvoti pikseliai, kurių matmenys yra 84 × 48. Jie gali atrodyti monotoniški, tačiau vis tiek gali būti naudojami rodant tinkamas grafikas jūsų projektams ir lengvai naudojami su mikrovaldikliais, tokiais kaip „Arduino“. Taigi pradėkime….!
Reikalingos medžiagos:
- „Arduino“ lenta (bet kokia versija)
- „Nokia 5110“ ekranas
- Jungiamieji laidai
„Nokia 5110“ grafinio ekrano modulis:
Rinkoje yra du šių grafinių LCD ekranų tipai. Vienas su litavimo kaladėlėmis tiek virš, tiek po ekranu, kitas - su litavimo kaladėlėmis tik ekrano apačioje. Ta, kurią naudojame, priklauso 2 tipui, kur pagalvėlės yra tik po ekranu. Abu moduliai veikia vienodai, todėl jungtys abiem yra vienodos. Taigi, nepaisant to, koks tai modulis, galite vadovautis pamoka.
Kaip minėta anksčiau, „ Nokia 5110“ grafinis LCD ekranas turi 84 taškus horizontaliai ir 48 taškus vertikaliai. Bendras ekrano dydis yra 1,72 'x 1,72'. Modulis turi 6 įvesties kaiščius, kuriais mes galime jį susieti su bet kuriuo mikrovaldikliu per SPI ryšį. Sąsajos IC, palaikantis ryšį tarp ekrano ir „Arduino“, yra „Philips PCD8544“ ekrano valdiklio IC, kurio duomenų lapą galite rasti čia. Tačiau jei naudojate „Arduino“ bendraujant su šiuo IC, mums nereikia jaudintis dėl duomenų lapo, nes yra bibliotekų, kurias galima parsisiųsti ir naudoti. Čia naudojamas modulis, kurį mes naudojame.
Grandinės schema:
Visa grandinės schema, skirta prijungti „Nokia5110“ grafinį LCD su „Arduino“, pateikta žemiau.
Ekrano modulis turi 8 kaiščius, kurie naudojami nustatant SPI ryšį su „Arduino“. Modulis maitinamas 3,3 V „Arduino“ plokštės kaiščiu. Atkreipkite dėmesį, kad šie moduliai veikia pagal 3,3 V logiką ir todėl nepateikia 5 V į ekranų Vcc kaištį. Aš tiesiogiai prijungiau ekrano kaištį prie „Arduino“, nors skystųjų kristalų ekranas veikia pagal 3,3 V logiką, o „Arduino“ - su 5 V logika, nes tik tada radau, kad skystųjų kristalų ekranas veikia tinkamai. Jei reikia, galite naudoti įtampos daliklį, norėdami konvertuoti 5 V į 3,3 V, bet man tai veikia tik be loginės konversijos. Jungtys yra gana paprastos ir tiesios. Kai baigsite ryšius, jūsų sąranka atrodys maždaug taip, kaip parodyta žemiau.
„Arduino“ programa ir darbas:
Atlikite toliau nurodytus veiksmus, norėdami užprogramuoti „Arduino“ „Nokia 5110“ ekranui. Veiksmuose daroma prielaida, kad jau įdiegėte „Arduino IDE“ ir esate gerai susipažinę su jo naudojimu.
1 žingsnis: Atidarykite „Arduino IDE“ savo kompiuteryje ir įrankių meniu pasirinkite atitinkamą lentą, prijungę „Arduino“ prie kompiuterio.
2 žingsnis: Spustelėkite čia, jei norite atsisiųsti „Adafruit“ bibliotekos „Nokia 5110 Display Library“ iš „GitHub“ saugyklos.
3 žingsnis: Atsisiųsdami „Zip“ failą, pasirinkite „ Eskizas -> Įtraukti biblioteką -> Pridėti.ZIP biblioteką ir pereikite prie vietos, kurioje buvo atsisiųstas ZIP.
Pastaba: Taip pat turėsite atsisiųsti „Adafruit GFX Graphics“ šerdį, kuri atlieka visus apskritimus, tekstą, stačiakampius ir kt. Galite jį gauti iš https://github.com/adafruit/Adafruit-GFX-Library ir įdiegti tuo pačiu būdu.
4 žingsnis: Dabar atidarykite programos pavyzdį pasirinkdami Failas -> Pavyzdžiai -> „Adafruit PCD Nokia 5110 LCD Library“ -> pcdtest ir spustelėkite įkėlimo mygtuką
5 žingsnis: Įkėlę programą, paspauskite „Arduino“ mygtuką iš naujo ir turėtumėte pamatyti programos pavyzdį, kuriame rodomos visos animacijos, kaip parodyta vaizdo įraše, pateiktame šios pamokos pabaigoje.
Galite perskaityti programos pavyzdį, kad suprastumėte įvairias įmontuotas funkcijas, kurios gali būti naudojamos atliekant įvairų grafinį dizainą LCD. Bet eikime dar vienu žingsniu ir pabandykite LCD ekranėlyje parodyti „CircuitDigest“ logotipą.
Dabar atidarykite reikiamą vaizdą „ Paint“ ir pakeiskite vaizdo dydį. Maksimalus vaizdo dydis, kurį galime naudoti ekrane, yra 84 × 48.
Pakeitę vaizdo dydį, išsaugokite vaizdą kaip bitmap (juodai baltą), naudodami „ Paint“ parinktį išsaugoti kaip . Norint atvaizduoti vaizdą kaip taškinį vaizdą mūsų LCD ekrane, mums reikės programinės įrangos, kuri galėtų konvertuoti bitmap vaizdą į kodą. Programinę įrangą galite atsisiųsti spustelėdami čia. Atsisiųsdami išpakuokite failą ir spustelėkite „BitmapEncoder“, kad paleistumėte programą. Norėdami gauti užkoduotų reikšmių masyvą, atidarykite bitmap vaizdą, kurį ką tik išsaugojome naudodami šią programinę įrangą. Šias reikšmes galite tiesiogiai nukopijuoti ir įklijuoti į „Arduino“ masyvą. Programinės įrangos nurodyta mūsų logotipo vertė rodoma žemiau
Kaip matote, masyvas prasideda 48 reikšme , 48 tai yra mūsų vaizdo dydis. Mes neturėtume to įtraukti į savo masyvą. Taigi, pašalinkite dvi pirmąsias reikšmes, o likusias naudokite kaip masyvo vertę programoje. Masyvas atrodys žemiau. Visa programa pateikiama šio puslapio pabaigoje.
statinis const nepasirašytas simbolis PROGMEM logotipas = {B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00001111, B11111000, B00000000, B00000000, B00000000, B0000110000000000000000000000000000000000000000000000000000000000 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, B1111111111, B1111111111, B1111111111 B01100000, B00000000, B00000011, B11100000, B00001001, B11111100, B00000000, B00000000, B00000111,B11100000, B00011001, B11111110, B00000000, B00000000, B00000111, B11000000, B00000001, B11111111, B10000000, B00011111, B11111111, B11000111, B11100011, B11111111, B1111111111, B111111111111, B111111111111111111111111111111111111111111111111111111 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, B00000000 B10000001, B11111111, B11111100, B00000000, B00011111, B11111000, B00000111, B11111111, B11111000, B00000000, B00000111, B11111110, B00011111, B11111111, B11111000, B00000000, B00000000, B00000000, B00000000, B00000000, 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};
Dabar norėdami parodyti šį bitų žemėlapį turime naudoti šias kodo eilutes. Kur ištrinami ankstesni duomenys ekrane ir parašomas naujas bitų žemėlapio vaizdas.
display.clearDisplay (); display.drawBitmap (20, 0, logotipas, 48, 48, 1); display.display ();
Eilutė display.drawBitmap (20, 0, logotipas, 48, 48, 1); rodyti taško atvaizdo padėtį, dydį ir spalvą. Sintaksę galima pateikti kaip.
display.drawBitmap (X_Position, Y_Position, Masyvo pavadinimas, vaizdo ilgis, paveikslėlio plotis);
Vaizdo ilgį ir plotį galima gauti iš pirmųjų dviejų masyvo elementų, atitinkamai, kaip pasakyta anksčiau. Kai šis kodas bus paleistas, gausime bitų žemėlapį, rodomą mūsų LCD ekrane, kaip parodyta žemiau.
Taip pat galite rodyti paprastą tekstą, kaip parodyta žemiau:
Tikiuosi, kad supratote pamoką ir gavote „ Nokia 5110“ LCD sąsają su „Arduino“. Naudodami šį grafinį vaizdą rankovėje, galite sukurti daugybę projektų, kuriems reikalinga nedidelė grafikos informacija. Visą darbą galite rasti žemiau pateiktame vaizdo įraše. Jei susiduriate su bet kokia problema, kaip tai padaryti, galite naudoti forumą, kad paskelbtumėte savo problemą, arba toliau pateiktose komentarų skiltyse.