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
Interface 16×2 LCD-modul uden I2C: En omfattende guide til Arduino og ESP32
Indholdsfortegnelse
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. Vi vil undersøge, hvorfor du måske vælger denne metode, hvordan den virker, og vi giver en detaljeret vejledning til tilslutning og programmering af din LCD. Hvis du ønsker at forstå det grundlæggende ved LCD-grænseflader, og hvordan du kører en 16×2 lcd-skærm uden at stole på bekvemmeligheden ved en I2C-adapter, er dette guiden til dig.
1. Hvad er en 16×2 LCD og hvorfor grænseflade det?
En 16×2 LCD-skærm, en forkortelse for en 16-tegn ved 2-linjers flydende krystal-skærm, er et almindeligt og alsidigt display-modul. Det bruges til at præsentere tekst og numerisk information på en klar og kortfattet måde. I modsætning til komplekse grafiske skærme er 16×2 LCD'er relativt enkle at køre, hvilket gør dem perfekte til forskellige mikrocontroller-projekter. "16×2" refererer til dens kapacitet til at vise 16 tegn på hver af dens to rækker, hvilket gør den velegnet til at vise sensoraflæsninger, projektstatus eller brugermeddelelser. Ved at forbinde disse lcd-displaymoduler med mikrocontrollere som arduino eller ESP32 kan dine projekter interagere med brugeren ved at vise information i en menneskelig læsbar form. De er relativt billige og nemme at bruge.
Appellen af 16×2 lcd modul ligger i dets enkelhed og lave omkostninger. Det er en fast bestanddel i elektronik til forskellige hobby- og professionelle projekter på grund af dens evne til at vise tekst og tal uden overhead af mere komplekse displayteknologier. Grænsefladen med dette modul gør det muligt for udviklere af indlejrede system at skabe enheder, der er i stand til at give visuel feedback uden at bruge komplekse grafiske skærme. Den lette integration gør 16×2 lcd'er til et meget nyttigt displayværktøj til at vise information fra forskellige sensorer.
2. Hvorfor vælge interface til en 16×2 LCD uden I2C?
Mens I2C-moduler tilbyder bekvemmeligheden ved at reducere antallet af ben, der kræves til grænseflader, har det flere fordele at vælge at tilslutte en 16×2 lcd uden i2c direkte. For det første giver det en dybere forståelse af de underliggende kommunikationsprotokoller og hvordan LCD-modulet fungerer, hvilket gør det til en fantastisk lærerig oplevelse. For det andet, ved ikke at stole på i2c-grænsefladen undgår du kompleksiteten af i2c-bussen og potentielle adressekonflikter. Dette kan være vigtigt, hvis du står over for begrænsninger i dit projekt eller ønsker at reducere kompleksiteten af din i2c-enhedsforbindelse. Du er ikke begrænset af én adresse.
Desuden kan direkte grænseflader være gavnlige til projekter, hvor hver pin på din mikrocontroller er værdifuld. Et i2c-modul reducerer typisk antallet af ben du skal bruge til 2, men disse 2 ben er dedikeret til i2c-kommunikation og kan være nødvendige til noget andet, mens du uden et i2c-modul frit kan vælge hvilke pins du vil bruge. Interface uden et i2c-modul giver dig fuld kontrol over forbindelsen. Direkte forbindelse kan også være hurtigere til at vise data, da i2c-kommunikation skal udføres, før data kan overføres til LCD-skærmen. Dette er ikke altid kritisk, men er noget at overveje, når man designer applikationer, der kræver hurtige opdateringstider for det viste indhold.
3. Hvilken hardware kræves for at interface en 16×2 LCD uden et I2C-modul?
For at forbinde et 16×2 LCD-modul uden i2c, skal du bruge et par væsentlige komponenter. Kerneposten er en standard 16×2 lcd, som typisk kommer med 16 ben til tilslutning. Du skal også bruge en mikrocontroller, såsom en Arduino Uno eller ESP32. Derudover skal du bruge jumperledninger til at forbinde de forskellige ben på lcd-modulet til din mikrocontroller. Desuden er et potentiometer nødvendigt for at justere kontrasten på LCD-skærmen. Et brødbræt kan være en stor hjælp til at holde alt pænt forbundet og organiseret.
Den vigtigste udfordring ved tilslutning af en 16×2 lcd uden i2c er, at det kræver flere ben fra din mikrocontroller end at bruge en i2c-adapter. Specifikt vil vi bruge 6 ben til at styre LCD-skærmen, plus to ben til at styre strømforsyningen og jord. Derfor bør du planlægge dit mikrocontrollerkredsløb med nok tilgængelige udgangsben. At have disse stifter tilgængelige giver dig fuld kontrol over lcd'en. Potentiometeret giver dig mulighed for at justere kontrasten, så teksten på lcd-displayet er tydeligt synlig.
4. Hvordan fungerer 16×2 LCD'en internt?
16×2 LCD-skærmen er baseret på HD44780-controlleren eller en kompatibel chip. Denne controller styrer visningen af tegn og accepterer kommandoer gennem en parallel grænseflade. Interfacet bruger typisk 8 databen (D0-D7) eller 4 databen i 4-bit tilstand (D4-D7), plus kontrolben (RS, R/W og EN). Hver tegnposition på LCD-skærmen adresseres af controlleren internt. Når du sender en kommando eller et tegndata, modtager HD44780-controlleren kommandoen og handler derefter.
HD44780-controlleren bruger specifikke kommandoer til opgaver som at rydde skærmen, indstille markørens position eller initialisere lcd'en. At forstå denne arkitektur er afgørende, når du skriver kode til at styre lcd'en uden den abstraktion, som et i2c-modul giver. Kommandoerne sendes til displayet over datastifterne, og kommunikationsmåden bestemmes af kontrolbenene. Dette gør det også muligt for controlleren at arbejde med forskellige typer skærmstørrelser som 20×4, 16×2 lcd-skærmen bruger et foruddefineret tegnsæt, der kan vises på skærmen.
5. Hvordan forbinder man en 16×2 LCD direkte til en Arduino?
Tilslutning af en 16×2 lcd direkte til en Arduino indebærer ledning af hver nødvendig pin. Først skal du forbinde LCD'ens VSS-pin til jord (GND) og VDD-pinden til 5V, dette er din strømforsyning. V0-stiften (kontrastjustering) er forbundet til den midterste stift på potentiometeret; de to andre ben på potentiometeret er forbundet til jord og 5v for at lave en spændingsdeler, som vi vil bruge til at ændre kontrasten på LCD-skærmen. Tilslut derefter RS (Register Select)-pinden på LCD'en til en digital pin på arduino'en (f.eks. pin 12). R/W (Read/Write)-stiften skal være jordet, da vi kun skriver data til LCD'et. EN (Aktiver) pin skal forbindes til en anden digital pin på arduinoen (f.eks. pin 11).
Tilslut derefter databenene D4 til D7 til digitale ben på arduinoen, for eksempel ben 5, 4, 3 og 2 henholdsvis. På denne måde bruger vi 4-bit-tilstanden, hvilket er almindelig praksis, da den bruger færre stifter. 4-bit-tilstanden er enklere og bruger mindre ledninger sammenlignet med 8-bit-tilstanden. Baggrundsbelysningens ben A (anode) og K (katode) skal tilsluttes til henholdsvis 5V og GND med en strømbegrænsende modstand på anoden, hvis det er nødvendigt. Sørg for at bruge et kredsløbsdiagram til at guide denne proces. Benene er nogle gange nummereret forskelligt for nogle lcd-moduler. Pin-layoutet kan altid findes i LCD-modulets datablad.
6. Programmering af din Arduino til at drive 16×2 LCD: En detaljeret vejledning
For at programmere din arduino til at forbinde 16×2 lcd'en, skal du bruge LiquidCrystal-biblioteket. Start med at åbne arduino-id'en og inkluder liquidcrystal-biblioteket i din projektkode. Initialiser lcd-objektet i din kode, og angiv de ben, der bruges til forbindelse. I vores eksempel er det ben: RS, EN, D4, D5, D6, D7. For eksempel: LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
. Initial lcd'en inde i setup()-funktionen ved at kalde lcd.begin(16, 2);
for at indstille antallet af kolonner og rækker på LCD-skærmen. Du bør også initialisere lcd'en ved at bruge funktionen initialize the lcd.
Nu, i loop-funktionen, kan du bruge forskellige kommandoer til at vise data på LCD-skærmen. Du kan f.eks. indstille markørens position med lcd.setCursor(kolonne, række);
og vise tekst med lcd.print("Hej verden");
. Du kan rydde displayet med lcd.clear();
kommando. Du kan oprette et kort program og køre et par koder for at teste kortet, og efter at jeg tilsluttede det hele. Du kan bruge seriel skærm til at fejlfinde programmet. Liquidcrystal-biblioteket håndterer al HD44780-kommunikation på lavt niveau for dig, så du ikke behøver at bekymre dig om at sende individuelle byte-sekvenser og styresignaler. Nøglefunktionen er lcd.print(), som bruges til at vise dataene.
#omfatte
// Definer pins forbundet til LCD'et
konst int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
// Initialiser LCD-objekt
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
ugyldig opsætning() {
// Indstil antallet af kolonner og rækker
lcd.begynde(16, 2);
// Udskriv en besked til LCD'et
lcd.trykke("Hej, LCD!");
}
ugyldig sløjfe() {
// Sæt markøren til den anden linje
lcd.sætMarkør(0, 1);
// Vis tiden
lcd.trykke(millis()/1000); lcd.trykke("sekunder");
}
7. Hvad med ESP32? Grænseflade en 16×2 LCD uden I2C på en ESP32
At sætte en 16×2 LCD-skærm uden i2c på en ESP32 svarer til at gøre det på en Arduino, men med nogle mindre forskelle. ESP32 er en 3,3V mikrocontroller, mens 16×2 lcd er typisk designet til at fungere ved 5V. Derfor skal du muligvis bruge niveauskiftere for spændingskompatibilitet mellem ESP32 og LCD's logiske ben. Alternativt kan brug af et esp32-kort med niveauskift eliminere behovet for eksternt niveauskiftekredsløb. De fysiske ledninger vil stort set være de samme som med en Arduino. Tilslut VSS til jord og VDD til 5V (eller 3,3V, hvis du bruger en 3,3V lcd eller niveauskiftere).
Koden i arduino-id'en vil være næsten den samme som den, der er angivet for arduino med få eller ingen ændringer. Brug LiquidCrystal-biblioteket på samme måde som i Arduino-tutorialen. Husk at definere dine benforbindelser korrekt i LiquidCrystal lcd
objekt. Kontroller altid databladet for dit LCD-modul for at sikre, at benene er tilsluttet korrekt. Tjek også pinout'en på dit ESP32-kort for at sikre korrekte forbindelser. Vær opmærksom på de forskellige stifter, der kan være tilgængelige, og vælg de rigtige til din applikation.
8. Hvordan opretter man brugerdefinerede tegn på en 16×2 LCD uden I2C?
Det er muligt at oprette brugerdefinerede karakterer på en 16×2 lcd, selv uden hjælp fra et i2c-modul. HD44780-controlleren giver dig mulighed for at definere op til 8 brugerdefinerede tegn. Du opretter brugerdefinerede tegn ved at definere et mønster af bytes, hvor hver byte repræsenterer en række af 5×8 pixel tegnmatrix. For at gøre dette skal du først oprette en byte-array, der definerer pixelmønsteret for din brugerdefinerede karakter. Hver byte repræsenterer en linje af tegnet.
Brug derefter lcd.createChar(placering, karakterkort)
funktion i Arduino-koden. Placeringsargumentet definerer, hvilken af de 8 tilgængelige placeringer, der skal gemme det nye tegn (0 til 7), og characterMap er den byte-array, du lige har oprettet. Du kan derefter vise dit brugerdefinerede tegn ved at bruge lcd.write(placering)
i din kode, hvor beliggenhed
er det sted, du tidligere har defineret. Dette gøres ved hjælp af lcd-objektet, som du har oprettet før. Dette er yderst nyttigt, hvis din applikation har brug for unikke tegn, som ikke er tilgængelige i standardtegnsættet i LCD-modulet.
9. Fejlfinding af almindelige problemer ved interface til en 16×2 LCD uden I2C
Grænseflade til en 16×2 lcd uden en i2c-adapter kan, selvom det er ligetil, præsentere et par almindelige problemer. Det første problem er forkert ledningsføring. Dobbelttjek altid kredsløbsdiagrammet og sørg for, at alle forbindelser er korrekte. En almindelig fejl er at vende polariteten af strømforsyningens ben på lcd-modulet, hvilket kan beskadige det permanent. Sørg også for, at dine ledninger er sikkert forbundet. For det andet kan en forkert initialisering af lcd-objektet forårsage problemer. Dobbelttjek, at stifterne er initialiseret korrekt i henhold til forbindelsen til kortet. Også typen af lcd-modul kan kræve en lidt anderledes initialiseringssekvens.
Kontrastindstillingerne skal også justeres korrekt ved hjælp af potentiometeret for at justere kontrasten på lcd-skærmen, indtil teksten er tydeligt synlig. Hvis skærmen er blank eller forvansket, kan du have en ledningsfejl eller et problem med strømforsyningen. Sørg for, at du har en stabil strømforsyning og den korrekte spænding. Du kan også tjekke koden ved hjælp af seriel skærm for at fejlfinde mulige problemer. Hvis du stadig har problemer, kan du overveje at konsultere arduino-forummet. Det er almindeligt at se, at andre måske har stået over for de samme problemer. Reddit er anonym, så du vil helt sikkert få et navn eller forslag.
10. Avancerede teknikker og fremtidige projekter med 16×2 LCD'er
Når du har mestret det grundlæggende i at forbinde en 16×2 lcd uden i2c, kan du udforske mere avancerede teknikker. Dette omfatter visning af realtidsdata fra sensorer eller oprettelse af et menusystem. Du kan også bruge de brugerdefinerede tegn til at skabe enkel grafik og statusikoner til dit projekt. Husk altid at bruge databladet for lcd-modulet som vist for at verificere specifikke tilslutningskrav for dit lcd-modul. Den metode, vi bruger, giver fleksibilitet med hensyn til mikrocontroller-stifter, der kan bruges.
Du kan bruge flere sådanne lcd-skærme, hvis du har brug for at vise mere information, men vær opmærksom på antallet af pins, du bruger. Prøv også at eksperimentere med at vise tal ved hjælp af lcd.print()
kommando og prøv forskellige måder at bruge indstille markørens position
funktion til at placere forskellige elementer i forskellige dele af displayet. Dette åbner op for en masse muligheder for dine fremtidige projekter. Den viden du får ved at styre LCD'en uden I2C giver et godt udgangspunkt for at styre mere avancerede skærmtyper.
Nøglemuligheder: 10 ting at huske, når du bruger 16×2 LCD-skærm uden I2C
- Forstå det grundlæggende: 16×2 lcd-modulet styres gennem 6-10 kontrol- og datastifter uden et i2c-modul.
- Pin-forbindelser er afgørende: Tjek dataarket for den specifikke pinout til dit lcd-modul.
- Kontrastjustering: Brug altid et potentiometer til at justere kontrasten på LCD-skærmen.
- LiquidCrystal bibliotek: Brug
LiquidCrystal
bibliotek i arduino ide for at forenkle programmeringen. - Initialisering: Initialiser altid LCD'et korrekt vha
lcd.begin(16, 2);
. - Datavisning: Brug
lcd.print()
for at vise data til displaymodulet. - Brugerdefinerede tegn: Opret brugerdefinerede tegn ved hjælp af
lcd.createChar()
når du har brug for dem. - Fejlfinding: Dobbelttjek alle ledninger, kode og forbindelser for at identificere årsagen til eventuelle problemer.
- Pin tilgængelighed: Vær opmærksom på de mikrocontroller-stifter, der bruges, når du beslutter dig for at bruge denne metode.
- Gå videre: Udforsk avancerede teknikker for at skabe endnu mere komplekse applikationer.
Ved at følge denne omfattende guide bør du være godt rustet til at begynde at forbinde dit 16×2 lcd-modul direkte med en Arduino eller ESP32 og vise de oplysninger, dine projekter kræver, uden en i2c-adapter.
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
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.
Mestring af 16×2 LCD-modulet: I2C LCD1602 med Arduino
Denne artikel dykker ned i verden af LCD-skærme, og fokuserer specifikt på det populære 16×2 tegn LCD-modul og dets integration med Arduino ved hjælp af I2C-grænsefladen.
Afsløring af Magic: A Deep Dive into OLED Graphic Display Modules med SSD1306 til Arduino
OLED-skærmmoduler, især grafiske OLED-varianter, revolutionerer den måde, vi interagerer med enheder på, og tilbyder skarpe billeder, levende farver (i nogle tilfælde) og enestående energieffektivitet.
Frigør kraften ved grafiske OLED-skærmmoduler: Et dybt dyk ned i 128×64 OLED'er og mere
Denne artikel udforsker den fascinerende verden af Organic Light Emitting Diode (OLED) displaymoduler, med et særligt fokus på grafiske OLED-skærme.
Afsløring af magien ved 16×2 LCD-skærm: En omfattende guide med Arduino-interface
16×2 LCD-modulet, en hjørnesten i indlejrede systemer, er et fantastisk værktøj til at vise tekstinformation.
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.