Kazalo:

1602 Nadzor kontrasta LCD iz Arduina: 5 korakov
1602 Nadzor kontrasta LCD iz Arduina: 5 korakov

Video: 1602 Nadzor kontrasta LCD iz Arduina: 5 korakov

Video: 1602 Nadzor kontrasta LCD iz Arduina: 5 korakov
Video: How to use LCD LCD1602 with I2C module for Arduino - Robojax 2024, Julij
Anonim
Image
Image
Tipičen primer uporabe
Tipičen primer uporabe

Med delom pri novem projektu sem naletel na težavo, pri kateri sem želel nadzorovati osvetlitev ozadja in kontrast LCD zaslona 1602 prek Arduina, vendar je bil zaslon res utripajoč.

1. korak: tipičen primer uporabe

Tipičen primer uporabe
Tipičen primer uporabe

V tipični uporabi se kontrast zaslona prilagodi s spremenljivim uporom v skladu s podatkovnim listom. V tem primeru lahko z uporom nastavimo napetost, ki je vidna na vinu V0, in temu primerno prilagodimo kontrast. Pri Arduinu je najboljša stvar, ki jo lahko oddamo, signal PWM z drugačnim ciklom, vendar modul žal tega ne prikazuje.

2. korak: Koda, uporabljena v primeru

Koda, uporabljena na primeru
Koda, uporabljena na primeru
Koda, uporabljena na primeru
Koda, uporabljena na primeru

Preden se lotim sheme, kako lahko to popravimo, naj vam razložim kodo, ki jo uporabljam.

Najprej moramo vključiti knjižnico tekočih kristalov, da se lahko povežemo z zaslonom. Nato nastavimo LCD z zatiči, s katerimi imamo priključen zaslon, in dodatno določimo zatiče, na katere imamo priključene osvetlitev ozadja in kontrastne zatiče. Kontrolni zatič za kontrast na zaslonu je V0 in je priključen na pin 6 na Arduinu, kontrolni zatič za osvetlitev ozadja pa je označen kot A in ker je to v bistvu LED, je preko upora 220 Ohm priključen na pin 10 na Arduinu.

V funkciji Setup najprej nastavimo svetlost zaslona na max in nato začnemo komunikacijo z LCD -jem. Če želite zagotoviti, da deluje pravilno, prikažemo sporočilo »hello world« in počakamo približno pol sekunde, da lahko preverimo, ali je izhod v redu.

Zelo pogosto se lahko, odvisno od stanja vtiča V0, soočite s problemom, da se nič ne prikaže, čeprav so bila pričakovanja drugačna. Razlog za to je vrednost kontrastnega zatiča. Če je kontrast nastavljen previsoko, je zaslon komaj viden, zato ga moramo zmanjšati.

V odseku zanke kode najprej počistimo vsebino LCD -ja in ker bomo programsko spremenili kontrast, prikažemo besedilo, v zanki pa posodobimo izhod pin in prikažemo trenutno vrednost na zaslonu v drugi vrstici.

3. korak: Uvedite nizkoprepustni RC filter

Izvedite nizkoprepustni RC filter
Izvedite nizkoprepustni RC filter
Izvedite nizkoprepustni RC filter
Izvedite nizkoprepustni RC filter
Izvedite nizkoprepustni RC filter
Izvedite nizkoprepustni RC filter

Kot vidite, se zdi, da to deluje, vendar je zaslon ves utripajoč. Razlog za to je, da zaslon pričakuje fiksno napetost, vendar namesto tega dobi signal PWM od Arduina. Če želimo to odpraviti, dodamo zelo preprost nizkoprepustni RC filter, tako da lahko izhodno napetost filtriramo in dobimo relativno stabilen izhod.

Nizkoprepustni filter je sestavljen iz upora 1 kOhm, ki je na eni strani priključen na pin 6 na Arduinu in nato na V0 na zaslonu. Kondenzator 10 uF je priključen s svojo negativno stranjo na ozemljitev, pozitivni pa na priključek V0. Upor napolni kondenzator s PWM impulzi in je glede na delovne cikle napolnjen na različno napetost.

4. korak: Programsko upravljajte osvetlitev ozadja

Programsko upravljajte osvetlitev ozadja
Programsko upravljajte osvetlitev ozadja

Podobno, kot nastavimo kontrast, lahko enako storimo z zatičem za osvetlitev ozadja, vendar brez potrebe po dodajanju nizkoprepustnega filtra, ker LED za osvetlitev ozadja med tako hitrim vklopom in izklopom ni vidna.

5. korak: Uživajte

Uživajte!
Uživajte!

Upam, da vam bo ta zelo preprost trik pomagal pri naslednjem projektu. Če vam je bil ta Instructable všeč, vas prosimo, da me spremljate in se naročite na moj YouTube kanal.

Okusite kodo na YouTubu!

Na zdravje!

Priporočena: