Мақалада біз FC-113 I2C модулі бар 1602 сұйық кристалды дисплейді Arduino-ға қосамыз, соның арқасында байланыс тек екі деректер сымы мен екі қуат сымы арқылы жүзеге асырылады.
Бұл қажетті
- - Ардуино;
- - LCD 1602 дисплейі (16 таңба, 2 жол);
- - FC-113 I2C адаптері;
- - сымдарды қосу.
Нұсқаулық
1-қадам
FC-113 модулі PCF8574T микросұлбасына негізделген, ол 8 биттік ауысым регистрі - I2C сериялық шинасы үшін енгізу-шығару кеңейткіші. Суретте микросұлба DD1 деп белгіленген.
R1 - СКД контрастын реттеуге арналған кесу резисторы.
Jumper J1 дисплейдің артқы жарығын қосу үшін қолданылады.
1… 16 штырлары модульді LCD дисплей түйреуіштеріне қосу үшін қолданылады.
I2C құрылғысының мекен-жайын өзгерту үшін A1 … A3 байланыс жастықшалары қажет. Тиісті секіргіштерді дәнекерлеу арқылы сіз құрылғының мекен-жайын өзгерте аласыз. Кестеде адрестер мен секіргіштердің сәйкестігі көрсетілген: «0» ашық тізбекке, «1» - орнатылған секіргішке сәйкес келеді. Әдепкі бойынша, құрылғының мекен-жайы 0x27, яғни. барлық 3 секіргіш ашық.
2-қадам
Модуль Arduino-ға I2C шинасы үшін стандартты түрде қосылады: модульдің SDA пині А4 аналогтық портына, SCL пині Arduino аналогтық портына A5 қосылған. Модуль Arduino-дан + 5В қуат алады. Модульдің өзі 1 … 16 түйреуіштерімен LCD дисплейінде тиісті 1 … 16 түйреуіштермен қосылады.
3-қадам
Енді бізге I2C интерфейсі арқылы СК-мен жұмыс жасау үшін кітапхана керек. Мысалы, мынаны пайдалануға болады: https://www.dfrobot.com/wiki/index.php?title=I2C/TWI_LCD1602_Module_(SKU:_DFR0063)#Sample_Code («Үлгі кодын және кітапхананы жүктеу» жолындағы сілтеме)).
Жүктелген «LiquidCrystal_I2Cv1-1.rar» мұрағаты Arduino IDE каталогында орналасқан «\ libraries \» қалтасына ашылды.
Кітапхана СК экрандарына арналған стандартты функциялар жиынтығын қолдайды:
LiquidCrystal () - LiquidCrystal типті айнымалы жасайды және дисплейге қосылу параметрлерін қабылдайды (пин нөмірлері), begin () - СК дисплейін инициализациялау, параметрлерді орнату (сызықтар мен белгілер саны);
Clear () - экранды тазалап, курсорды бастапқы орнына қайтару;
үй () - меңзерді бастапқы орнына қайтару;
setCursor () - меңзерді белгіленген орынға қою;
write () - таңбаны СКД экранында көрсетеді;
print () - СКД экранында мәтінді көрсетеді;
курсор () - курсорды көрсетеді, яғни. келесі таңбаның орнына астын сызу;
noCursor () - курсорды жасырады;
жыпылықтау () - курсор жыпылықтайды;
noBlink () - жыпылықтаудан бас тарту;
noDisplay () - барлық көрсетілген ақпаратты сақтау кезінде дисплейді өшіру;
display () - барлық көрсетілген ақпаратты сақтау кезінде дисплейді қосу;
scrollDisplayLeft () - дисплей мазмұнын солға қарай 1 позицияға айналдырыңыз;
scrollDisplayRight () - дисплей мазмұнын оңға қарай 1 позицияға айналдырыңыз;
autoscroll () - автоскролды қосу;
noAutoscroll () - автоскролді өшіру;
leftToRight () - мәтіннің бағытын солдан оңға орнатады;
rightToLeft () - мәтіннің бағыты оңнан солға;
createChar () - СКД экранына арналған таңбаны жасайды.
4-қадам
Үлгіні ашайық: Файл -> Үлгілер -> LiquidCrystal_I2C -> CustomChars және оны аздап қайталаңыз. Хабарды көрсетейік, оның соңында жыпылықтайтын белгі пайда болады. Эскиздің барлық нюанстары кодқа түсініктемелерде түсіндіріледі.
5-қадам
LCD экрандары үшін өзіңіздің жеке рәміздеріңізді жасау мәселесін толығырақ қарастырайық. Экрандағы әр таңба 35 нүктеден тұрады: ені 5 және биіктігі 7 (асты сызылған +1). Жоғарыдағы эскиздің 6-жолында біз 7 сандардан тұратын массив қоямыз: {0x0, 0xa, 0x1f, 0x1f, 0xe, 0x4, 0x0}. Он алтылық сандарды екілік жүйеге ауыстырайық: {00000, 01010, 11111, 11111, 01110, 00100, 00000}. Бұл сандар таңбаның 7 жолының әрқайсысы үшін биттік маскалардан басқа ешнәрсе емес, мұнда «0» жарық нүктесін, ал «1» қараңғы нүктені білдіреді. Мысалы, суретте көрсетілгендей экранда бит маскасы ретінде көрсетілген жүрек белгісі пайда болады.
6-қадам
Эскизді Arduino-ға жүктеңіз. Экранда біз көрсеткен жазба соңында жыпылықтайтын курсормен көрсетіледі.