Sadržaj:

Koristite 16x2 LCD s I2C: 4 koraka
Koristite 16x2 LCD s I2C: 4 koraka

Video: Koristite 16x2 LCD s I2C: 4 koraka

Video: Koristite 16x2 LCD s I2C: 4 koraka
Video: Текстовые LCD дисплей на контроллере HD44780, Уроки Arduino 2024, Studeni
Anonim
Koristite 16x2 LCD s I2C
Koristite 16x2 LCD s I2C
Koristite 16x2 LCD s I2C
Koristite 16x2 LCD s I2C
Koristite 16x2 LCD s I2C
Koristite 16x2 LCD s I2C

U jednom od mojih prethodnih Instructable -a pokazao sam vam kako spojiti i spojiti LCD na Arduino Uno i prikazati vrijednosti na njemu. No, kako je primijećeno, bilo je mnogo veza i ako je projekt počeo postajati dosta neuredan zbog previše žica.

U ovom Instructable -u pokazat ću vam kako spojiti LCD na I2C, koji će imati samo 4 pina za upravljanje i korištenje LCD -a. Pa krenimo.

Korak 1: Potrebne komponente

Potrebne komponente
Potrebne komponente
Potrebne komponente
Potrebne komponente
Potrebne komponente
Potrebne komponente

Za ovaj projekt trebat će vam:

  • Arduino Uno
  • 16x2 LCD
  • I2C za 16x2 LCD
  • Priključne žice

Uz sve ovo, prijeđimo na dio veza.

Korak 2: Veze

Veze
Veze
Veze
Veze
Veze
Veze
Veze
Veze

Pogledajte slike i uspostavite veze. Vrlo je jednostavno, samo morate priključiti I2C u portove LCD -a i lemiti ga na mjesto. Zatim spojite SCL pin na A4 pin na Arduinu i SDA pin na A5 pin na Arduinu.

Ne lemim I2C jer sam već lemio igle zaglavlja na LCD -u. Ali ja bih predložio lemljenje I2C na LCD -u

Korak 3: Kodirajte

U Arduino IDE -u postoji LCD I2C glavna biblioteka. No, postoji mali problem s kodom u njemu. Svi primjeri u ovoj biblioteci pretpostavljaju zadanu adresu I2C kao 0x27. Zato prvo moramo saznati koja je adresa našeg I2C -a. To možemo učiniti pomoću koda skenera I2C. Nakon što dobijemo I2C adresu, možemo zamijeniti ovu vrijednost u primjeru koda i početi je koristiti.

I2C kod skenera:

#uključi

void setup () {Wire.begin (); Serial.begin (9600); while (! Serijski); // čekamo serijski monitor Serial.println ("\ nI2C skener"); } void loop () {byte error, address; int nUređaji; Serial.println ("Skeniranje …"); nUređaji = 0; for (adresa = 1; adresa <127; adresa ++) {// i2c_scanner koristi povratnu vrijednost // Write.endTransmisssion kako bi provjerio je li // uređaj doista potvrdio adresu. Wire.beginTransmission (adresa); error = Wire.endTransmission (); if (error == 0) {Serial.print ("I2C uređaj pronađen na adresi 0x"); if (adresa <16) Serial.print ("0"); Serijski.ispis (adresa, HEX); Serial.println ("!"); nUređaji ++; } else if (error == 4) {Serial.print ("Nepoznata pogreška na adresi 0x"); if (adresa <16) Serial.print ("0"); Serial.println (adresa, HEX); }} if (nDevices == 0) Serial.println ("Nema pronađenih I2C uređaja / n"); else Serial.println ("gotovo / n"); kašnjenje (5000); // pričekajte 5 sekundi za sljedeće skeniranje}

Primjer koda (za prikaz znakova unesenih u serijski monitor):

#include #include

LiquidCrystal_I2C LCD (0x3F, 20, 4); // postavite LCD adresu na 0x27 za prikaz od 16 znakova i 2 retka

void setup ()

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

void loop ()

{// kada znakovi stignu preko serijskog porta … if (Serial.available ()) {// pričekajte malo da cijela poruka stigne kašnjenje (100); // brisanje zaslona lcd.clear (); // čita sve dostupne znakove dok (Serial.available ()> 0) {// prikazuje svaki znak na LCD lcd.write (Serial.read ()); }}}

Korak 4: Izlaz

Izlaz
Izlaz
Izlaz
Izlaz

Nakon što ste učitali kôd, spremni ste za rad. Za ovaj Instructable uzeo sam primjer serijskog ispisnog koda. Zato nakon učitavanja koda otvorite Serijski monitor i upišite riječ i kliknite "pošalji". Sada biste trebali vidjeti da se ova vrijednost prikazuje na LCD -u.

Preporučeni: