В статията ще свържем дисплей с течни кристали 1602 с модул FC-113 I2C към Arduino, поради което връзката ще се осъществи с помощта само на два проводника за данни и два захранващи проводника.
Необходимо е
- - Arduino;
- - LCD 1602 дисплей (16 знака, 2 реда);
- - I2C адаптер FC-113;
- - свързващи проводници.
Инструкции
Етап 1
Модулът FC-113 е базиран на микросхемата PCF8574T, която е 8-битов регистър на смяна - I / O разширител за серийната шина I2C. На фигурата микросхемата е обозначена DD1.
R1 е резистор за подрязване за регулиране на контраста на LCD.
Jumper J1 се използва за включване на подсветката на дисплея.
Пинове 1 … 16 се използват за свързване на модула към щифтовете на LCD дисплея.
Контактни подложки A1 … A3 са необходими за промяна на адреса на I2C устройството. Чрез запояване на съответните джъмпери можете да промените адреса на устройството. Таблицата показва съответствието на адресите и джъмперите: "0" съответства на отворената верига, "1" - на инсталирания джъмпер. По подразбиране адресът на устройството е 0x27, т.е. и трите джъмпера са отворени.
Стъпка 2
Модулът е свързан към Arduino като стандарт за I2C шината: SDA щифтът на модула е свързан към аналоговия порт A4, SCL щифтът е свързан към аналоговия порт A5 на Arduino. Модулът се захранва от + 5V от Arduino. Самият модул е свързан чрез щифтове 1 … 16 със съответните щифтове 1 … 16 на LCD дисплея.
Стъпка 3
Сега се нуждаем от библиотека за работа с LCD през интерфейса I2C. Можете да използвате например този: https://www.dfrobot.com/wiki/index.php?title=I2C/TWI_LCD1602_Module_(SKU:_DFR0063)#Sample_Code (връзка в реда "Изтегляне на примерен код и библиотека").
Изтегленият архив "LiquidCrystal_I2Cv1-1.rar" се разархивира в папката "\ libraries ", която се намира в директорията Arduino IDE.
Библиотеката поддържа набор от стандартни функции за LCD екрани:
LiquidCrystal () - създава променлива от тип LiquidCrystal и приема параметри на връзката на дисплея (номера на пина), begin () - инициализация на LCD дисплея, настройка на параметри (брой редове и символи);
clear () - изчистване на екрана и връщане на курсора в изходна позиция;
home () - връща курсора в изходна позиция;
setCursor () - настройка на курсора на посочената позиция;
write () - показва символ на LCD екрана;
print () - показва текст на LCD екрана;
cursor () - показва курсора, т.е. подчертайте под мястото на следващия знак;
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. Екранът ще покаже надписа, който сме посочили, с мигащ курсор в края.