Magának az ikonikus „ Nokia 5110 ” névnek emlékeket kellett volna vásárolnia a robusztus Nokia mobiltelefonról, amely a 90-es években nagyon népszerű volt. Az 5110 modell grafikus kijelzővel érkezett, amely elégséges volt ahhoz, hogy akkor a mobil kijelzőjeként működjön. Ez a képernyő az alfanumerikus karakterektől a kis grafikákig mindent képes megjeleníteni, ami minden szükséges a mobiltelefonhoz. Amint a Föld új technikákat forgatott, fényes érintőképernyőkkel, és ezt a kijelzőt már nem használják. De remélhetőleg felhasználhatók elektronikai alkalmazásokban, ahol egy kis grafikát kell megjeleníteni, és elkerülhető, hogy pénzt költsenek a nagy LCD-képernyőkre. Tehát ebben az oktatóanyagban megtanuljuk, hogyan kell egy Nokia 5110 grafikus LCD-t összekapcsolni az Arduino-val, és hogyan kell működni.
Ezeknek az LCD-nek 84 × 48 méretű fekete-fehér képpontjai vannak. Lehet, hogy monotonnak tűnnek, de mégis felhasználhatók tisztességes grafikák megjelenítésére a projektjeihez, és könnyen használhatók olyan mikrovezérlőkkel, mint az Arduino. Tehát kezdjük….!
Szükséges anyagok:
- Arduino Board (bármilyen verzió)
- Nokia 5110 kijelző
- Csatlakozó vezetékek
Nokia 5110 grafikus kijelző modul:
Ezeknek a grafikus LCD-knek két típusa létezik a piacon. Az egyik forrasztópárnákkal rendelkezik a kijelző felett és alatt, a másik pedig forrasztópárnákkal csak a kijelző alján. Az általunk használt 2-es típusba tartozik, ahol csak a kijelző alatt vannak betétek. Mindkét modul ugyanúgy működik, ezért a kapcsolatok mindkettőnél megegyeznek. Tehát függetlenül attól, hogy melyik modulról van szó, kövesse az oktatóanyagot.
Amint azt korábban elmondtuk, a Nokia 5110 grafikus LCD-kijelzője 84 pixel vízszintes és 48 pixel függőleges. A teljes kijelzőméret 1,72 'x 1,72'. A modul 6 bemeneti pólussal rendelkezik, amelyek segítségével bármely mikrovezérlőhöz interfészt tudunk adni SPI kommunikáción keresztül. Az interfész IC, amely a kijelző és az Arduino között kommunikál, a Philips PCD8544 kijelzővezérlő IC, amelynek adatlapja itt található. Ha azonban az Arduino programot használja az IC-vel való kommunikációra, akkor nem kell aggódnunk az adatlap miatt, mivel vannak olyan könyvtárak, amelyek készen állnak a letöltésre és használatra. Az itt használt modul az alábbiakban látható.
Kördiagramm:
A Nokia5110 grafikus LCD és az Arduino összekapcsolásának teljes kapcsolási rajza az alábbiakban látható.
A kijelző modulnak 8 érintkezője van, amelyek az SPI kommunikáció felállítására szolgálnak az Arduinóval. A modult az Arduino kártya 3,3 V-os tűje táplálja. Ne feledje, hogy ezek a modulok 3,3 V-os logikán működnek, ezért nem szolgáltatnak 5 V-ot a kijelzők Vcc-tűjéhez. Közvetlenül az Arduino-hoz csatlakoztattam a kijelzőt, annak ellenére, hogy az LCD 3,3 V-os, az Arduino pedig 5 V-os logikán működik, mert csak akkor találtam meg, hogy az LCD megfelelően működik. Használhat feszültségosztót, hogy szükség esetén 5 V-ot 3,3 V-ra alakítson, de számomra ez csak a logikai átalakítás nélkül működik. A kapcsolatok meglehetősen egyszerűek és egyenesek. Miután elkészült a kapcsolatokkal, a beállítása valami ilyesmi lehet, mint az alábbiakban látható.
Arduino program és munka:
Kövesse az alábbi lépéseket az Arduino programozásához a Nokia 5110 kijelzőhöz. A lépések feltételezik, hogy már telepítette az Arduino IDE programot, és ismeri annak használatát.
1. lépés: Nyissa meg az Arduino IDE-t a számítógépén, és válassza ki a megfelelő táblát az Eszközök menü alatt, miután csatlakoztatta az Arduino-t a számítógépéhez.
2. lépés: Kattintson ide a Nokia 5110 Display Library by Adafruit könyvtár letöltéséhez a GitHub adattárból.
3. lépés: A Zip fájl letöltését követően válassza a Vázlat -> Könyvtár belefoglalása ->.ZIP könyvtár hozzáadása elemet, és keresse meg a ZIP letöltési helyét.
Megjegyzés: Le kell töltenie az Adafruit GFX Graphics magot is, amely az összes kört, szöveget, téglalapot stb. Elvégzi. Ezt a https://github.com/adafruit/Adafruit-GFX-Library webhelyről szerezheti be, és ugyanúgy telepítheti..
4. lépés: Most nyissa meg a példa programot a Fájl -> Példák -> Adafruit PCD Nokia 5110 LCD könyvtár -> pcdtest kiválasztásával, majd kattintson a feltöltés gombra
5. lépés: A program feltöltése után nyomja meg az Arduino reset gombját, és látnia kell a példa programot, amely az összes animációt megjeleníti, amint az az oktatóanyag végén található videóban látható.
A példaprogramban olvashatja át a különféle beépített funkciókat, amelyek felhasználhatók az LCD-n a különböző grafikai tervezéshez. De menjünk tovább egy lépéssel, és próbáljuk meg megjeleníteni a CircuitDigest logót az LCD képernyőn.
Most nyissa meg a kívánt képet a Paint alkalmazásban, és méretezze át a képet. A kijelzőnk számára használható maximális képméret 84 × 48.
A kép átméretezése után mentse el a képet bitképként (fekete-fehér) a Paint mentés másként opciójának használatával. Ahhoz, hogy a képet bitképként jelenítsük meg az LCD képernyőn, szükségünk lesz egy szoftverre, amely képes átalakítani a bitképet kóddá. A szoftvert ide kattintva töltheti le. A letöltés után csomagolja ki a fájlt, majd az alkalmazás elindításához kattintson a „BitmapEncoder” gombra. Nyissa meg azt a bitkép képet, amelyet most mentettünk el ezzel a szoftverrel, hogy megkaphassa a kódolt értékek tömbjét. Közvetlenül átmásolhatja ezeket az értékeket, és beillesztheti az Arduino tömbbe. A szoftver által a logónk számára megadott érték az alábbiakban látható
Amint láthatja, a tömb 48-as értékkel kezdődik , 48 ez a képünk mérete. Nem szabad ezt hozzáadni a tömbünkhöz. Tehát távolítsa el az első két értéket, és használja a többit tömbértékként a programban. A tömb az alábbiak szerint fog kinézni. A teljes programot az oldal végén találja meg.
statikus konst. előjel nélküli karakter 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. B01100000, B00000000, B00000011, B11100000, B00001001, B11111100, B00000000, B00000000, B00000111,B11100000, B00011001, B11111110, B00000000, B00000000, B00000111, B11000000, B00000001, B11111111, B10000000, B00011111, B11111111, B11000111, B11100011, B11111111, B11111111111111, B1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 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, B111111000, B10110011, B11111000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B000000 B10000001, B11111111, B11111100, B00000000, B00011111, B11111000, B00000111, B11111111, B11111000, B00000000, B00000111, B11111111, B00011111, B11111111, B11111000, B00000000, 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};
Ennek a bittérképnek a megjelenítéséhez a következő kódsorokat kell használnunk. Ahol a képernyőn lévő korábbi adatok törlődnek, és az új bitkép kép megírásra kerül.
display.clearDisplay (); display.drawBitmap (20, 0, logó, 48, 48, 1); display.display ();
A display.drawBitmap sor (20, 0, logó, 48, 48, 1); jelenítse meg a bitkép kép helyét, méretét és színét. A szintaxist megadhatjuk.
display.drawBitmap (X_pozíció, Y_Pozíció, tömb neve, kép hossza, kép szélessége);
A kép hossza és szélessége a tömb első két eleméből származhat, amint azt korábban elmondtuk. A kód futtatásakor megkapjuk a bitképet az LCD képernyőn, az alábbiak szerint.
Egyszerű szöveget is megjeleníthet az alábbiak szerint:
Remélem, megértette az oktatóanyagot, és a Nokia 5110 LCD-t az Arduino-val összekapcsolta. Ezzel a grafikus kijelzővel a hüvelyében sok olyan projektet hozhat létre, amely kisebb grafikai részleteket igényel. A teljes munka megtalálható az alábbi videóban. Ha bármilyen problémával szembesül ennek a működésében, használhatja a fórumot a probléma közzétételéhez, vagy az alábbi megjegyzések szakaszokat.