Store ting i erhvervslivet bliver aldrig gjort af én person. De er lavet af et hold af mennesker. Vi har den dynamiske gruppe af mennesker
Afsløring af magien ved 16×2 LCD-skærm: En omfattende guide med Arduino-interface
Indholdsfortegnelse
16×2 LCD-modulet, en hjørnesten i indlejrede systemer, er et fantastisk værktøj til at vise tekstinformation. Denne artikel dykker dybt ned i, hvordan denne alsidige skærm fungerer, og udforsker dens pin-konfiguration, hvordan man bruger grænsefladen til den med en Arduino, og endda hvordan man skaber brugerdefinerede karakterer. Hvis du ønsker at tilføje en klar, læsbar skærm til dine Arduino-projekter, er denne guide en vigtig ressource.
1. Hvad er en LCD og hvorfor en 16×2 LCD er populær?
En LCD, eller flydende krystalskærm, er en fladskærmsteknologi, der almindeligvis bruges i en bred vifte af enheder, fra ure og lommeregnere til computerskærme og fjernsyn. 16×2 LCD-modulet er særligt populært for hobbyister og indlejrede systemudviklere på grund af dets enkelhed, lave omkostninger og evnen til at vise tekstinformation klart. I modsætning til mere komplekse grafiske skærme er 16×2 lcd designet til tegnbaseret output. "16×2"-betegnelsen betyder, at den har 2 linjer, der hver kan vise 16 tegn ad gangen. Dette gør den ideel til visning af sensoraflæsninger, menuindstillinger eller enhver form for tekstdata. Denne type skærm er en karakter lcd, der er ekstremt udbredt i forskellige projekter. De 16×2 lcd-modul er en type displaymodul, der ikke kræver kompleks programmering at bruge. Den bruger også meget lidt strøm, hvilket gør den velegnet til batteridrevne applikationer.
Den brede tilgængelighed og omkostningseffektivitet af 16×2 skærmmodulet gør det til et populært valg til uddannelsesprojekter og mindre applikationer. Den nemme grænseflade med mikrocontrollere som Arduino, kombineret med en bred vifte af tilgængelige biblioteker, gør det til et valg for begyndere og erfarne brugere. Denne type lcd-modul bruges ofte som karakter-lcd og er kendt for sin pålidelighed og enkle betjening. Displayet, der bruger denne form for modul, er meget tydeligt. LCD-skærmen med 16×2 tegn tillader at vise 16 tegn pr. linje.
2. Forståelse af 16×2 LCD Pinout: Hvad gør hver Pin?
16×2 lcd-modulet kommer typisk med 16 ben, der hver tjener et specifikt formål. Forståelse af lcd pinout er afgørende for vellykket grænseflade. Her er en oversigt over hver pin:
- Ben 1 og 2 (VSS og VDD): Disse er til strømforsyning. VSS er jord (0V), og VDD er den positive forsyningsspænding (typisk +5V).
- Ben 3 (V0 eller VEE): Denne pin bruges til at justere kontrasten på lcd'en. Tilslutning af et potentiometer til denne pin giver mulighed for manuel kontrastjustering.
- Pin 4 (RS – Register Select): Denne pin bestemmer, om de data, der sendes til lcd'en, fortolkes som en kommando eller data. Når RS er lav, behandles dataene som en kommando. Når RS er høj, behandles dataene som tegndata.
- Pin 5 (R/W – Læs/Skriv): Denne pin bruges til at vælge, om data skal læses fra lcd'en eller skrives til lcd'en. I de fleste applikationer er den forbundet til jord for at sætte lcd'en i "skrive"-tilstand.
- Ben 6 (E – Aktiver): Denne pin bruges til at låse dataene. LCD'et er aktiveret med en høj-til-lav puls på denne pin for at registrere data eller kommandoer.
- Ben 7-14 (D0-D7): Disse er de 8 datastifter, der bruges til at sende data til lcd'en i 8-bit tilstand. Disse ben bruges også i 4-bit tilstand, men det vil vi diskutere senere. I 4-bit tilstand bruges kun ben D4-D7.
- Ben 15 og 16 (A og K): Det er henholdsvis anode- og katodestifterne til baggrundsbelysningen. Disse stifter bruges til at forsyne baggrundsbelysningen, typisk en led-baggrundsbelysning. Ben 15 er for den positive spænding og ben 16 er til jord.
Denne detaljerede forklaring af lcd pinout er nøglen til at forstå grænsefladen. Korrekte benforbindelser er afgørende for korrekt funktion af LCD-skærmen. Se tabel 1 for en illustration af pinoutet.
Tabel 1: 16×2 LCD Pinout
Pin nummer | Symbol | Beskrivelse |
---|---|---|
1 | VSS | Jord (0V) |
2 | VDD | +5V strømforsyning |
3 | V0/VEE | Kontrastjustering |
4 | RS | Registrer Vælg |
5 | R/W | Læs/skriv Vælg |
6 | E | Aktiver signal |
7 | D0 | Databit 0 |
8 | D1 | Databit 1 |
9 | D2 | Databit 2 |
10 | D3 | Databit 3 |
11 | D4 | Databit 4 |
12 | D5 | Databit 5 |
13 | D6 | Databit 6 |
14 | D7 | Databit 7 |
15 | EN | LED Baggrundsbelysning Anode |
16 | K | LED Baggrundsbelysning katode |
3. Hvordan fungerer 16×2 LCD-modulet internt?
De 16×2 lcd-modul bruger en LCD-teknologi (Liquid Crystal Display) til at vise tegn. Hvert tegn på lcd'en er sammensat af et gitter af pixels. Disse pixels styres ikke individuelt af brugeren, men styres af lcd-chipcontrolleren. Modulet har en indbygget tegngenerator, som gemmer foruddefinerede former til standard ascii-tegnsættet. Når du sender en tegnkode til skærmen, henter controlleren pixelkonfigurationen fra sin tegngenerator og viser tegnet på LCD-skærmen.
Kommunikationen mellem mikrocontrolleren og lcd'en opnås ved at sende kommandoer og data. Kommandoer bruges til at styre skærmens adfærd, såsom at rydde skærmen, flytte markøren eller indstille visningstilstanden. Data er de tegn, du vil vise. LCD-modulet bruger de tidligere beskrevne ben til at modtage data og kommandoer. LCD-chipcontrolleren er ansvarlig for at fortolke og udføre disse instruktioner. Controlleren styrer også markørens position og visningen af tegn baseret på den adresse, der sendes med dataene. Dette gør det muligt for en mikrocontroller at sende data til lcd'en og få dem vist.
4. Hvad er de vigtigste forskelle mellem forskellige LCD-moduler?
Mens 16×2 lcd er meget almindelig, findes der andre typer LCD-moduler, hver med specifikke egenskaber. Her er nogle forskelle at overveje:
- Tegn LCD'er vs. grafiske LCD'er: Tegn LCD'er, ligesom 16×2 displayet, er designet til at vise tekst og foruddefinerede tegn. Grafiske LCD'er kan på den anden side vise vilkårlig grafik og billeder, hvilket giver meget mere fleksibilitet, men er mere komplekse at kontrollere.
- Størrelse og opløsning: LCD'er kommer i forskellige størrelser og opløsninger. Almindelige størrelser inkluderer 16×2, 20×4 og mange større. Et 20×4 displaymodul kan vise 20 tegn på 4 linjer.
- Baggrundsbelysning: Nogle LCD-moduler kommer med baggrundsbelysning, typisk en led-baggrundsbelysning for forbedret synlighed i svagt lys, mens andre ikke gør.
- Interface: LCD'er kan have forskellige grænsefladetyper. Nogle kan have en I2C-grænseflade, hvilket forenkler ledningsføringen ved kun at bruge to ledninger til datakommunikation. Andre, som den 16×2 lcd, vi diskuterer, bruger parallel kommunikation.
- Farve: De fleste tegn LCD'er er monokrome, mens grafiske LCD'er kan være monokrome eller farve.
- Controller: Forskellige LCD'er kan bruge forskellige controller-chips. Men mange af dem bruger den samme hd44780 lcd-controller eller kompatible variant.
Når du vælger et lcd-modul, skal du overveje kompleksiteten og typen af information, du vil vise. Til grundlæggende tekstoutput forbliver LCD-skærmen med 16×2 tegn en pålidelig og omkostningseffektiv mulighed. At forstå hvilken type display og hvilken type interface der kræves er nøglen til at vælge det korrekte displaymodul.
5. Hvordan forbinder man en LCD 16×2 til Arduino for Basic Display?
At forbinde en 16×2 lcd med en arduino er en ligetil proces, især med brug af biblioteker. Her er en trin-for-trin guide til tilslutning og visning af grundlæggende tekst:
Ledningsføring:
- Tilslut LCD'ens VSS-pin til Arduino's GND.
- Tilslut LCD'ens VDD-pin til Arduino's 5V.
- Tilslut LCD'ens V0-ben (kontrast) til midterbenet på et 10K potentiometer. Tilslut en af de andre ben på potentiometeret til 5V, og den resterende ben til GND.
- Tilslut LCD'ens RS-pin til en Arduino digital pin (f.eks. pin 12).
- Tilslut LCD's R/W-ben til GND.
- Tilslut LCD'ens E-pin til en Arduino digital pin (f.eks. pin 11).
- Tilslut LCD'ens databen (D4-D7) til Arduino digitale ben (f.eks. ben 5, 4, 3 og 2). Vi konfigurerer lcd'en i 4-bit tilstand.
- Tilslut LCD'ens baggrundsbelysningsben (A) til 5V, og baggrundsbelysningsben (K) til GND (valgfrit, hvis du bruger en baggrundsbelysning og ikke ønsker at styre den, ellers tilslut A via modstand til en digital pin og K til GND ).
Arduino kode: Installer LiquidCrystal-biblioteket i Arduino IDE, og brug derefter kode svarende til følgende:
#omfatte
konst int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
ugyldig opsætning() { lcd.begynde(16, 2); lcd.trykke("Hej verden!");
}
ugyldig sløjfe() {
// Din anden kode kan inkluderes her, LCD vil blive ved med at vise beskeden
}
Dette enkle eksempel demonstrerer det grundlæggende i interface med arduino og visning af data på lcd'en. Dette viser også, hvordan man bruger lcd'en i 4-bit tilstand for at forenkle antallet af brugte ben.
6. Hvordan sender man data og kommandoer til LCD'et?
Det er vigtigt at sende data og kommandoer til LCD'en for at kontrollere dens adfærd og vise information. Som tidligere nævnt bruges RS-stiften til at skelne mellem data og kommandoer. Når RS er lav, betragtes instruktioner givet til lcd'en som kommandoer; når den er høj, behandles de som data, hvilket typisk er et tegn, der skal vises.
Afsendelse af kommandoer: For at sende kommandoer skal du først indstille RS-pinden lav. Instruktionerne kan omfatte handlinger som at rydde skærmen, indstille markørens position eller konfigurere visningstilstanden. Sendekommandoerne bruges typisk til at konfigurere lcd'en til drift. Biblioteksmetoderne, der bruges med arduino, vil klare alt det.
Afsendelse af data: Indstil RS-pinden højt for at sende data. De sendte data vil blive fortolket som en ascii-kode for det tegn, der skal vises. Hvert tegn har en tilknyttet kode, som kan findes i standard ascii-tegnsættet. LCD'en henter derefter det tilsvarende tegn fra sin tegngenerator og viser det på skærmen. Processen håndteres af biblioteket, men det er nyttigt at kende den grundlæggende funktionalitet. For at dataene kan skrives til LCD'et, skal datastifterne indstilles.
Bibliotekets funktioner, som f.eks lcd.print()
håndterer automatisk kompleksiteten ved at kontrollere RS- og E-stifterne, samt sender den korrekte byte til LCD'en. Dette forenkler processen med at sende data til lcd'en markant. Det er også muligt at sende kommandoer ved hjælp af bibliotekets metoder, f.eks. lcd.clear()
bruges til at rydde displayet og lcd.setCursor()
bruges til at indstille den aktuelle markørposition på displayet.
7. Hvordan styres LCD-baggrundsbelysningen effektivt?
Baggrundsbelysningen på en 16×2 lcd er meget nyttig under dårlige lysforhold. De fleste af 16×2 skærmmoduler inkluderer en LED-baggrundsbelysning. For at styre baggrundsbelysningen skal du forsyne anode (ben 15) og katode (ben 16) ben, normalt via en modstand. Der er et par måder, hvorpå baggrundsbelysningen kan styres. Du kan blot tilslutte baggrundsbelysningen direkte til strømmen og jorden, i dette tilfælde vil baggrundslyset være permanent tændt. Hvis du bruger denne metode, anbefales det stærkt at inkludere en strømbegrænsende modstand i serie med anodestiften. For at styre baggrundsbelysningen med mikrocontrolleren skal du forbinde anode (ben 15) til en af benene på arduinoen og katoden (ben 16) til jorden. Ved at indstille udgangen af stiften til høj eller lav, vil du være i stand til at tænde eller slukke for baggrundsbelysningen.
Ved at bruge en pin arduino til at styre baggrundslyset gør det muligt at slukke for det, hvis det ikke er nødvendigt, eller implementere andre funktioner som for eksempel: at fade baggrundslyset til og fra. Du bør altid tjekke dataarket for den maksimale baggrundslysstrøm for at vælge den korrekte modstand. Typisk vil en 220 Ohm modstand fungere fint. Når stiften er sat til høj, vil LED-baggrundsbelysningen være tændt, ellers vil den være slukket. Styring af baggrundsbelysningen i kode vil hjælpe med at spare strøm, hvis baggrundslyset ikke er nødvendigt.
8. Hvordan justeres kontrasten på LCD-skærmen for optimal synlighed?
Justering af kontrasten er afgørende for at opnå optimal læsbarhed af lcd-skærmen. Kontrasten på LCD-skærmen justeres ved at ændre spændingen på V0- eller VEE-benet (ben 3). Denne spænding styrer kontrasten af pixels. For at justere kontrasten på displayet er der typisk tilsluttet et potentiometer til denne pin. Når du drejer potentiometeret, ændres spændingen på denne ben. Hvis spændingen er for høj, vil displayet være sort, og hvis spændingen er for lav vil displayet næsten ikke være synligt. For at justere kontrasten skal du finde et punkt, der er godt for den pågældende lcd.
Ved at tilslutte et potentiometer er det nemt at manuelt justere displayets kontrast. Dette er en meget almindelig metode. Processen med at justere kontrasten involverer langsomt at dreje potentiometeret, indtil tegnene bliver tydeligt synlige. Hvis dit display kun viser sorte blokke eller er meget svagt, betyder det, at kontrasten ikke er korrekt justeret. Displayets kontrast kan ændre sig, når temperaturen ændres. En lille justering kan være nødvendig efter nogen tids brug. Denne metode er billig og den virker effektivt. Justering af kontrasten på LCD'en er nødvendig for at opnå optimal synlighed.
9. Hvordan genererer og viser brugerdefinerede tegn på en 16×2 LCD?
Evnen til at definere og vise brugerdefinerede tegn forbedrer markant alsidigheden af en 16×2 lcd. Den indbyggede tegngenerator gemmer allerede et foruddefineret sæt standard ascii-tegnsæt, men brugeren kan overskrive 8 placeringer i den brugerdefinerede tegnhukommelse. Brugerdefineret tegngenerering på skærmen opnås ved at skabe et bytemønster for hvert brugerdefineret tegn. Hvert tegn er defineret ved hjælp af 5×8 pixel matrix, hvilket betyder, at der er 5 bits pr. række og 8 rækker. Det betyder, at vi har brug for 8 bytes data for at definere det brugerdefinerede tegn.
Trin til at generere og vise en brugerdefineret karakter:
- Design din karakter: Skitser din ønskede karakter på et 5×8 pixel gitter. Marker de pixels, du vil belyse.
- Konverter til bytes: Hver række af pixels svarer til en enkelt byte. En tændt pixel er repræsenteret af et 1, og en uoplyst pixel er et 0. Konverter hver række af dine 5 pixels til binær og derefter til decimal. Dette giver dig 8 bytes, der definerer din brugerdefinerede karakter.
- Send til LCD: Bruge
lcd.createChar()
metode til at gemme bytes i tegngeneratorens hukommelse på lcd'en. DeskabeChar
metoden tager to parametre: placeringen i tegngeneratorens hukommelse (0-7) og byte-arrayet. - Vis karakteren: Når karakteren er oprettet, kan du vise den ved at ringe
lcd.write()
med tegnplaceringen (0-7). Her er et eksempel på oprettelse og visning af en brugerdefineret karakter ved hjælp af Arduino: “`arduino #include LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
byte customChar[8] = { 0b00000, 0b01010, 0b01010, 0b10001, 0b01110, 0b00000, 0b00000, 0b00000 };
void setup() { lcd.begin(16, 2); lcd.createChar(0, customChar); lcd.write(0); }
void loop() {} “` Denne kode vil oprette et brugerdefineret tegn på placering 0 og vise det i den første position på LCD-skærmen. Når du opretter din brugerdefinerede karakter, skal du være forsigtig og bruge tegngeneratorens adresser og udskrivningskommandoer på en korrekt måde.
10. Hvad er almindelige problemer, når man arbejder med LCD-skærme, og hvordan løser man dem?
Mens 16×2 lcd-moduler er generelt pålidelige, kan der opstå visse problemer. At forstå disse problemer og vide, hvordan man løser dem kan spare betydelig tid og kræfter:
- Blank skærm: Dette skyldes ofte forkert ledningsføring eller kontrastjustering. Først skal du kontrollere alle forbindelser, især strøm-, jord- og dataledninger. Juster potentiometeret for at sikre korrekt kontrast.
- Viser volapyk: Dette kan indikere problemer med datakommunikation. Sørg for, at de korrekte stifter bruges, og at det bibliotek, du bruger, er kompatibelt med lcd'en. Sørg også for, at den kode, du bruger, er korrekt, og at der ikke er nogen fejl.
- Ingen baggrundslys: Hvis baggrundsbelysningen ikke lyser, skal du kontrollere ledningerne for ben 15 og 16 og sikre dig, at du bruger en korrekt modstand med LED-baggrundsbelysningen.
- "Kvadrater" vises: Dette betyder ofte, at LCD'en ikke initialiseres korrekt, hvorfor initialisering af LCD'et og indstilling af den korrekte datatilstand (4-bit eller 8-bit) er afgørende.
- Skærm opdateres ikke: LCD'en fungerer muligvis, men de data, der sendes til LCD'en, ændres ikke, hvis du ikke opdaterer de data, der skal vises, og bliver ved med at kalde udskriftskommandoen med det samme indhold, opdateres LCD'en ikke. Prøv at rydde skærmen, hvis du støder på dette problem, ved hjælp af
klar()
kommando. - Interferens/støj: Elektrisk støj kan påvirke LCD-skærmens ydeevne. Brug kortere ledninger og afskærm tilslutningerne om nødvendigt. Nogle gange bliver du nødt til at tilføje en kondensator mellem strømben og jord, hvis lcd'en ikke fungerer korrekt.
Korrekte fejlfindingsteknikker, såsom at kontrollere hver forbindelse trin for trin, kan hjælpe med at diagnosticere disse problemer. Sørg for, at de korrekte biblioteker er installeret, og at arduino-kortet fungerer korrekt. Det er meget vigtigt at dobbelttjekke forbindelserne til lcd'en og benene på arduinoen. Når du arbejder med LCD-skærmen i 4-bit-tilstand, skal du sikre dig, at du har brugt de korrekte datastifter (D4-D7), og at dataene sendes korrekt af biblioteksfunktionerne.
Oversigt over 10 vigtigste ting at huske:
- 16×2 lcd'en er et tegnbaseret displaymodul, der er i stand til at vise 16 tegn pr. linje på 2 linjer.
- Den har 16 ben, hver med en specifik funktion, som skal være korrekt tilsluttet for at modulet kan fungere.
- Korrekt kontrastjustering er afgørende for klar læsbarhed. Du kan justere kontrasten med et potentiometer tilsluttet til V0 pin.
- RS-stiften bestemmer, om du sender kommandoer eller data til lcd'en.
- Aktiveringsstiften (E) bruges til at låse data eller kommandoer.
- LCD'en kan bruges i 4-bit eller 8-bit tilstand; 4-bit-tilstand kræver færre mikrocontrollerben.
- Brugerdefinerede tegn kan oprettes ved at skrive byte-repræsentationer af 5×8 pixel-matrixen til tegngeneratorens hukommelse.
- Baggrundsbelysningen skal tilsluttes via en strømbegrænsende modstand, eller den kan styres med mikrocontrolleren.
- Dobbelttjek altid alle ledningsforbindelser for at undgå almindelige problemer som et tomt display.
- Det flydende krystaldisplay bruger en controller, der typisk er hd44780 lcd eller dens kompatible variant.
Ved at forstå, hvordan 16×2 lcd'en fungerer og følge disse retningslinjer, kan du effektivt integrere denne alsidige skærm i dine arduino-projekter.
Kommentarer
Tags
- 0,91 tommer Oled-moduler
- 0,95 tommer Oled-moduler
- 0,96 tommer Oled-moduler
- 1,27 tommer Oled-moduler
- 1,30 tommer Oled-moduler
- 1,32 tommer Oled-moduler
- 1,50 tommer Oled-moduler
- 1,54 tommer Oled-moduler
- 2,08 tommer Oled-moduler
- 2,23 tommer Oled-moduler
- 2,42 tommer Oled-moduler
- 2,70 tommer Oled-moduler
- 2,81 tommer Oled-moduler
- 3,12 tommer Oled-moduler
- 5,50 tommer Oled-moduler
- 0801 LCD-moduler
- 0802 LCD-moduler
- 1601 LCD-moduler
- 1602 LCD-moduler
- 1604 LCD-moduler
- 2001 LCD-moduler
- 2002 LCD-moduler
- 2004 LCD-moduler
- 2402 LCD-moduler
- 4002 LCD-moduler
- 4004 LCD-moduler
- 12232 LCD-moduler
- 12832 LCD-moduler
- 12864 LCD-moduler
- 160160 LCD-moduler
- 19264 LCD-moduler
- 24064 LCD-moduler
- 240128 LCD-moduler
- 320240 LCD-moduler
Afkodning af skærmen: Afsløring af de grundlæggende komponenter i LCD- og Liquid Crystal Display-teknologi
LCD'er, eller Liquid Crystal Displays, er blevet allestedsnærværende i den digitale tidsalder, og tjener som den visuelle grænseflade for utallige enheder.
Revolutionerende visuals: Udforsk glansen af 0,95-tommer AMOLED-skærmmoduler til biler og mere
AMOLED-skærmmoduler er hurtigt ved at blive guldstandarden inden for visuel teknologi, der tilbyder uovertruffen billedkvalitet, levende farver og enestående energieffektivitet.
Revolutionerende kompakte billeder: 0,91 tommer 128×32 OLED-skærmmodul med I2C-grænseflade – en oversigt
Denne artikel dykker ned i verden af kompakte OLED-skærmmoduler, og fokuserer specifikt på den 0,91 tommer 128×32 OLED-skærm, der bruger I2C-grænsefladen.
Interface 16×2 LCD-modul uden I2C: En omfattende guide til Arduino og ESP32
Denne artikel dykker dybt ned i en verden af interface til et 16×2 LCD-modul med mikrocontrollere som Arduino og ESP32, der specifikt fokuserer på opsætningen uden at bruge et I2C-modul.
Afmystificering af skærmen: Forstå LCD-modul vs. LCD-skærm vs. TFT LCD-skærm
Denne artikel dykker ned i skærmverdenen og fokuserer specifikt på LCD-teknologi.
Kontakt os
- +86 186 6597 6986
- [email protected]
- man-søn 9.00-21.00
Revolutionerende VR og AR: The Rise of Micro OLED-skærme i hovedmonterede enheder
Verdenen af virtual reality (VR) og augmented reality (AR) udvikler sig hurtigt, og i hjertet af denne transformation ligger en kritisk komponent: skærmen.
Revolutionerende visuals: Kraften ved 4K OLED-mikroskærme fra Sony Semiconductor Solutions
Denne artikel dykker dybt ned i den fascinerende verden af mikroskærme og fokuserer specifikt på den banebrydende 4K OLED-teknologi udviklet af Sony Semiconductor Solutions.
Interface 16×2 LCD-modul uden I2C: En omfattende guide til Arduino og ESP32
Denne artikel dykker dybt ned i en verden af interface til et 16×2 LCD-modul med mikrocontrollere som Arduino og ESP32, der specifikt fokuserer på opsætningen uden at bruge et I2C-modul.