84х48 пиксельді сұйық кристалды дисплейді Nokia 5110-дан Arduino-ға қалай қосуға болатынын анықтайық.
Қажетті
- - Ардуино;
- - Nokia 5110/3310 үшін LCD дисплейі;
- - сымдарды қосу.
Нұсқаулық
1-қадам
Төмендегі сызбаға сәйкес Nokia 5110-дан Arduino-ға дейін LCD экранын қосайық.
2-қадам
Көптеген кітапханалар осы СК экранмен жұмыс істеуге жазылған. Мен мынаны қолдануды ұсынамын: https://www.rinkydinkelectronics.com/library.php?id=44 (LCD5110_Basic.zip файлын жүктеп алыңыз).
Орнату үшін файлды Arduino IDE / libraries / каталогына шығарыңыз.
Кітапхана келесі мүмкіндіктерді қолдайды.
LCD5110 (SCK, MOSI, DC, RST, CS); - Arduino түйреуіштеріне сәйкестігін көрсететін СК-экран туралы хабарландыру;
InitLCD ([контраст]); - 5110 дисплейінің инициализациясы, контрасттың қосымша индикаторымен (0-127), әдепкі мәні - 70;
setContrast (контраст); - контрастты орнатады (0-127);
enableSleep (); - экранды ұйқы режиміне қояды;
disableSleep (); - экранды ұйқы режимінен шығарады;
clrScr (); - экранды тазартады;
clrRow (жол, [бастау], [соңы]); - позиция басынан аяғына дейін таңдалған жол нөмірін тазарту;
төңкеру (шын); және төңкеру (жалған); - СК экранының ішіндегі инверсияны қосу және өшіру;
басып шығару (жол, х, у); - көрсетілген координаттары бар символдар тізбегін көрсетеді; х-координатаның орнына СОЛ, ОРТАЛЫҚ және ОҢҒА қолдануға болады; стандартты қаріптің биіктігі 8 балл, сондықтан жолдар 8 нүктеде орналасуы керек;
printNumI (num, x, y, [length], [filler]); - экранға бүтін санды (х, у) позициясында көрсету; ұзындық - санның қажетті ұзындығы; толтырғыш - егер сан қалаған ұзындықтан аз болса, «бос жерлерді» толтыруға арналған кейіпкер; әдепкі - бос орын «»;
printNumF (num, dec, x, y, [бөлгіш], [ұзындық], [толтырғыш]); - өзгермелі нүктенің нөмірін көрсету; дек - ондық таңбалардың саны; бөлгіш - ондық нүкте, нүкте «.» әдепкі бойынша;
setFont (аты); - қаріпті таңдау; кіріктірілген қаріптер SmallFont және TinyFont деп аталады; сіз эскизде қаріптеріңізді анықтай аласыз;
invertText (шын); және invertText (жалған); - мәтінді инверсиялау қосу / өшіру;
drawBitmap (x, y, data, sx, sy); - суретті экранда х және у координаталарында көрсету; мәліметтер - суреті бар массив; sx және sy - суреттің ені мен биіктігі.
3-қадам
Осындай эскизді жазайық. Біріншіден, біз кітапхананы қосамыз, содан кейін біз LCD5110 класының дана тапсырмалары бар данасын жариялаймыз.
Орнату () процедурасында біз LCD экранын инициализациялаймыз.
Цикл () процедурасында біз экранды тазалап, ерікті мәтінді кіші қаріппен жазамыз, оның астына, орташа қаріппен, секунд санауышын көрсетеміз.
4-қадам
Суретті көрсетейік. Ол үшін Nokia 5110-да көрсеткіңіз келетін монохромды кескін дайындайық. Экранның ажыратымдылығы 48-ден 84 пиксельге дейін, ал сурет үлкен болмауы керек. Http://www.rinkydinkelectronics.com/t_imageconverter_mono.php парағында кескінді бит массивіне түрлендіріңіз. Алынған файлды «*.c» кеңейтімімен жүктеп алып, оны мәзір арқылы жобаға қосыңыз: Sketch -> Add File … немесе файлды эскиздер каталогына жай орналастырыңыз да, Arduino IDE қайта жүктеңіз.
5-қадам
Енді сізге бағдарлама кодында кескін деректері бар жиымды жариялау керек (менің кодымда бұл extern uint8_t mysymb;
6-қадам
Эскизді Arduino-ға жүктеңіз. Енді мәтінді сурет ауыстырады, ал санауыш оның мәнін әр уақытта арттырады.