Макалада биз 1602 суюк кристаллдык дисплейди FC-113 I2C модулу менен Arduinoго туташтырабыз, ошондуктан байланыш эки гана зым жана эки электр зымдары аркылуу жүргүзүлөт.
Ал зарыл
- - Arduino;
- - LCD 1602 дисплейи (16 белги, 2 сап);
- - FC-113 I2C адаптери;
- - зымдарды туташтыруу.
Нускамалар
1 кадам
FC-113 модулу PCF8574T микросхемасына негизделген, ал 8-биттик нөөмөт регистр - I2C сериялык шинасы үчүн I / O жайылтуучу. Сүрөттө микросхема DD1 деп белгиленген.
R1 - ЖКнын контрастын жөндөө үчүн кесүүчү резистор.
Jumper J1 дисплейдин жарыгын күйгүзүү үчүн колдонулат.
1 … 16 төөнөгүчтөр модулду LCD дисплей казыктарына туташтыруу үчүн колдонулат.
I2C шаймандын дарегин өзгөртүү үчүн A1 … A3 байланыш түйүндөрү керек. Тиешелүү секиргичтерди ширетүү менен, шайман дарегин өзгөртө аласыз. Таблицада даректердин жана секиргичтердин корреспонденциясы келтирилген: "0" ачык схемага, "1" - орнотулган секирүүчүгө туура келет. Демейки боюнча, түзмөктүн дареги 0x27, б.а. 3 секирүүчү тең ачык.
2-кадам
I2C шинасы үчүн модуль Arduino менен стандарттуу түрдө туташтырылган: модулдун SDA пин аналогдук порт A4ке, SCL пин Arduino аналогдук порт A5 менен туташтырылган. Модуль Arduino + 5V менен иштейт. Модулдун өзү 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 " папкасына жүктөлүп алынды.
Китепкана LCD экрандары үчүн стандарттуу функциялардын топтомун колдойт:
LiquidCrystal () - LiquidCrystal тибиндеги өзгөрмө түзүп, дисплейдин туташуу параметрлерин кабыл алат (пин номерлери), begin () - ЖК дисплейдин инициализациясы, параметрлерди орнотуу (саптардын жана белгилердин саны);
clear () - экранды тазалап, курсорду баштапкы абалына кайтаруу;
home () - курсорду баштапкы абалына кайтаруу;
setCursor () - курсорду белгиленген орунга коюу;
write () - ЖК экранында белгини көрсөтөт;
print () - ЖК экранында текстти көрсөтөт;
курсор () - курсорду көрсөтөт, б.а. кийинки белгинин ордуна астын сызыңыз;
noCursor () - курсорду жашырат;
көз ирмөө () - жалтылдаган курсор;
noBlink () - көз ачып жумганды жокко чыгаруу;
noDisplay () - бардык көрсөтүлгөн маалыматтарды сактоо менен дисплейді өчүрүңүз;
display () - көрсөтүлгөн бардык маалыматтарды сактоо менен дисплейді күйгүзүү;
scrollDisplayLeft () - дисплей мазмунун 1 позицияны солго жылдырыңыз;
scrollDisplayRight () - дисплейдин мазмунун оңго 1 позицияга жылдырыңыз;
autoscroll () - автоскроллду иштетүү;
noAutoscroll () - автоскроллду өчүрүү;
leftToRight () - тексттин багытын солдон оңго орнотот;
rightToLeft () - тексттин оңдон солго карай багыты;
createChar () - LCD экраны үчүн колдонуучунун белгисин түзөт.
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го жүктөп бериңиз. Экранда биз көрсөткөн жазуу аягында жаркылдаган курсор менен көрсөтүлөт.