Obsah:

1602 Ovládanie kontrastu LCD od Arduina: 5 krokov
1602 Ovládanie kontrastu LCD od Arduina: 5 krokov

Video: 1602 Ovládanie kontrastu LCD od Arduina: 5 krokov

Video: 1602 Ovládanie kontrastu LCD od Arduina: 5 krokov
Video: САМУРАЙ рубит врагов бесконечно. ⚔ - Hero 5 Katana Slice GamePlay 🎮📱 🇷🇺 2024, November
Anonim
Image
Image
Typický prípad použitia
Typický prípad použitia

Pri práci na novom projekte som narazil na problém, keď som chcel ovládať podsvietenie a kontrast LCD displeja 1602 prostredníctvom Arduina, ale displej bol skutočne blikajúci.

Krok 1: Typický prípad použitia

Typický prípad použitia
Typický prípad použitia

V typickom prípade použitia je kontrast displeja nastavený pomocou variabilného odporu podľa údajového listu. V takom prípade pomocou odporu môžeme nastaviť napätie, ktoré je vidieť na kolíku V0, a podľa toho sa upraví kontrast. V prípade Arduina je najlepšia vec, ktorú môžeme vydať, signál PWM s iným cyklom, ale modul bohužiaľ nie je šťastný, že to zobrazuje.

Krok 2: Kód použitý v príklade

Kód použitý v Príklade
Kód použitý v Príklade
Kód použitý v Príklade
Kód použitý v Príklade

Predtým, ako sa pustíme do schémy, ako to môžeme vyriešiť, dovoľte mi vysvetliť vám kód, ktorý používam.

Prvá vec, ktorú musíme urobiť, je zahrnúť knižnicu Liquid Crystal, aby sme sa mohli pripojiť k displeju. Ďalej nastavíme LCD pomocou pinov, ku ktorým máme pripojený displej, a navyše definujeme piny, ku ktorým máme pripojené piny podsvietenia a kontrastu. Kolík ovládania kontrastu na displeji je V0 a je pripojený k pinu 6 na Arduino a kolík ovládania podsvietenia je označený ako A a keďže ide v podstate o LED, je pripojený cez odpor 220 Ohm k pinu 10 na Arduino.

Vo funkcii Setup najskôr nastavíme jas na displeji na maximum a potom začneme komunikáciu s LCD. Aby sme sa uistili, že funguje správne, zobrazíme správu „ahoj svet“a počkáme asi pol sekundy, aby sme si mohli overiť, či je výstup v poriadku.

V závislosti od stavu kolíka V0 sa často môžete stretnúť s problémom, že sa nič nezobrazí, aj keď sa očakávania líšili. Dôvodom je hodnota kontrastného kolíka. Ak je kontrast nastavený príliš vysoko, displej je sotva viditeľný, preto ho musíme znížiť.

V slučkovej časti kódu najskôr vymažeme obsah LCD a keďže budeme programovo meniť kontrast, zobrazíme text a v slučke aktualizujeme pinový výstup a zobrazíme aktuálnu hodnotu na displej v druhom riadku.

Krok 3: Implementujte nízkopriepustný RC filter

Implementujte Low Pass RC filter
Implementujte Low Pass RC filter
Implementujte Low Pass RC filter
Implementujte Low Pass RC filter
Implementujte Low Pass RC filter
Implementujte Low Pass RC filter

Ako vidíte, zdá sa, že to funguje, ale displej je blikajúci. Dôvodom je to, že displej očakáva pevné napätie, ale namiesto toho dostáva signál PWM z Arduina. Aby sme to vyriešili, pridáme veľmi jednoduchý nízkopriepustný RC filter, aby bolo možné filtrovať výstupné napätie a získať relatívne stabilný výstup.

Dolnopriepustný filter sa skladá z odporu 1 kOhm, ktorý je na jednej strane spojený s kolíkom 6 na Arduine a potom s V0 na displeji. Kondenzátor 10 uF je zápornou stranou spojený so zemou a kladný pól je zapojený do kolíka V0. Rezistor nabíja kondenzátor impulzmi PWM a v závislosti od pracovných cyklov sa nabíja na iné napätie.

Krok 4: Programovo ovládajte zadné svetlo

Programovo ovládajte zadné svetlo
Programovo ovládajte zadné svetlo

Podobne ako pri nastavovaní kontrastu, môžeme to isté urobiť aj s kolíkom podsvietenia, ale bez potreby pridania dolnopriepustného filtra, pretože LED dióda podsvietenia nie je viditeľná, pokiaľ je zapnutá a vypnutá tak rýchlo.

Krok 5: Užite si to

Užite si to!
Užite si to!

Dúfam, že vám tento veľmi jednoduchý trik pomôže pri ďalšom projekte. Ak sa vám páčil tento návod, zvážte sledovanie mňa a prihlásenie sa na odber môjho kanála YouTube.

Ochutnajte kód na YouTube!

Na zdravie!

Odporúča: