Satura rādītājs:

Izmantojiet 16x2 LCD ar I2C: 4 soļi
Izmantojiet 16x2 LCD ar I2C: 4 soļi

Video: Izmantojiet 16x2 LCD ar I2C: 4 soļi

Video: Izmantojiet 16x2 LCD ar I2C: 4 soļi
Video: LDmicro 5: Макетная схема PIC16F628A (программирование лестничной схемы ПЛК микроконтроллера с помощью LDmicro) 2024, Novembris
Anonim
Izmantojiet 16x2 LCD ar I2C
Izmantojiet 16x2 LCD ar I2C
Izmantojiet 16x2 LCD ar I2C
Izmantojiet 16x2 LCD ar I2C
Izmantojiet 16x2 LCD ar I2C
Izmantojiet 16x2 LCD ar I2C

Vienā no maniem iepriekšējiem Instructable es parādīju, kā savienot un savienot LCD ar Arduino Uno un parādīt tajā vērtības. Bet, kā novērots, bija daudz savienojumu un, ja projekts pārāk daudz vadu dēļ sāka kļūt ļoti netīrs.

Šajā pamācībā es parādīšu, kā savienot LCD ar I2C, kuram būs tikai 4 tapas LCD vadīšanai un lietošanai. Tātad sāksim darbu.

1. darbība. Nepieciešamās sastāvdaļas

Nepieciešamas sastāvdaļas
Nepieciešamas sastāvdaļas
Nepieciešamas sastāvdaļas
Nepieciešamas sastāvdaļas
Nepieciešamas sastāvdaļas
Nepieciešamas sastāvdaļas

Šim projektam jums būs nepieciešams:

  • Arduino Uno
  • 16x2 LCD
  • I2C 16x2 LCD
  • Savienojami vadi

Ņemot to visu vērā, iedziļināsimies savienojumu daļā.

2. darbība. Savienojumi

Savienojumi
Savienojumi
Savienojumi
Savienojumi
Savienojumi
Savienojumi
Savienojumi
Savienojumi

Skatiet attēlus un izveidojiet savienojumus. Tas ir pavisam vienkārši, jums vienkārši jāpievieno I2C LCD portos un jāpielodē savā vietā. Pēc tam savienojiet SCL tapu ar A4 tapu Arduino un SDA tapu ar A5 tapu Arduino.

Es neesmu lodējis I2C, jo LCD jau esmu lodējis galvenes tapas. Bet es ieteiktu lodēt I2C uz LCD

3. darbība: kods

Arduino IDE ir iekļauta LCD I2C galvenā bibliotēka. Bet tajā ir neliela problēma ar kodu. Visos šīs bibliotēkas piemēros tiek pieņemta I2C noklusējuma adrese kā 0x27. Tātad vispirms mums ir jānoskaidro, kāda ir mūsu I2C adrese. Mēs to varam izdarīt, izmantojot I2C skenera kodu. Kad mums ir I2C adrese, mēs varam aizstāt šo vērtību parauga kodā un sākt to izmantot.

I2C skenera kods:

#iekļaut

void setup () {Wire.begin (); Sērijas sākums (9600); kamēr (! Seriāls); // gaidīt sērijas monitoru Serial.println ("\ nI2C skeneris"); } void loop () {baitu kļūda, adrese; int nIerīces; Serial.println ("Skenēšana …"); nIerīces = 0; for (adrese = 1; adrese <127; adrese ++) {// I2c_skeneris izmanto // Write.endTransmisstion atgriešanas vērtību, lai noskaidrotu, vai // ierīce ir apstiprinājusi adresi. Wire.beginTransmission (adrese); kļūda = Wire.endTransmission (); ja (kļūda == 0) {Serial.print ("I2C ierīce atrasta adresē 0x"); ja (adrese <16) Serial.print ("0"); Serial.print (adrese, HEX); Serial.println ("!"); nIerīces ++; } cits if (kļūda == 4) {Serial.print ("Nezināma kļūda adresē 0x"); ja (adrese <16) Serial.print ("0"); Serial.println (adrese, HEX); }} if (nDevices == 0) Serial.println ("Nav atrasta neviena I2C ierīce / n"); else Serial.println ("darīts / n"); kavēšanās (5000); // pagaidiet 5 sekundes līdz nākamajai skenēšanai}

Koda paraugs (lai parādītu sērijas monitorā ievadītās rakstzīmes):

#iekļaut #iekļaut

LiquidCrystal_I2C LCD (0x3F, 20, 4); // iestatiet LCD adresi uz 0x27, lai parādītu 16 rakstzīmes un 2 rindas

anulēts iestatījums ()

{lcd.init (); // inicializēt lcd lcd.backlight (); Sērijas sākums (9600); }

tukša cilpa ()

{// kad rakstzīmes ierodas pa seriālo portu… if (Serial.available ()) {// nedaudz pagaidiet, līdz viss ziņojums tiek aizkavēts (100); // notīriet ekrānu lcd.clear (); // lasīt visas pieejamās rakstzīmes, kamēr (Serial.available ()> 0) {// katru rakstzīmi parādīt LCD lcd.write (Serial.read ()); }}}

4. solis: izvade

Izeja
Izeja
Izeja
Izeja

Kad esat augšupielādējis kodu, esat gatavs darbam. Šajā pamācībā esmu ņēmis sērijas drukas koda piemēru. Tāpēc tagad pēc koda augšupielādes atveriet sērijas monitoru un ierakstiet vārdu un noklikšķiniet uz "sūtīt". Tagad jums vajadzētu redzēt, ka šī vērtība tiek parādīta LCD.

Ieteicams: