For at etablere en god kommunikation mellem den menneskelige verden og maskinverdenen spiller displayenheder en vigtig rolle. Og så er de en vigtig del af indlejrede systemer. Displayenheder - store eller små, arbejder på det samme grundlæggende princip. Udover komplekse displayenheder som grafiske skærme og 3D-displayer, skal man vide at arbejde med enkle skærme som 16x1 og 16x2 enheder. 16x1 displayenheden har 16 tegn og er i en linje. 16x2 LCD vil have 32 tegn i alt 16 i 1. linje og yderligere 16 i 2. linje. Her skal man forstå, at der i hvert tegn er 5x10 = 50 pixels, så for at få vist et tegn skal alle 50 pixels arbejde sammen. Men vi behøver ikke bekymre os om det, fordi der er en anden controller (HD44780) i displayenheden, der gør jobbet med at kontrollere pixels. (du kan se det i LCD-enheden,det er det sorte øje bagpå).
I denne vejledning skal vi interface en 16x2 LCD med ARDUINO UNO. I modsætning til normale udviklingskort er det let at interfacere et LCD-display med en ARDUINO. Her behøver vi ikke bekymre os om afsendelse og modtagelse af data. Vi skal bare definere pin-numre, og det vil være klar til at vise data på LCD.
Komponenter, der kræves
Hardware: ARDUINO UNO, strømforsyning (5v), JHD_162ALCD (16x2LCD), 100uF kondensator.
Software: Arduino IDE (Arduino om natten).
Kredsløbsdiagram og forklaring
I 16x2 LCD er der overalt 16 ben, hvis der er baggrundslys, hvis der ikke er baggrundslys, vil der være 14 ben. Man kan tænde eller lade bagbelysningsstifterne stå. Nu i de 14 stifter er der 8 data stifter (7-14 eller D0-D7), 2 Strømforsyning stifter (1 & 2 eller VSS & VDD eller GND & + 5V), 3 rd pin for kontraststyring (VEE-styringer, hvor tyk tegnene bør være vist) og 3 kontrolben (RS & RW & E).
I kredsløbet kan du observere, at jeg kun har taget to kontrolpinde, det giver fleksibilitet. Kontrastbit og LÆS / SKRIV bruges ikke ofte, så de kan kortsluttes til jorden. Dette sætter LCD i højeste kontrast og læsetilstand. Vi skal bare kontrollere ENABLE og RS-ben for at sende tegn og data i overensstemmelse hermed.
Forbindelserne, der foretages for LCD, er angivet nedenfor:
PIN1 eller VSS til jord
PIN2 eller VDD eller VCC til + 5v strøm
PIN3 eller VEE til jorden (giver maksimal kontrast bedst for en nybegynder)
PIN4 eller RS (Registrer valg) til PIN0 for ARDUINO UNO
PIN5 eller RW (læse / skrive) til jorden (sætter LCD i læsefunktion letter kommunikationen for brugeren)
PIN6 eller E (Aktivér) til PIN1 for ARDUINO UNO
PIN11 eller D4 til PIN8 for ARDUINO UNO
PIN12 eller D5 til PIN9 for ARDUINO UNO
PIN13 eller D6 til PIN10 for ARDUINO UNO
PIN14 eller D7 til PIN11 i ARDUINO UNO
ARDUINO IDE giver brugeren mulighed for at bruge LCD i 4 bit-tilstand. Denne type kommunikation gør det muligt for brugeren at mindske pin-brugen på ARDUINO, i modsætning til andre behøver ARDUINO ikke at blive programmeret separat for at bruge den i 4 it-tilstand, fordi ARDUINO som standard er indstillet til at kommunikere i 4 bit-tilstand. I kredsløbet kan du se, at vi har brugt 4bit kommunikation (D4-D7).
Så fra blot observation fra ovenstående tabel forbinder vi 6 ben på LCD til controller, hvor 4 ben er datapinde og 2 ben til kontrol.
Ovenstående figur viser kredsløbsdiagrammet for 16x2 LCD tilsluttet ARDUINO UNO.
Arbejder
For at interface et LCD-display til ARDUINO UNO skal vi kende et par ting.
|
Som ved ovenstående tabel behøver vi kun se på disse fire linjer for at etablere en kommunikation mellem en ARDUINO og LCD.
Først skal vi aktivere headerfilen ('#include
For det andet skal vi fortælle tavlen, hvilken type LCD vi bruger her. Da vi har så mange forskellige typer LCD (som 20x4, 16x2, 16x1 osv.). Her skal vi interface en 16x2 LCD til UNO, så vi får 'lcd.begin (16, 2);'. For 16x1 får vi 'lcd.begin (16, 1);'.
I denne instruktion vil vi fortælle tavlen, hvor vi forbandt benene. De tilsluttede ben skal vises i rækkefølge som “RS, En, D4, D5, D6, D7”. Disse ben skal vises korrekt. Da vi har tilsluttet RS til PIN0 og så videre som vist i kredsløbsdiagrammet, repræsenterer vi pin-nummeret til kortet som “LiquidCrystal lcd (0, 1, 8, 9, 10, 11);”. De data, der skal vises i LCD, skal skrives som "cd.print (" hej, verden! ");". Med denne kommando viser LCD'et 'hej verden!'.
Som du kan se, behøver vi ikke bekymre os om noget andet, vi skal bare initialisere, og UNO vil være klar til at vise data. Vi behøver ikke at skrive en programsløjfe for at sende data BYTE af BYTE her.
Vejen til kommunikation mellem LCD og UNO forklares trin for trin i C-koden nedenfor: