Sadržaj:

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

Video: Koristite 16x2 LCD sa I2C: 4 koraka

Video: Koristite 16x2 LCD sa I2C: 4 koraka
Video: Текстовые LCD дисплей на контроллере HD44780, Уроки Arduino 2024, Novembar
Anonim
Koristite 16x2 LCD sa I2C
Koristite 16x2 LCD sa I2C
Koristite 16x2 LCD sa I2C
Koristite 16x2 LCD sa I2C
Koristite 16x2 LCD sa I2C
Koristite 16x2 LCD sa 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 ću vam pokazati kako spojiti LCD na I2C, koji će imati samo 4 pina za kontrolu i upotrebu LCD -a. Pa počnimo.

Korak 1: Potrebne komponente

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

Za ovaj projekat trebat će vam:

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

Sa svim ovim, prijeđimo na dio veza.

Korak 2: Veze

Connections
Connections
Connections
Connections
Connections
Connections
Connections
Connections

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. Ali postoji mali problem sa 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. Kada dobijemo I2C adresu, možemo zamijeniti ovu vrijednost u primjeru koda i početi je koristiti.

I2C kod skenera:

#include

void setup () {Wire.begin (); Serial.begin (9600); while (! Serijski); // čekamo serijski monitor Serial.println ("\ nI2C skener"); } void loop () {greška u bajtu, adresa; int nDevices; Serial.println ("Skeniranje …"); nUređaji = 0; for (adresa = 1; adresa <127; adresa ++) {// i2c_scanner koristi povratnu vrijednost // Write.endTransmisssion da vidi je li // uređaj priznao 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"); Serial.print (adresa, HEX); Serial.println ("!"); nDevices ++; } else if (error == 4) {Serial.print ("Nepoznata greš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 reda

void setup ()

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

void loop ()

{// kada znakovi stignu preko serijskog porta … if (Serial.available ()) {// sačekajte malo da cijela poruka stigne kašnjenje (100); // briše ekran 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 koda za štampanje. 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čuje se: