Innholdsfortegnelse:

1602 LCD -kontrastkontroll fra Arduino: 5 trinn
1602 LCD -kontrastkontroll fra Arduino: 5 trinn

Video: 1602 LCD -kontrastkontroll fra Arduino: 5 trinn

Video: 1602 LCD -kontrastkontroll fra Arduino: 5 trinn
Video: Измерьте ток до 500A с помощью шунтирующего резистора с помощью Arduino 2024, November
Anonim
Image
Image
Typisk brukstilfelle
Typisk brukstilfelle

Mens jeg jobbet med et nytt prosjekt, har jeg støtt på et problem der jeg ønsket å kontrollere bakgrunnsbelysningen og kontrasten til en 1602 LCD -skjerm gjennom en Arduino, men skjermen var virkelig flimmer.

Trinn 1: Typisk brukstilfelle

Typisk brukstilfelle
Typisk brukstilfelle

I en vanlig brukstilfelle justeres displaykontrasten gjennom en variabel motstand i henhold til databladet. I slike tilfeller kan vi gjennom motstanden justere spenningen som ses på V0 -pinnen, og kontrasten justeres deretter. Med Arduino er det beste vi kan sende ut et PWM -signal med en annen syklus, men dessverre er modulen ikke fornøyd med å vise det.

Trinn 2: Koden brukes på eksemplet

Koden brukes på eksemplet
Koden brukes på eksemplet
Koden brukes på eksemplet
Koden brukes på eksemplet

Før jeg går inn på skjematisk hvordan vi kan fikse dette, la meg forklare deg koden jeg bruker.

Det første vi må gjøre er å inkludere Liquid Crystal -biblioteket slik at vi kan koble til skjermen. Deretter setter vi opp LCD -skjermen med pinnene som skjermen er koblet til, og i tillegg definerer vi pinnene som vi har bakgrunnsbelysning og kontrastpinner tilkoblet. Kontrastkontrollpinnen på displayet er V0 og den er koblet til pinne 6 på Arduino og kontrollpinnen for bakgrunnsbelysning er merket som A, og siden dette i utgangspunktet er en LED, er den koblet gjennom en 220 Ohm motstand til pinne 10 på Arduino.

I Setup -funksjonen setter vi først lysstyrken på displayet til maks, og deretter starter vi kommunikasjonen med LCD -skjermen. For å sikre at det fungerer som det skal, viser vi en melding om "hei verden", og vi venter omtrent et halvt sekund slik at vi kan bekrefte at utgangen er OK.

Svært ofte, avhengig av tilstanden til V0 -pinnen, kan du møte problemet med ikke å ha noe vist selv om forventningen var annerledes. Årsaken til dette er kontrastnålverdien. Hvis kontrasten er satt for høyt, er skjermen knapt synlig, så vi må redusere den.

I sløyfedelen av koden fjerner vi først innholdet på LCD -skjermen, og siden vi programmatisk vil endre kontrasten, viser vi en tekst, og i en sløyfe oppdaterer vi pin -utgangen og viser gjeldende verdi til displayet på den andre raden.

Trinn 3: Implementér lavpass RC -filter

Implementér lavpass RC -filter
Implementér lavpass RC -filter
Implementér lavpass RC -filter
Implementér lavpass RC -filter
Implementér lavpass RC -filter
Implementér lavpass RC -filter

Som du kan se, ser dette ut til å fungere, men displayet flimrer. Grunnen til dette er at skjermen forventer en fast spenning, men i stedet får den et PWM -signal fra Arduino. For å fikse dette legger vi til et veldig enkelt lavpass RC -filter slik at utgangsspenningen kan filtreres og vi får en relativt stabil utgang.

Lavpassfilteret består av en 1 kOhm motstand som på den ene siden er koblet til pinnen 6 på Arduino og deretter til V0 på displayet. 10 uF kondensatoren er koblet med den negative siden til bakken, og den positive er koblet til V0 -pinnen. Motstanden lader kondensatoren med PWM -pulser, og avhengig av driftssyklusene lades den til en annen spenning.

Trinn 4: Kontroller bakgrunnslyset programmatisk

Programmatisk kontroll av bakgrunnslyset
Programmatisk kontroll av bakgrunnslyset

I likhet med hvordan vi stiller kontrasten, kan vi gjøre det samme med bakgrunnsbelysningspinnen, men uten behov for å legge til et lavpassfilter siden bakgrunnsbelysnings -LED -en ikke er synlig mens den slås på og av så raskt.

Trinn 5: Kos deg

Nyt!
Nyt!

Jeg håper at dette veldig enkle trikset vil hjelpe deg med ditt neste prosjekt. Hvis du likte denne instruksen, kan du vurdere å følge meg og abonnere på YouTube -kanalen min.

Smak på koden på YouTube!

Jubel!

Anbefalt: