You are on page 1of 8

Свържете lcd 1602 към arduino: описание, функции,

инструкции, характеристики, проблеми и техните


решения - Електроника - 2020
bg.henry-engineering.com/3991729-connecting-the-lcd-1602-to-the-arduino-description-features-
instructions-features-problems-and-their-solutions

Всяко аматьорско радио след няколко прости домашно приготвени продукта


достига до целта да изгради нещо грандиозно с помощта на сензори и бутони. В
крайна сметка е много по-интересно да се показват данни на дисплея, отколкото
на монитора на портовете. Но тогава възниква въпросът: кой дисплей да изберем?
И като цяло, как да го свържете, какво трябва да свържете? Отговорите на тези
въпроси ще бъдат разгледани в тази статия.

LCD 1602
Сред многото опции между дисплеите поотделно, бих искал да спомена LCD1602
дисплея, базиран на HD4478 контролера. Има дисплей в два цвята: бели букви на
син фон, черни букви на жълт фон. Свързването на LCD 1602 към Arduino също
няма да причини проблеми, тъй като има вградена библиотека и няма нужда да
изтегляте нищо друго. Дисплеите се различават не само по цена, но и по размер.
Често радиолюбителите използват 16 x 2, т.е. по 2 реда по 16 знака. Но има и 20 х
4, където има по 4 реда по 20 знака. Размерът и цветът не играят никаква роля
при свързването на дисплея lcd 1602 с Arduno, те са свързани по същия начин.
Ъгълът на гледане е 35 градуса, времето за реакция на дисплея е 250 ms. Може да
работи при температури от -20 до 70 градуса по Целзий. По време на работа той
използва 4 mA за екрана и за 120 mA подсветка.

1/8
Къде се използва?
Този дисплей има своята популярност не само сред шунките, но и сред големите
производители. Например, принтери, кафе машини също използват LCD1602.
Това се дължи на ниската му цена, този дисплей струва 200-300 рубли на
китайски сайтове. Струва си да се купи там, тъй като в нашите магазини
надценките на този дисплей са много високи.

Връзка с Arduino
Свързването на LCD 1602 с Arduino Nano и Uno не е по-различно. Дисплеят може
да работи в два режима: 4 бита и 8. Когато се работи с 8-бита, се използват както
ниските, така и високите битове, а при 4-бита се използват само ниските битове.
Няма специална точка за работа с 8-битов, тъй като ще се добавят още 4 контакта
за свързване, което не е препоръчително, тъй като няма да има по-висока скорост,
лимитът за актуализация на дисплея е 10 пъти в секунда. Като цяло, за да
свържете lcd 1602 към Arduino използва много кабели, които доставят някакво
неудобство, но има специални щитове, но повече за това по-късно. Снимката
показва връзката на дисплея с Arduino Uno:

2/8
Примерен код:

#include// Добавляем необходимую библиотеку LiquidCrystal lcd(7, 6, 5, 4, 3, 2); // (RS, E,


DB4, DB5, DB6, DB7) void setup(){ lcd.begin(16, 2); // Задаем размерность экрана
lcd.setCursor(0, 0); // Устанавливаем курсор в начало 1 строки lcd.print("Hello, world!"); //
Выводим текст lcd.setCursor(0, 1); // Устанавливаем курсор в начало 2 строки
lcd.print("fb.ru"); // Выводим текст } void loop(){ }

Какво прави кодът? Първо, библиотеката е свързана за работа с дисплея. Както бе


споменато по-горе, тази библиотека вече е включена в Arduino IDE и не е
необходимо да я изтегляте и инсталирате допълнително. След това се определят
контактите, които са свързани с терминалите: съответно, RS, E, DB4, DB5, DB6,
DB7. След това се настройва размерът на екрана. Тъй като работим с версия, която
съдържа 16 знака и 2 реда, пишем тези стойности. Задайте курсора в началото на
първия ред и отпечатайте първия ни текст Hello World. След това поставете
курсора на втория ред и покажете името на сайта. Това е! Беше разгледана
връзката на LCD 1602 с Arduino Uno.

Какво е I2C и защо е необходимо?


Както бе споменато по-горе, свързването на дисплея отнема много контакти.
Например при работа с няколко сензора и показване на LCD 1602 контактите
може просто да не са достатъчни. Често бутовете използват версии на Uno или
Nano, където няма много контакти. Тогава хората дойдоха със специални щитове.
Например, I2C. Тя ви позволява да свържете дисплея само с 4 пина. Това е два
пъти по-малко. Модулът I2C се продава както поотделно, където трябва да се
запояват, така и LCD 1602, който вече е запоен с дисплея.

3/8
Свързване чрез I2C модул
Свързването на LCD 1602 към Arduino Nano с I2C заема малко място, само 4
контакта: земя, мощност и 2 изхода за пренос на данни. Захранването и земята се
свързват съответно с 5V и GND на Arduino. Останалите два щифта: SCL и SDA са
свързани към всеки аналогов щифт. На снимката можете да видите пример за
свързване на lcd 1602 с arduino с модула I2C:

4/8
Код на програмата
Ако за работа с дисплей без модул е ​​необходимо да се използва само една
библиотека, тогава за работа с модул са необходими две библиотеки. Един от тях
вече е в Arduino IDE - Wire. Друга библиотека, LiquidCrystal I2C, трябва да бъде
изтеглена отделно и инсталирана. За да инсталирате библиотеката в Arduino,
съдържанието на изтегления архив трябва да се изтегли в основната папка
Libraries. Примерен код с I2C:

#include#includeLiquidCrystal_I2C lcd(0x27, 16, 2); // Устанавливаем дисплей void setup()


{ lcd.init(); lcd.backlight();// Включаем подсветку дисплея lcd.print("FB.ru"); lcd.setCursor(8,
1); lcd.print("LCD 1602"); } void loop() { // Устанавливаем курсор на вторую строку и
нулевой символ. lcd.setCursor(0, 1); // Выводим на экран количество секунд с момента
запуска ардуины lcd.print(millis()/1000); }

Както виждате, кодът е почти същият.

Как да добавите вашия характер?


Проблемът с тези дисплеи е, че няма поддръжка на кирилица или символи.
Например, трябва да заредите символ в дисплея, така че да може да го отразява.
За този дисплей ви позволява да създадете до 7 от тях. Изпратете таблица:

0 0 0 1 0

0 0 0 0 1

1 1 0 0 1

0 0 0 0 1

1 1 0 0 1
5/8
0 0 0 0 1

0 0 0 1 0

0 0 0 0 0

Ако 0 - там няма нищо, ако 1 - това е сенчеста зона. В горния пример можете да
видите създаването на символа "усмихната усмивка". Използвайки примерната
програма в Arduino, тя ще изглежда така:

#include#include// Лобавляем необходимую библиотеку // Битовая маска символа


улыбки byte smile[8] = { B00010, B00001, B11001, B00001, B11001, B00001, B00010, };
LiquidCrystal lcd(7, 6, 5, 4, 3, 2); // (RS, E, DB4, DB5, DB6, DB7) void setup(){ lcd.begin(16, 2);
// Задаем размерность экрана lcd.createChar(1, smile); // Создаем символ под номером 1
lcd.setCursor(0, 0); // Устанавливаем курсор в начало 1 строки lcd.print("\1"); // Выводим
смайлик (символ под номером 1) - "\1" } void loop(){ }

Както можете да видите, битовата маска е създадена по същия начин като


таблицата. Веднъж създаден, той може да бъде изведен като променлива на
дисплея. Не забравяйте, че в паметта могат да се съхраняват само 7 символа. По
принцип това е достатъчно. Например, ако искате да покажете символа на
градуса.

Проблеми, с които дисплеят може да не работи

6/8
Има случаи, когато дисплеят не работи. Например, той се включва, но не показва
знаци. Или въобще не се включва. Първо проверете дали сте свързали контактите
правилно. Ако сте използвали връзката на LCD 1202 към Arduino без I2C, тогава е
много лесно да се загубите в кабелите, което може да причини неправилно
функциониране на дисплея. Също така трябва да се уверите, че контрастът на
дисплея е увеличен, тъй като с минимален контраст дори не се вижда дали LCD
1602 е включен или не. Ако това не помага нищо, тогава може би проблемът може
да се крие в запояването на контактите, това е, когато използвате модула I2C.
Също така често срещаната причина, поради която дисплеят може да не работи, е
неправилната настройка на адреса на I2C. Факт е, че има много производители и
те могат да поставят различен адрес, трябва да го поправите тук:

LiquidCrystal_I2C lcd(0x27, 16, 2);

В скоби се виждат две стойности: 0x27 и 16.2 (16, 2 - е размерът на дисплея, а 0x27
е същият I2C адрес). Вместо тези стойности, можете да опитате да поставите 0x37
или 0x3F. Е, друга причина е просто дефектен LCD 1602. Като се има предвид, че
почти всичко за Arduino е направено в Китай, не е възможно да бъде 100%
сигурен, че закупеният продукт не е брак.

Плюсове и минуси на LCD 1602


Помислете за предимствата и недостатъците на LCD дисплея 1602.

Goodies

Цена. Този модул може да бъде закупен на напълно достъпна цена в


китайските магазини. Цената е 200-300 рубли. Понякога се продава дори с
I2C модул.
Лесно се свързва. Вероятно никой в ​​момента не свързва LCD 1602 без I2C.
И с този модул, връзката отнема само 4 пина, няма да има "мрежи" от жици.
Програмиране. Благодарение на готовите библиотеки работата с този модул
е ​​лесна, всички функции вече са написани. И ако е необходимо, добавете
вашия характер отнема само няколко минути.

минуси

По време на използването на хиляди радиолюбители не бяха установени


големи недостатъци, само че има случаи на отхвърляне на закупуването, тъй
като основно се използват китайски дисплеи.

В тази статия беше разгледана връзката на дисплея с LCD 1602 към Arduino и бяха
представени и примери за програми за работа с този дисплей. Той наистина е в
своята категория един от най-добрите, не само защото е избран от хиляди
радиолюбители за своите проекти!

7/8
8/8

You might also like