В предишния раздел заявихме, че най-лесният начин за свързване на вече завършен LCD щит към Arduino, на който освен дисплея има и шест бутона. Тези, които нямат този щит, но имат дисплей, могат да го свържат директно с помощта на проводници или панел за свързване. Вече знаем, че LCD дисплеят може да комуникира в 4-битов или 8-битов режим. И казахме, че 4-битовият режим се използва най-често. Ние също ще използваме този режим, тъй като библиотеките, налични в средата за разработка, работят с този режим.

работа

Фиг. № 1

Следните сигнали се използват в 4-битов режим:

- Сигнал RS (Избор на регистър) - избор на регистри - на извода на дисплея 4 (четвърти отляво)
- Сигнал EN (Активиране) - разрешаване на запис в регистрите - пин. 6 (шесто отляво)
- Сигнал DB4 - данни, бит 4 - на извода на дисплея 11 (единадесета отляво)
- Сигнал DB5 - данни, бит 5 - на извода на дисплея 12 (дванадесети отляво)
- Сигнал DB6 - данни, бит 6 - на извода на дисплея 13 (тринадесети отляво)
- Сигнал DB7 - данни, бит 7 - на извода на дисплея 14 (четиринадесети отляво)

В допълнение към тези сигнали, тример или потенциометър връзка от приблизително 10 килоома между терминалите Vss, Vdd и Vo (щифтове 1, 2 и 3 на дисплея) много често се използва за регулиране на контраста на дисплея и LED + и LED- клеми (щифтове 14 и 15) като подсветка. Свързването на тези проводници не е задължително, но е много подходящо.

Тези сигнали могат да бъдат свързани към всеки изход за цифрови данни на Arduino, но най-често те са свързани към D2 до D12. Ще ви покажем двата най-често използвани метода.

Връзка с помощта на полето за връзка

Тези, които притежават само LCD дисплей, могат да го свържат, например, съгласно тази схема (фиг. № 1). Тъй като не са осигурили готов LCD щит, очаквам те да са достатъчно ерудирани и да могат правилно да го свържат към Arduino. Имайте предвид, че в горната диаграма сигналите са свързани помежду си съгласно таблица №. 1.

LCD сигнал

Pin LCD

Arduino сигнал

В същото време диаграмата показва и връзката на контрастния потенциометър и подсветката.

Тези, които използват полето за взаимно свързване, могат да реализират тази връзка, например, съгласно фиг. 2.

А тези, които притежават LCD щит, просто го плъзгат в Arduino и можем да започнем да работим.

Използване на LCD екрана

Някои LCD екрани имат различни терминали, свързани към Arduino. Следователно е необходимо да разберете електрическата схема от производителя (или продавача) и да прочетете от нея къде е свързан съответният щифт. За по-голямата част от LCD екраните връзката съгласно таблица №. 2.

LCD сигнал

Pin LCD

Arduino сигнал

Може би някой ще спори защо свързваме LDC дисплея с други щифтове, когато можем да използваме същия метод като в черупката. Това е така, защото може да се сблъскаме с това в бъдеще и да можем лесно да модифицираме дефиницията на връзката в програмата.

Библиотека за работа с LCD дисплей

Добре познатата библиотека LiQuidCrystal се използва най-често в средата за разработка на Arduino за работа с LCD дисплея. Той вече е част от околната среда и не е необходимо да се инсталира. Всичко, което трябва да направим, е да го извикаме в нашата програма и да го използваме. Библиотеката има много команди, постепенно ще се запознаем с тях, като използваме примерни примери. Трябва да се отбележи, че има и други библиотеки за работа с LCD дисплеи, но те не са толкова широко разпространени. Те дори не са част от средата за разработка на Arduino, така че трябва да бъдат изтеглени от Интернет и инсталирани в средата. Ще покажем как библиотеките се добавят към средата на Arduino по друго време.

"Здравей свят!"

Спомняте ли си една от първите ни програми, където поздравихме света с компютърния монитор, към който беше свързан Arduino? Дори сега поздравяваме света, но директно на LCD дисплея на Arduino.

Изявлението съдържа текста на проста програма:

Първият ред съдържа нов запис #include за нас . Това означава, че трябва да прикачим (технически, връзка) към нашата програма, която е дефинирана в заглавния файл, наречен LiquidCrystal. За какви други заглавни файлове се използват (знаем ги по разширението .h) ще ви бъде обяснено по друго време. Засега трябва само да знаем, че с тази команда извикваме библиотека със съответното име. Библиотеката съдържа всички налични функции за работа с LCD дисплея, така че вече не се налага да ги създаваме сложни, просто ги използваме лесно.

Командата LiquidCrystal се намира в дефиниционната част на програмния код. Тази функция декларира определена обект (програмен обект) с конкретно име, под което ще го наричаме по-нататък в нашата програма. В този случай декларираме обект, наречен В същото време в тази функция определяме към кои пинове (пинове) е свързан Arduino LCD дисплеят.

Терминалите са дефинирани в следния ред: RS, EN, D4, D5, D6, D7. По този начин е ясно, че тази функция използва свързването на щифтове съгласно таблица №. 2 (в случай, че използвахме вече готовия LCD щит). Но както вече споменахме, нищо не ни пречи да използваме друга връзка и да дефинираме правилните щифтове в тази функция. Така че, ако свържем LCD дисплея според схемата на снимките не. 1 и 2, декларацията за обект ще бъде

LCD LiquidCrystal (12, 11, 5, 4, 3, 2)

В раздела setup () има само една команда lcd.begin (16, 2). Методът begin на lcd обекта активира дисплея и определя колко колони (символи на ред) и редове има. В нашия случай имаме двуредов дисплей с 16 знака на ред. (Ако имахме свързан друг дисплей, като например 4 реда с 20 символа на ред, бихме използвали командата lcd.begin (20, 4)). Само за пълнота има двуредови дисплеи с 20 знака и едноредови дисплеи с 16 знака.

В цикъла loop () командата lcd.SetCursor задава позицията на курсора на дисплея. Позицията се номерира от горния ляв ъгъл на дисплея, така че първият знак има пореден номер 0 (нула), а първият ред също номер 0 (нула). По този начин, писането на lcd.setCursor (0,0) задава курсора на позицията на първия символ на първия ред (по същия начин командата lcd.setCursor (0,1) задава курсора на позицията на първия символ. на другия линия. Командата lcd.print („Hello, World!“) Ни е позната - lcd обектът отпечатва текста Hello World! на зададената линия. Следващата команда setCursor ще премести курсора на втория ред и последната команда lcd.print ще отпечата текста Как да?.

Ще напишем програмата, ще я преведем и ще я качим в Arduino. Ако никъде не сме сгрешили, ще видим съответните текстове на дисплея.

Нека се опитаме да заменим последния неакцентиран текст в програмата с акцентиран текст (напр. Как сте?), Компилирайте и качете в Arduino. Какви символи ще видим на LCD дисплея? Символите á и š са някак нечетливи. Това е така, защото паметта на LCD дисплея не съдържа нашите словашки символи. Но не се притеснявайте, ние ще убедим дисплея да пише добре с омекотители и дължини. Но следващия път.