Innholdsfortegnelse:

Bruk 16x2 LCD med I2C: 4 trinn
Bruk 16x2 LCD med I2C: 4 trinn

Video: Bruk 16x2 LCD med I2C: 4 trinn

Video: Bruk 16x2 LCD med I2C: 4 trinn
Video: How to Make PLC LCD HMI || FLProg 2024, November
Anonim
Bruk 16x2 LCD med I2C
Bruk 16x2 LCD med I2C
Bruk 16x2 LCD med I2C
Bruk 16x2 LCD med I2C
Bruk 16x2 LCD med I2C
Bruk 16x2 LCD med I2C

I en av mine tidligere instrukser viste jeg deg hvordan du kobler til og kobler en LCD til Arduino Uno og viser verdier på den. Men som observert var det mange tilkoblinger, og hvis prosjektet begynte å bli mye rotete på grunn av for mange ledninger.

I denne instruksen viser jeg deg hvordan du kobler en LCD til en I2C, som bare vil ha 4 pinner for å kontrollere og bruke LCD -en. Så la oss komme i gang.

Trinn 1: Komponenter påkrevd

Komponenter påkrevd
Komponenter påkrevd
Komponenter påkrevd
Komponenter påkrevd
Komponenter påkrevd
Komponenter påkrevd

For dette prosjektet trenger du:

  • Arduino Uno
  • 16x2 LCD
  • I2C for 16x2 LCD
  • Tilkoblingskabler

Med alle disse, la oss komme inn på forbindelsesdelen.

Trinn 2: Tilkoblinger

Tilkoblinger
Tilkoblinger
Tilkoblinger
Tilkoblinger
Tilkoblinger
Tilkoblinger
Tilkoblinger
Tilkoblinger

Se bildene og gjør tilkoblinger. Det er ganske enkelt, du må bare koble til I2C i portene på LCD -skjermen og lodde den på plass. Koble deretter SCL -pinnen til A4 -pinnen på Arduino og SDA -pinnen til A5 -pinnen på Arduino.

Jeg lodder ikke I2C siden jeg allerede har loddet topptekster på LCD -skjermen. Men jeg vil foreslå å lodde I2C på LCD -skjermen

Trinn 3: Kode

Det er et LCD I2C -hovedbibliotek inkludert i Arduino IDE. Men det er et lite problem med koden i den. Alle eksemplene i dette biblioteket forutsetter standardadressen til I2C som 0x27. Så først må vi finne ut hva adressen til vår I2C er. Vi kan gjøre dette ved å bruke I2C -skannerkoden. Når vi har I2C -adressen, kan vi erstatte denne verdien i eksempelkoden og begynne å bruke den.

I2C skannerkode:

#inkludere

ugyldig oppsett () {Wire.begin (); Serial.begin (9600); mens (! Seriell); // vent på seriell skjerm Serial.println ("\ nI2C skanner"); } void loop () {byte error, address; int nDevices; Serial.println ("Skanning …"); nEnheter = 0; for (adresse = 1; adresse <127; adresse ++) {// i2c_scanner bruker returverdien til // Write.endTransmisstion for å se om // en enhet bekreftet adressen. Wire.beginTransmission (adresse); feil = Wire.endTransmission (); hvis (feil == 0) {Serial.print ("I2C -enhet funnet på adressen 0x"); if (adresse <16) Serial.print ("0"); Serial.print (adresse, HEX); Serial.println ("!"); nEnheter ++; } annet hvis (feil == 4) {Serial.print ("Ukjent feil på adresse 0x"); if (adresse <16) Serial.print ("0"); Serial.println (adresse, HEX); }} if (nDevices == 0) Serial.println ("Ingen I2C -enheter funnet / n"); ellers Serial.println ("ferdig / n"); forsinkelse (5000); // vent 5 sekunder på neste skanning}

Eksempelkode (for å vise tegn som er angitt i Serial Monitor):

#include #include

LiquidCrystal_I2C lcd (0x3F, 20, 4); // sett LCD -adressen til 0x27 for 16 tegn og 2 linjers display

ugyldig oppsett ()

{lcd.init (); // initialiser lcd lcd.backlight (); Serial.begin (9600); }

hulrom ()

{// når tegn kommer over serieporten … if (Serial.available ()) {// vent litt på at hele meldingen kommer forsinkelse (100); // tøm skjermen lcd.clear (); // lese alle tilgjengelige tegn mens (Serial.available ()> 0) {// vise hvert tegn til LCD -skjermen (Serial.read ()); }}}

Trinn 4: Utgangen

Utgangen
Utgangen
Utgangen
Utgangen

Når du har lastet opp koden, er du klar til å gå. For denne instruksjonsboken har jeg tatt eksemplet på Serial Print Code. Så nå etter å ha lastet opp koden, åpner du Serial Monitor og skriver inn et ord og klikker "send". Nå bør du se denne verdien vises på LCD -skjermen.

Anbefalt: