Turinys:

Naudokite 16x2 LCD su I2C: 4 žingsniai
Naudokite 16x2 LCD su I2C: 4 žingsniai

Video: Naudokite 16x2 LCD su I2C: 4 žingsniai

Video: Naudokite 16x2 LCD su I2C: 4 žingsniai
Video: Domoticz LCD 20x4 I2C 2024, Lapkritis
Anonim
Naudokite 16x2 LCD su I2C
Naudokite 16x2 LCD su I2C
Naudokite 16x2 LCD su I2C
Naudokite 16x2 LCD su I2C
Naudokite 16x2 LCD su I2C
Naudokite 16x2 LCD su I2C

Viename iš ankstesnių „Instructable“aš parodžiau, kaip prijungti ir prijungti LCD prie „Arduino Uno“ir rodyti jo vertes. Tačiau, kaip pastebėta, jungčių buvo daug ir, jei projektas pradėjo labai keistis dėl per daug laidų.

Šioje instrukcijoje aš jums parodysiu, kaip prijungti skystųjų kristalų ekraną prie I2C, kuriame bus tik 4 kaiščiai LCD ekranui valdyti ir naudoti. Taigi pradėkime.

1 žingsnis: reikalingi komponentai

Privalomi komponentai
Privalomi komponentai
Privalomi komponentai
Privalomi komponentai
Privalomi komponentai
Privalomi komponentai

Šiam projektui jums reikės:

  • Arduino Uno
  • 16x2 LCD ekranas
  • I2C 16x2 LCD
  • Prijungimo laidai

Turėdami visa tai, pereikime prie jungčių dalies.

2 žingsnis: jungtys

Sujungimai
Sujungimai
Sujungimai
Sujungimai
Sujungimai
Sujungimai
Sujungimai
Sujungimai

Peržiūrėkite paveikslėlius ir sujunkite. Tai gana paprasta, jums tiesiog reikia prijungti I2C prie LCD prievadų ir prilituoti. Tada prijunkite SCL kaištį prie A4 kaiščio „Arduino“ir SDA kaištį prie A5 kaiščio „Arduino“.

Aš ne lituoju I2C, nes LCD ekrane jau lituosiu antraštės kaiščius. Bet aš siūlyčiau lituoti I2C LCD ekrane

3 žingsnis: kodas

„Arduino IDE“yra LCD I2C pagrindinė biblioteka. Tačiau jame yra nedidelė problema su kodu. Visuose šios bibliotekos pavyzdžiuose yra numatytasis I2C adresas kaip 0x27. Taigi pirmiausia turime išsiaiškinti, koks yra mūsų I2C adresas. Tai galime padaryti naudodami I2C skaitytuvo kodą. Gavę I2C adresą, mes galime pakeisti šią reikšmę pavyzdiniame kode ir pradėti jį naudoti.

„I2C“skaitytuvo kodas:

#įtraukti

void setup () {Wire.begin (); Serial.begin (9600); while (! Serial); // laukti serijinio monitoriaus Serial.println ("\ nI2C skaitytuvas"); } void loop () {baito klaida, adresas; int nĮrenginiai; Serial.println („Nuskaitymas …“); nĮrenginiai = 0; for (adresas = 1; adresas <127; adresas ++) {// „i2c_scanner“naudoja // „Write.endTransmisstion“grąžinimo vertę, kad sužinotų, ar // įrenginys patvirtino adresą. Wire.beginTransmission (adresas); klaida = Wire.endTransmission (); if (klaida == 0) {Serial.print ("I2C įrenginys rastas adresu 0x"); if (adresas <16) Serial.print ("0"); Serial.print (adresas, HEX); Serial.println ("!"); nĮrenginiai ++; } else if (klaida == 4) {Serial.print ("Nežinoma klaida adresu 0x"); if (adresas <16) Serial.print ("0"); Serial.println (adresas, HEX); }} if (nDevices == 0) Serial.println ("Nerasta I2C įrenginių / n"); else Serial.println ("padaryta / n"); vėlavimas (5000); // palaukite 5 sekundes kito nuskaitymo}

Kodo pavyzdys (norint parodyti serijiniame monitoriuje įvestus simbolius):

#įtraukti #įtraukti

LiquidCrystal_I2C LCD (0x3F, 20, 4); // nustatykite LCD adresą į 0x27, jei norite rodyti 16 simbolių ir 2 eilutes

negaliojanti sąranka ()

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

tuštumos kilpa ()

{// kai simboliai atkeliauja per nuoseklųjį prievadą… if (Serial.available ()) {// šiek tiek palaukite, kol visas pranešimas atkeliaus vėluoti (100); // išvalyti ekraną lcd.clear (); // skaityti visus galimus simbolius, o (Serial.available ()> 0) {// rodyti kiekvieną simbolį LCD ekrane lcd.write (Serial.read ()); }}}

4 žingsnis: išvestis

Išvestis
Išvestis
Išvestis
Išvestis

Įkėlę kodą esate pasiruošę eiti. Šiai instrukcijai aš paėmiau serijos spausdinimo kodo pavyzdį. Taigi dabar, įkėlę kodą, atidarykite serijos monitorių ir įveskite žodį ir spustelėkite „siųsti“. Dabar ši vertė turėtų būti rodoma LCD ekrane.

Rekomenduojamas: