Az orosz levelek megjelenése az LCD kijelzővel arduino

Az orosz levelek megjelenése az LCD kijelzővel arduino


A legfontosabb és legegyszerűbb könyvtár LCD képpontmegjelenítéshez az Adafruit GFX könyvtár.
Ez a könyvtár tisztán grafikus, ezért egy speciális modellt használva érdemes még egy speciális könyvtárat használni.
Például a Nokia 5110 kijelzőhöz az Adafruit-PCD8544. Az OLED 0.96 "OLED 128x64 - Adafruit_SSD1306-hoz. Más modellek könyvtárai itt találhatók (vagy itt: lista).

Így csatlakoztattál a kijelzőhöz, a vázlatban két könyvtárat is hozzáadtál, amelyeket a fentiekben tárgyaltál és próbáld ki az orosz leveleket. De ez rossz szerencséje van - ahelyett, hogy a kijelzőn megjelenik mindenféle súrlódás. Ennek oka, hogy az Adafruit könyvtáraiban nincs orosz betűtípus. Adja hozzá, nem nehéz. A glcdfont.c fájlban ki kell cserélni az Adafruit GFX könyvtárból bizonyos karaktereket az oroszokra a kívánt kódolásban. Azonban a betűkészletet egybájtos betűkódolásra tervezték, és az Arduino IDE orosz betűkkel kétbájtos UTF-8-ot használ,

Az orosz UTF-8 kódolásban van egy bizonyos mintázat, amely lehetővé teszi, hogy az UTF-8-ból egy egybájtos orosz kódolású Windows-1251-et konvertáljanak, amelyet betűk helyettesítenek.

Az utf8rus () függvény az eredeti karakterláncot kapja meg, a 0x00-0xBF kóddal ellátott karakterek a kimeneti karakterlánc megváltoztatása nélkül, a többi kódban pedig az orosz betűket választják és recódálják.

Az orosz betűk UTF-8-ból Win-1251-re történő átkódolása

Így a kijelző megjelenítéséhez a következőkre van szükség:
- töltse le az alábbi (vagy magasabb) archívumok bármelyikét;
- cserélje ki glcdfont.c-t az Adafruit-GFX-ben ezzel;
- adj hozzá az utf8rus () függvényt a vázlathoz;
- illessze be a következő parancsot a vázlat elején: display.cp437 (true);

Használhatja az utf8rus () függvényt a parancssorok belsejében a karakterláncokhoz:
display.println (utf8rus ("Teszt"));

Példák a különböző kijelzőkre

Nokia 5110 (PCD8544)