Sisukord:

Kasutage 16x2 LCD koos I2C -ga: 4 sammu
Kasutage 16x2 LCD koos I2C -ga: 4 sammu

Video: Kasutage 16x2 LCD koos I2C -ga: 4 sammu

Video: Kasutage 16x2 LCD koos I2C -ga: 4 sammu
Video: LDmicro 10: Регулятор температуры инкубатора (лестничное программирование ПЛК микроконтроллера с помощью LDmicro) 2024, Juuli
Anonim
Kasutage 16x2 LCD koos I2C -ga
Kasutage 16x2 LCD koos I2C -ga
Kasutage 16x2 LCD koos I2C -ga
Kasutage 16x2 LCD koos I2C -ga
Kasutage 16x2 LCD koos I2C -ga
Kasutage 16x2 LCD koos I2C -ga

Ühes oma eelmises juhendis näitasin teile, kuidas ühendada ja liidestada LCD Arduino Unoga ja kuvada sellel väärtusi. Kuid nagu täheldatud, oli ühendusi palju ja kui projekt hakkas liiga palju juhtmete tõttu palju segamini minema.

Selles juhendis näitan teile, kuidas ühendada LCD I2C -ga, millel on LCD juhtimiseks ja kasutamiseks ainult 4 kontakti. Nii et alustame.

Samm: nõutavad komponendid

Nõutavad komponendid
Nõutavad komponendid
Nõutavad komponendid
Nõutavad komponendid
Nõutavad komponendid
Nõutavad komponendid

Selle projekti jaoks vajate:

  • Arduino Uno
  • 16x2 LCD
  • I2C 16x2 LCD jaoks
  • Ühendusjuhtmed

Kõigi nende juures asume ühenduste osasse.

Samm 2: Ühendused

Ühendused
Ühendused
Ühendused
Ühendused
Ühendused
Ühendused
Ühendused
Ühendused

Vaadake pilte ja tehke ühendused. See on üsna lihtne, peate lihtsalt ühendama I2C LCD -portidesse ja jootma selle oma kohale. Seejärel ühendage SCL -tihvt Arduino A4 -tihvtiga ja SDA -tihvt Arduino A5 -tihvtiga.

Ma ei joo I2C -d, kuna olen LCD -le juba jootnud päise tihvtid. Kuid ma soovitaksin I2C jootmist LCD -ekraanil

3. samm: kood

Arduino IDE -s on LCD I2C peakogu. Kuid selles koodis on väike probleem. Kõik selle teegi näited eeldavad I2C vaikimisi aadressiks 0x27. Nii et kõigepealt peame välja selgitama, mis on meie I2C aadress. Seda saame teha, kasutades I2C skanneri koodi. Kui meil on I2C -aadress, saame selle väärtuse näidiskoodis asendada ja seda kasutama hakata.

I2C skanneri kood:

#kaasake

void setup () {Wire.begin (); Seriaalne algus (9600); while (! Seeria); // oota seeriamonitori Serial.println ("\ nI2C skanner"); } void loop () {bait viga, aadress; int nSeadmed; Serial.println ("Skaneerimine …"); n Seadmed = 0; for (aadress = 1; aadress <127; aadress ++) {// i2c_scanner kasutab // Write.endTransmisstioni tagastusväärtust, et näha, kas // seade tunnistas selle aadressi. Wire.beginTransmission (aadress); viga = Wire.endTransmission (); if (error == 0) {Serial.print ("I2C seade leiti aadressilt 0x"); if (aadress <16) Serial.print ("0"); Serial.print (aadress, HEX); Serial.println ("!"); nSeadmed ++; } else if (viga == 4) {Serial.print ("Tundmatu viga aadressil 0x"); if (aadress <16) Serial.print ("0"); Serial.println (aadress, HEX); }} if (nDevices == 0) Serial.println ("I2C seadmeid ei leitud / n"); else Serial.println ("tehtud / n"); viivitus (5000); // oodake järgmist skannimist 5 sekundit}

Näidiskood (jadamonitori sisestatud märkide kuvamiseks):

#kaasama #kaasama

LiquidCrystal_I2C LCD (0x3F, 20, 4); // määrake 16 -märgilise ja kaherealise ekraani jaoks LCD -aadressiks 0x27

tühine seadistus ()

{lcd.init (); // initsialiseeri lcd lcd.backlight (); Seriaalne algus (9600); }

tühine tsükkel ()

{// kui märgid saabuvad jadapordi kaudu… if (Serial.available ()) {// oodake natuke, kuni kogu sõnum jõuab kohale (100); // ekraani tühjendamine lcd.clear (); // loe kõiki saadaolevaid märke, samal ajal kui (Serial.available ()> 0) {// kuvab iga märgi LCD -ekraanile lcd.write (Serial.read ()); }}}

4. samm: väljund

Väljund
Väljund
Väljund
Väljund

Kui olete koodi üles laadinud, olete valmis minema. Selle juhendi jaoks olen võtnud seeriaprindikoodi näite. Nüüd avage pärast koodi üleslaadimist jadamonitor ja tippige sõna ning klõpsake "saada". Nüüd peaksite seda väärtust LCD -ekraanil kuvama.

Soovitan: