Съдържание:

1602 LCD контрол на контраста от Arduino: 5 стъпки
1602 LCD контрол на контраста от Arduino: 5 стъпки

Видео: 1602 LCD контрол на контраста от Arduino: 5 стъпки

Видео: 1602 LCD контрол на контраста от Arduino: 5 стъпки
Видео: Текстовые LCD дисплей на контроллере HD44780, Уроки Arduino 2024, Ноември
Anonim
Image
Image
Типичен случай на употреба
Типичен случай на употреба

Докато работех по нов проект, попаднах на проблем, при който исках да контролирам подсветката и контраста на 1602 LCD дисплей през Arduino, но дисплеят беше наистина трептящ.

Стъпка 1: Типичен случай на употреба

Типичен случай на употреба
Типичен случай на употреба

В типичен случай на използване контрастът на дисплея се регулира чрез променлив резистор според листа с данни. В такъв случай чрез резистора можем да регулираме напрежението, което се вижда на щифта V0 и контрастът се регулира съответно. С Arduino най -доброто, което можем да изведем, е ШИМ сигнал с различен цикъл, но за съжаление модулът не е щастлив да го покаже.

Стъпка 2: Код, използван в примера

Код, използван в примера
Код, използван в примера
Код, използван в примера
Код, използван в примера

Преди да навляза в схемата как можем да поправим това, нека ви обясня кода, който използвам.

Първото нещо, което трябва да направим, е да включим библиотеката с течни кристали, за да можем да се свържем с дисплея. След това настройваме LCD дисплея с щифтовете, към които имаме свързан дисплея, и допълнително определяме щифтовете, към които имаме свързани подсветка и контрастни щифтове. Контролният щифт за контраст на дисплея е V0 и е свързан към щифт 6 на Arduino, а щифтът за управление на подсветката е маркиран като A и тъй като това по същество е светодиод, той е свързан чрез резистор 220 Ohm към пин 10 на Arduino.

В функцията за настройка първо настройваме яркостта на дисплея на максимум и след това започваме комуникация с LCD. За да се уверим, че работи правилно, извеждаме съобщение на „здравей свят“и чакаме около половин секунда, за да можем да проверим дали изходът е ОК.

Много често, в зависимост от състоянието на щифта V0, може да се сблъскате с проблема да не се показва нищо, въпреки че очакванията бяха различни. Причината за това е стойността на контрастния щифт. Ако контрастът е настроен твърде високо, дисплеят едва се вижда, така че трябва да го намалим.

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

Стъпка 3: Внедрете нискочестотен RC филтър

Внедрете нискочестотен RC филтър
Внедрете нискочестотен RC филтър
Внедрете нискочестотен RC филтър
Внедрете нискочестотен RC филтър
Внедрете нискочестотен RC филтър
Внедрете нискочестотен RC филтър

Както можете да видите, изглежда, че това работи, но дисплеят е мигащ. Причината за това е, че дисплеят очаква фиксирано напрежение, но вместо това получава PWM сигнал от Arduino. За да поправим това, добавяме много прост нискочестотен RC филтър, така че изходното напрежение да може да се филтрира и да получим относително стабилен изход.

Нискочестотният филтър се състои от 1 kOhm резистор, който от едната страна е свързан към щифта 6 на Arduino и след това към V0 на дисплея. Кондензаторът с 10 uF е свързан с отрицателната си страна към земята, а положителният е свързан с V0 щифта. Резисторът зарежда кондензатора с PWM импулси и в зависимост от работните цикли се зарежда до различно напрежение.

Стъпка 4: Програмно контролирайте подсветката

Програмно контролирайте подсветката
Програмно контролирайте подсветката

Подобно на начина, по който задаваме контраста, можем да направим същото и с щифта за подсветка, но без да е необходимо да добавяме нискочестотен филтър, тъй като светодиодът за подсветка не се вижда, докато се включва и изключва толкова бързо.

Стъпка 5: Насладете се

Наслади се!
Наслади се!

Надявам се, че този много прост трик ще ви помогне при следващия ви проект. Ако този Instructable ви е харесал, моля, помислете дали да ме последвате и да се абонирате за канала ми в YouTube.

Опитайте кода в YouTube!

Наздраве!

Препоръчано: