Hvordan grensesnitt LCD med esptop 10 ved bruk av Arduino IDE

Hvordan grensesnitt LCD med esptop 10 ved bruk av Arduino IDE

ESP32 er en IoT -basert mikrokontroller som kan behandle flere instruksjoner akkurat som Arduino, men den kommer som standard med Bluetooth og WiFi. ESP32 er et frittstående brett som kan hjelpe et annet system med å redusere belastningen deres fordi det kan fungere som master eller slaveenhet. Som Arduino kan vi også grensesnitt en LCD -skjerm med ESP32. La oss diskutere hvordan vi gjør dette i detalj.

Grensesnitt LCD med ESP32 ved bruk av Arduino IDE

I2C LCD kan vise dataprosesser under programmering på en skjerm. Det gir en visuell representasjon av data mottatt fra sensorer, moduler eller mikrokontrollere. LCD kan integreres uten å bruke I2C -modul, men fordelen med å bruke I2C er at den bare bruker to ledninger SDA og SCL For å kommunisere data som resulterer i å gi flere gratis I/OS på ESP32 som kan brukes til å integrere andre enheter.

I tillegg har det et potensiometer ombord som kan kontrollere LCD -skjermens lysstyrke ved bare å justere potensiometerknappen.

Kabler LCD til ESP32 med I2C

Koble I2C -modulen med ESP32 ved hjelp av PIN -pinne Digital Pin 21 og 22 av ESP32. Under gitt bilde representerer tilkoblinger av I2C med ESP32 og LCD -skjerm. SDA -pinnen til I2C er koblet til GPIO -pinne 21 av ESP32 og på samme måte er SCL -pinnen til I2C sammen med GPIO PIN 22.

Tabell nedenfor representerer tilkoblingen til ESP32 med I2C.

I2C LCD ESP32
GND GND
VCC Vin
SDA GPIO 21
SCL GPIO 22

Installere LiquidCrystal_i2c -biblioteket i Arduino IDE

Når kretsen er fullført, koble til ESP32 -kortet med PC. Åpner nå IDE og gå til Bibliotekansvarlig søk etter Flytende krystall I2C bibliotek. Installer biblioteket gitt av Frank de Brabander.

Når du har klikket på installasjonsbibliotekfilene, begynner du å laste ned, når du har vellykket installasjon, vil du motta et bibliotekinstallert melding i Output -vinduet.

Få LCD -adressen

Før vi kobler til en I2C -enhet med ESP32, er det viktig å merke seg at adressen er tilkoblet den spesifikke enheten er tilkoblet. Noen moduler har standard I2C -adresser skrevet på mens noen av dem ikke har noen instruksjoner for å sjekke I2C -adresser.

For å løse dette problemet har vi en metalltråd Bibliotekskode som sjekker for alle I2C -enheter tilkoblet og på hvilken adresse de er koblet til ESP32. Dette vil hjelpe deg med å feilsøke og forbedre ESP32 -kretsen.

#include /*Inkluder ledning.H bibliotek*/
ugyldig oppsett ()

Metalltråd.begynne(); /*Wire I2C Kommunikasjonsstart*/
Serie.Begin (115200); /*baudfrekvens satt for seriell kommunikasjon*/
samtidig som (!Seriell); /*Venter på seriell utgang på seriell skjerm*/
Serie.println ("\ ni2c skanner");

ugyldig sløyfe ()

byte feil, adr; /*Variabel feil er definert med adresse på I2C*/
int number_of_devices;
Serie.println ("skanning.");
number_of_devices = 0;
for (ADR = 1; ADR < 127; adr++ )

Metalltråd.BeginTransmission (ADR);
feil = ledning.EndTransmission ();
if (err == 0)

Serie.print ("I2C -enhet på adresse 0x");
hvis (adr < 16)
Serie.print ("0");
Serie.trykk (ADR, Hex);
Serie.Println (" !");
NUMMER_OF_DEVICES ++;

ellers hvis (err == 4)

Serie.print ("ukjent feil på adresse 0x");
hvis (adr < 16)
Serie.print ("0");
Serie.Println (ADR, Hex);


if (number_of_devices == 0)
Serie.println ("NO I2C -enhet festet \ n");
ellers
Serie.println ("gjort \ n");
forsinkelse (5000); /*Vent 5 sekunder på neste I2C -skanning*/

Denne koden vil bidra til å finne antall I2C -enheter og adressen deres som de er tilkoblet. Denne koden blir ofte referert til som I2C -skannerkode.

Først inkluderte vi en "Metalltråd.h ” bibliotek. Så i installasjonsdelen av koden har vi begynt dette biblioteket. Etter det initialiserer vi seriell kommunikasjon ved å definere baudfrekvens 9600. Dette vil bidra til å se utdata over seriemonitoren.

I seksjonen for sløyfen definerte vi to variabler “Feil” og “ADR”. Så definerte vi en annen variabel “Enheter” og sett den til null. Etter det en til Loop initialiseres med verdier mellom 0 og 127.

Deretter legger vi inn adressen til ledningen ved hjelp av metalltråd.BeginTransmission (), I2C -skanneren vil se etter bekreftelse av enheter og deres adresse. Verdien som leses vil bli lagret i variabelen "feil". Returverdien vil være lik 0 hvis enheten erkjenner at adressen ellers vil bli 4. Deretter har vi brukt en IF -tilstand som vil skrive ut I2C -enhetsadressen hvis verdien er <16. Final address of the device is printed in Hexadecimal form.

Utgang av enheter som er festet til ESP32 over I2C -protokoller vil se ut som vist i diagram nedenfor. Her 0x3c er adressen til I2C LCD samtidig som 0x27 er adressen til OLED skjerm.

Viser tekst på LCD

Å vise tekst på en LCD ved hjelp av ESP32 er veldig enkelt. Alt vi trenger er å velge rad og kolonne med LCD der vi vil vise tegn. Nedenfor er et veldig enkelt program som viser “Linuxhint ESP32”.

#inkludere
/* Initialiser LCD -kolonner og rader*/
int lcd_columns = 16;
int lcd_rows = 2;
/* Angi LCD -adresse, antall kolonner og rader*/
/* For å vite om I2C -adresse (0x27), kjør en I2C -skannerskisse*/
LiquidCrystal_I2C LCD (0x27, LCD_COLUMNS, LCD_ROWS);
void setup ()
/* Initialiser LCD*/
LCD.i det();
/* slå på LCD -bakgrunnsbelysning*/
LCD.bakgrunnsbelysning ();

void loop ()
/*Sett markøren til første kolonne, første rad*/
LCD.setcursor (0, 0);
/* Skriv ut melding*/
LCD.Print ("Linuxhint ESP32");
forsinkelse (1000);
/*tømmer skjermen for å skrive ut ny melding*/
LCD.klar();

Mens du skriver kode, er det første vi trenger å ringe Liquid Crystal -biblioteket vi installerte.

#inkludere

Neste to linjer representerer radene og kolonnene i LCD -en der vi trenger tekst for å vise. Hvis du bruker en visning av annen størrelse, kan du endre raden og kolonnen deretter.

int lcd_columns = 16;
int lcd_rows = 2;

Deretter vil vi vise I2C -adressen som LCD I2C -modulen er tilkoblet. I vårt tilfelle er det 0x27. Hvis du bruker en lignende versjon av LCD, kan det være den samme som vår ellers kjøre adressekontrollkoden gitt ovenfor.

LiquidCrystal_I2C LCD (0x27, LCD_COLUMNS, LCD_ROWS);

Deretter initialiserte vi displayet og bakgrunnsbelysningen på LCD -en ved hjelp av følgende kommandoer.

LCD.i det();
LCD.bakgrunnsbelysning ();

For å vise tekst LCD Markor -kommandoen brukes 0 tilsvarer den første kolonnen og raden.

LCD.setcursor (0, 0);

Etter det, LCD.print () -funksjonen brukes til å vise tekst, så teller vi skjermen ved hjelp av LCD.klar().

LCD.Print ("Linuxhint ESP32");
LCD.klar();

Produksjon

Utgang av kode representerer tegn definert i programmet på LCD -skjerm.

Konklusjon

Vi dekket alle trinnene for å koble til en LCD -skjerm med ESP32 ved hjelp av I2C -modulen. For å koble til LCD -en, må vi først installere biblioteket ved å bruke biblioteksjefen. Ved å bruke riktig I2C -adresse kan vi sende alle data vi ønsker til LCD.