Keling, Nokia 5110-dan Arduino-ga 84x48 pikselli suyuq kristalli displeyni qanday ulashni aniqlaylik.
Kerakli
- - Arduino;
- - Nokia 5110/3310 uchun LCD displey;
- - simlarni ulash.
Ko'rsatmalar
1-qadam
Quyidagi diagramma bo'yicha Nokia 5110-dan Arduino-ga LCD ekranini ulaymiz.
2-qadam
Ushbu LCD ekran bilan ishlash uchun ko'plab kutubxonalar yozilgan. Buni ishlatishni taklif qilaman: https://www.rinkydinkelectronics.com/library.php?id=44 (LCD5110_Basic.zip faylini yuklab oling).
O'rnatish uchun Arduino IDE / libraries / katalogiga faylni oching.
Kutubxona quyidagi xususiyatlarni qo'llab-quvvatlaydi.
LCD5110 (SCK, MOSI, DC, RST, CS); - Arduino pinlariga mos kelishini ko'rsatadigan LCD displeyni e'lon qilish;
InitLCD ([kontrast]); - ixtiyoriy kontrast ko'rsatkichi bilan 5110 displeyni ishga tushirish (0-127), sukut bo'yicha 70;
setContrast (kontrast); - kontrastni o'rnatadi (0-127);
enableSleep (); - ekranni uyqu holatiga o'tkazadi;
disableSleep (); - ekranni uyqu holatidan chiqaradi;
clrScr (); - ekranni tozalaydi;
clrRow (qator, [start], [end]); - tanlangan qatorlar qatorini, pozitsiyani boshidan oxirigacha tozalash;
teskari (rost); va teskari (noto'g'ri); - LCD displey tarkibidagi inversiyani yoqish va o'chirish;
chop etish (string, x, y); - belgilangan koordinatali belgilar qatorini namoyish etadi; x-koordinatasi o'rniga, chap, markaz va o'ngdan foydalanishingiz mumkin; standart shriftning balandligi 8 ball, shuning uchun satrlar 8 nuqtada joylashgan bo'lishi kerak;
printNumI (num, x, y, [uzunlik], [to'ldiruvchi]); - berilgan (x, y) pozitsiyada butun sonni ekranda aks ettirish; uzunlik - raqamning kerakli uzunligi; plomba - agar raqam kerakli uzunlikdan kam bo'lsa, "bo'shliqlarni" to'ldirish uchun belgi; sukut bo'yicha bo'sh joy ";
printNumF (num, dec, x, y, [ajratuvchi], [uzunlik], [to'ldiruvchi]); - suzuvchi nuqta raqamini ko'rsatish; dek - o‘nli kasrlar soni; divider - kasr nuqta, nuqta "." sukut bo'yicha;
setFont (ism); - shriftni tanlang; o'rnatilgan shriftlar SmallFont va TinyFont deb nomlangan; shriftlaringizni eskizda belgilashingiz mumkin;
invertText (rost); va invertText (noto'g'ri); - matnni teskari yo'naltirish / o'chirish;
drawBitmap (x, y, ma'lumotlar, sx, sy); - rasmni x va y koordinatalarida ekranda ko'rsatish; ma'lumotlar - rasmni o'z ichiga olgan massiv; sx va sy - rasmning kengligi va balandligi.
3-qadam
Keling, shunday eskizni yozamiz. Birinchidan, biz kutubxonani o'z ichiga olamiz, keyin pin5 topshiriqlari bilan LCD5110 sinfining nusxasini e'lon qilamiz.
O'rnatish () protsedurasida biz LCD ekranni ishga tushiramiz.
Loop () protsedurasida biz ekranni tozalaymiz va o'zboshimchalik bilan matnni kichik shriftda yozamiz, uning ostida, o'rtacha shriftda soniyalar hisoblagichini namoyish etamiz.
4-qadam
Keling, rasmni namoyish etamiz. Buning uchun Nokia 5110-da namoyish etishni istagan monoxrom tasvirni tayyorlaylik. Shuni esda tutingki, ekran o'lchamlari 48 dan 84 pikselga teng va rasm kattaroq bo'lmasligi kerak. Http://www.rinkydinkelectronics.com/t_imageconverter_mono.php sahifasida tasvirni bit qatoriga o'tkazing. Olingan faylni "*.c" kengaytmasi bilan yuklab oling va menyu orqali loyihaga qo'shing: Sketch -> Fayl qo'shish … yoki shunchaki faylni eskiz katalogiga joylashtiring va keyin Arduino IDE-ni qayta yuklang.
5-qadam
Endi dastur kodidagi rasm ma'lumotlari bilan massivni e'lon qilishingiz kerak (mening kodimda bu extern uint8_t mysymb;) chizig'i va keyin drawBitmap () funktsiyasidan foydalanib tasvirni kerakli joyga ekranda ko'rsatish kerak.
6-qadam
Eskizni Arduino-ga yuklang. Endi matn o'rnini rasm egallaydi va hisoblagich har safar o'z qiymatini oshiradi.