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