Բովանդակություն:

Օգտագործեք 16x2 LCD I2C- ով ՝ 4 քայլ
Օգտագործեք 16x2 LCD I2C- ով ՝ 4 քայլ

Video: Օգտագործեք 16x2 LCD I2C- ով ՝ 4 քայլ

Video: Օգտագործեք 16x2 LCD I2C- ով ՝ 4 քայլ
Video: How measure DC Voltage and Current and build Energy meter with LCD Display | Lesson 104 2024, Նոյեմբեր
Anonim
Օգտագործեք 16x2 LCD I2C- ով
Օգտագործեք 16x2 LCD I2C- ով
Օգտագործեք 16x2 LCD I2C- ով
Օգտագործեք 16x2 LCD I2C- ով
Օգտագործեք 16x2 LCD I2C- ով
Օգտագործեք 16x2 LCD I2C- ով

Իմ նախորդ Instructable- ից մեկում ես ձեզ ցույց տվեցի, թե ինչպես միացնել և միացնել LCD- ն Arduino Uno- ին և ցուցադրել դրա արժեքները: Բայց ինչպես նկատվեց, շատ կապեր կային, և եթե նախագիծը սկսեց շատ խառնաշփոթ լինել չափազանց շատ լարերի պատճառով:

Այս Instructable- ում ես ձեզ ցույց կտամ, թե ինչպես միացնել LCD- ը I2C- ին, որն ունենալու է ընդամենը 4 կապում `LCD- ը վերահսկելու և օգտագործելու համար: Այսպիսով, եկեք սկսենք:

Քայլ 1: Պահանջվում են բաղադրիչներ

Պահանջվող բաղադրիչներ
Պահանջվող բաղադրիչներ
Պահանջվող բաղադրիչներ
Պահանջվող բաղադրիչներ
Պահանջվող բաղադրիչներ
Պահանջվող բաղադրիչներ

Այս նախագծի համար ձեզ հարկավոր է.

  • Արդուինո Ունո
  • 16x2 LCD
  • I2C 16x2 LCD- ի համար
  • Կապող լարեր

Այս բոլորով հանդերձ, անցնենք կապերի հատվածին:

Քայլ 2: Միացումներ

Միացումներ
Միացումներ
Միացումներ
Միացումներ
Միացումներ
Միացումներ
Միացումներ
Միացումներ

Ուղղեք նկարները և կատարեք կապերը: Դա բավականին պարզ է, պարզապես պետք է I2C- ն միացնել LCD- ի նավահանգիստներին և ամրացնել այն տեղում: Այնուհետեւ միացրեք SCL կապը Arduino- ի A4 կապին, իսկ SDA կապը Arduino- ի A5 կապին:

Ես I2C- ը չեմ զոդում, քանի որ արդեն զոդել եմ LCD- ի վերնագրի կապում: Բայց ես կառաջարկեի I2C- ն զոդել LCD- ով:

Քայլ 3: Կոդ

Arduino IDE- ում ներառված է LCD I2C հիմնական գրադարան: Բայց դրա մեջ կա մի փոքր խնդիր կոդի հետ: Այս գրադարանի բոլոր օրինակները ենթադրում են, որ I2C- ի կանխադրված հասցեն 0x27 է: Այսպիսով, նախ մենք պետք է պարզենք, թե որն է մեր I2C- ի հասցեն: Մենք կարող ենք դա անել ՝ օգտագործելով I2C սկաների ծածկագիրը: Երբ մենք ունենք I2C հասցեն, մենք կարող ենք փոխարինել այս արժեքը օրինակի կոդի մեջ և սկսել օգտագործել այն:

I2C սկաների կոդ ՝

#ներառում

void setup () {Wire.begin (); Serial.begin (9600); իսկ (! Սերիա); // սպասեք սերիական մոնիտորի Serial.println ("\ nI2C սկաներ"); } void loop () {բայթ սխալ, հասցե; int n Սարքեր; Serial.println («Սկանավորում …»); n Սարքեր = 0; for (հասցե = 1; հասցե <127; հասցե ++) {// i2c_scanner- ը օգտագործում է // the Write.endTransmisstion- ի վերադարձ արժեքը `տեսնելու, թե արդյոք // սարքը հասցեատեր է եղել: Wire.beginTransmission (հասցե); սխալ = Wire.endTransmission (); if (սխալ == 0) {Serial.print ("I2C սարքը գտնվել է 0x հասցեում"); if (հասցե <16) Serial.print ("0"); Serial.print (հասցե, HEX); Serial.println ("!"); n Սարքեր ++; } else if (սխալ == 4) {Serial.print ("Անհայտ սխալ 0x հասցեում"); if (հասցե <16) Serial.print ("0"); Serial.println (հասցեն, HEX); }} if (nDevices == 0) Serial.println ("I2C սարք չի գտնվել / n"); այլապես Serial.println («արված / n»); ուշացում (5000); // սպասել 5 վայրկյան հաջորդ սկանավորման համար}

Օրինակ Կոդ (Սերիական մոնիտորում մուտքագրված նիշերը ցուցադրելու համար)

#ներառել #ներառել

LiquidCrystal_I2C LCD (0x3F, 20, 4); // LCD հասցեն սահմանել 0x27 ՝ 16 նշանի և 2 տողի ցուցադրման համար

դատարկ կարգավորում ()

{lcd.init (); // նախաստորագրել lcd lcd.backlight (); Serial.begin (9600); }

դատարկ շրջան ()

{// երբ սիմվոլային պորտի վրայով կերպարները հասնում են … եթե (Serial.available ()) {// մի քիչ սպասեք, մինչև ամբողջ հաղորդագրության ժամանումը հետաձգվի (100); // մաքրել էկրանը lcd.clear (); // կարդալ առկա բոլոր նիշերը մինչ (Serial.available ()> 0) {// ցուցադրել յուրաքանչյուր նիշ LCD lcd.write (Serial.read ()); }}}

Քայլ 4: Արդյունք

Ելքը
Ելքը
Ելքը
Ելքը

Երբ ծածկագիրը վերբեռնեք, պատրաստ եք գնալ: Այս Instructable- ի համար ես վերցրել եմ Սերիական տպագրության կոդի օրինակը: Այսպիսով, այժմ ծածկագիրը վերբեռնելուց հետո բացեք Serial Monitor- ը և մուտքագրեք մի բառ և կտտացրեք «ուղարկել»: Այժմ դուք պետք է տեսնեք, որ այս արժեքը ցուցադրվում է LCD- ով:

Խորհուրդ ենք տալիս: