LCD 1602-ի միացում Arduino-ին. նկարագրություն, գործառույթներ, հրահանգներ, առանձնահատկություններ, խնդիրներ և լուծումներ

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

LCD 1602-ի միացում Arduino-ին. նկարագրություն, գործառույթներ, հրահանգներ, առանձնահատկություններ, խնդիրներ և լուծումներ
LCD 1602-ի միացում Arduino-ին. նկարագրություն, գործառույթներ, հրահանգներ, առանձնահատկություններ, խնդիրներ և լուծումներ
Anonim

Յուրաքանչյուր ռադիոսիրող, որոշ պարզ DIY աշխատանքից հետո, հասնում է սենսորների և կոճակների միջոցով ինչ-որ մեծ բան կառուցելու նպատակին: Ի վերջո, շատ ավելի հետաքրքիր է տվյալների ցուցադրումը էկրանին, քան նավահանգստի մոնիտորի վրա: Բայց հետո հարց է առաջանում՝ ո՞ր ցուցադրումն ընտրել։ Իսկ ընդհանրապես, ինչպե՞ս միացնել այն, ի՞նչ է անհրաժեշտ միանալու համար։ Այս հարցերի պատասխանները կքննարկվեն այս հոդվածում։

LCD 1602 էկրան arduino-ին միանալու համար
LCD 1602 էկրան arduino-ին միանալու համար

LCD 1602

Էկրանների բազմաթիվ տարբերակների շարքում ես կցանկանայի առանձնացնել LCD1602 էկրանը՝ հիմնված HD4478 կարգավորիչի վրա: Կա այս էկրանը երկու գույներով՝ սպիտակ տառեր կապույտ ֆոնի վրա, սև տառեր դեղին ֆոնի վրա: LCD 1602-ը Arduino-ին միացնելը նույնպես որևէ խնդիր չի առաջացնի, քանի որ կա ներկառուցված գրադարան, և ձեզ հարկավոր չէ լրացուցիչ որևէ բան ներբեռնել: Ցուցասարքերը տարբերվում են ոչ միայն գնով, այլև չափսերով։ Հաճախ ռադիոսիրողները օգտագործում են 16x 2, այսինքն՝ 16 նիշից բաղկացած 2 տող: Բայց կա նաև 20 x 4, որտեղ կա 20 նիշից բաղկացած 4 տող: Չափերն ու գույնը ոչ մի դեր չեն խաղում LCD 1602 դիսփլեյը Arduno-ին միացնելու հարցում, դրանք միացված են նույն կերպ։ Դիտման անկյունը 35 աստիճան է, էկրանի արձագանքման ժամանակը 250 ms: Կարող է աշխատել -20-ից մինչև 70 աստիճան ջերմաստիճանում: Աշխատելիս այն օգտագործում է 4 մԱ էկրանի համար և 120 մԱ՝ հետին լույսի համար։

LCD 1602 էկրանի փորվածք
LCD 1602 էկրանի փորվածք

Որտե՞ղ է այն օգտագործվում?

Այս ցուցադրումն ունի իր ժողովրդականությունը ոչ միայն ռադիոսիրողների, այլև խոշոր արտադրողների շրջանում: Օրինակ, տպիչները, սուրճի մեքենաները նույնպես օգտագործում են LCD1602: Դա պայմանավորված է իր ցածր գնով, այս ցուցադրումն արժե 200-300 ռուբլի չինական կայքերում: Արժե այնտեղ գնել, քանի որ մեր խանութներում այս ցուցադրման լուսանցքները շատ բարձր են։

Միացեք Arduino-ին

LCD 1602-ը Arduino Nano-ին և Uno-ին միացնելը ոչնչով չի տարբերվում: Էկրանի հետ կարող եք աշխատել երկու ռեժիմով՝ 4 բիթ և 8: 8 բիթանոց էկրանով աշխատելիս օգտագործվում են և՛ ստորին, և՛ ավելի բարձր բիթերը, իսկ 4 բիթանոցի դեպքում՝ միայն ստորինները: 8-բիթով աշխատելը առանձնահատուկ իմաստ չունի, քանի որ միանալու համար կավելացվի ևս 4 կոնտակտ, ինչը նպատակահարմար չէ, քանի որ արագությունը ավելի բարձր չի լինի, էկրանի թարմացման սահմանաչափը վայրկյանում 10 անգամ է: Ընդհանուր առմամբ, LCD 1602-ը Arduino-ին միացնելու համար շատ լարեր են օգտագործվում, ինչը որոշակի անհարմարություններ է առաջացնում, բայց կան հատուկ վահաններ, բայց դրա մասին ավելի ուշ: Լուսանկարը ցույց է տալիս էկրանի միացումը Arduino Uno-ին՝

Էկրանի միացում arduino-ին
Էկրանի միացում arduino-ին

Կոդի օրինակ՝


ներառել //Ավելացնել պահանջվող գրադարան LiquidCrystal lcd(7, 6, 5, 4, 3, 2); // (RS, E, DB4, DB5, DB6, DB7) void setup(){lcd.begin(16, 2); // Սահմանել էկրանի չափը lcd.setCursor(0, 0); // Կուրսորը դրեք 1-ին տողի սկզբում lcd.print("Բարև աշխարհ!"); // Ցուցադրել տեքստային lcd setCursor(0, 1); // Կուրսորը դրեք 2-րդ տողի սկզբին lcd.print("fb.ru"); // Արդյունք տեքստ } void loop(){ }

Ի՞նչ է անում կոդը: Նախևառաջ միացված է էկրանի հետ աշխատելու գրադարանը։ Ինչպես նշվեց վերևում, այս գրադարանն արդեն ներառված է Arduino IDE-ում, և ձեզ հարկավոր չէ այն լրացուցիչ ներբեռնել և տեղադրել: Հաջորդը սահմանվում են կոնտակտները, որոնք միացված են կապումներին՝ համապատասխանաբար RS, E, DB4, DB5, DB6, DB7: Այնուհետև սահմանվում է էկրանի չափը: Քանի որ մենք աշխատում ենք 16 նիշ և 2 տող ունեցող տարբերակի հետ, գրում ենք նման արժեքներ։ Մենք կուրսորը դնում ենք առաջին տողի սկզբում և ցուցադրում մեր առաջին տեքստը Hello World: Հաջորդը, կուրսորը դրեք երկրորդ տողի վրա և ցուցադրեք կայքի անունը: Այսքանը: 1602 LCD-ը Arduino Uno-ին միացնելը դիտարկվել է:

Ի՞նչ է I2C-ը և ինչու է այն անհրաժեշտ:

Ինչպես նշվեց վերևում, էկրանը միացնելը պահանջում է շատ քորոցներ: Օրինակ, մի քանի սենսորների և LCD էկրանի հետ աշխատելիս 1602 կոնտակտները կարող են պարզապես բավարար չլինել: Հաճախ ռադիոսիրողները օգտագործում են Uno կամ Nano տարբերակները, որտեղ շատ կոնտակտներ չկան։ Հետո մարդիկ եկան հատուկ վահաններով։ Օրինակ, I2C. Այն թույլ է տալիս միացնել էկրանը ընդամենը 4 կապում: Սա երկու անգամ պակաս է։ I2C մոդուլը վաճառվում է և՛ առանձին, որտեղ դուք պետք է ինքներդ զոդեք, և՛ արդեն զոդվածLCD էկրան 1602.

I2C մոդուլ LCD էկրանի համար 1602
I2C մոդուլ LCD էկրանի համար 1602

Միացում I2C մոդուլի հետ

LCD 1602-ը Arduino Nano-ին I2C-ով միացնելը քիչ տեղ է գրավում, ընդամենը 4 պին. հող, հզորություն և 2 տվյալների ելք: Մենք հոսանքն ու հողը միացնում ենք Arduino-ի համապատասխանաբար 5V-ին և GND-ին: Մնացած երկու կոնտակտները՝ SCL-ը և SDA-ն միացված են ցանկացած անալոգային կապին: Լուսանկարում կարող եք տեսնել lcd 1602-ը arduino-ին I2C մոդուլով միացնելու օրինակ՝

Ցուցադրել կապերը՝ օգտագործելով I2C մոդուլը
Ցուցադրել կապերը՝ օգտագործելով I2C մոդուլը

Ծրագրի կոդը

Եթե առանց մոդուլի էկրանով աշխատելու համար անհրաժեշտ էր օգտագործել միայն մեկ գրադարան, ապա մոդուլի հետ աշխատելու համար անհրաժեշտ է երկու գրադարան: Դրանցից մեկն արդեն Arduino IDE - Wire-ում է: Մեկ այլ գրադարան՝ LiquidCrystal I2C-ը, պետք է առանձին ներբեռնվի և տեղադրվի: Գրադարանը Arduino-ում տեղադրելու համար ներբեռնված արխիվի բովանդակությունը պետք է վերբեռնվի Libraries արմատային պանակ: Կոդի օրինակ՝ օգտագործելով I2C:


ներառել ներառել LiquidCrystal_I2C LCD (0x27, 16, 2); // Տեղադրեք ցուցադրման void setup() {lcd.init(); lcd.backlight();// Միացնել էկրանի հետին լույսը lcd.print("FB.ru"); lcd.setCursor(8, 1); lcd.print («LCD 1602»); } void loop() { // Կուրսորը դնել երկրորդ տողի և զրոյական նիշի վրա: lcd.setCursor (0, 1); // Տպել վայրկյանների քանակը, քանի որ arduino-ն սկսել է lcd.print(millis()/1000); }

Ինչպես տեսնում եք, կոդը գրեթե նույնն է։

Ինչպե՞ս կարող եմ ավելացնել իմ սեփական խորհրդանիշը:

Այս էկրանների խնդիրն այն է, որ չկաաջակցություն կիրիլիցայի և խորհրդանիշների համար: Օրինակ, դուք պետք է բեռնեք որոշ նիշ էկրանի մեջ, որպեսզի այն կարողանա արտացոլել այն: Դա անելու համար էկրանը թույլ է տալիս ստեղծել ձեր կերպարներից մինչև 7-ը: Ներկայացրե՛ք աղյուսակը՝

0 0 0 1 0
0 0 0 0 1
1 1 0 0 1
0 0 0 0 1
1 1 0 0 1
0 0 0 0 1
0 0 0 1 0
0 0 0 0 0

Եթե 0 - այնտեղ ոչինչ չկա, եթե 1 - դա ստվերված տարածք է: Վերևի օրինակում կարող եք տեսնել «ժպտացող ժպտացող» կերպարի ստեղծումը: Օգտագործելով օրինակ ծրագիր Arduino-ում, այն կունենա հետևյալ տեսքը՝


include include // Ներառել պահանջվող գրադարանը // Ժպիտի նշանի բիթդիմակ բայթ ժպիտ[8]={ B00010, B00001, B11001, B00001, B11001, B00001, B00010, LiquidCrystal LCD (7, 6, 5, 4, 3, 2); // (RS, E, DB4, DB5, DB6, DB7) void setup(){lcd.begin(16, 2); // Սահմանել էկրանի չափը lcd.createChar(1, ժպտալ); // Ստեղծել նիշ համար 1 lcd.setCursor(0, 0); // Կուրսորը դրեք 1-ին տողի սկզբում lcd.print("\1"); // Ցուցադրել սմայլը (նիշերի թիվ 1) - «\1» } void loop(){ }

Ինչպես տեսնում եք, ստեղծվել էբիտդիմակը նույնն է, ինչ աղյուսակը: Ստեղծվելուց հետո այն կարող է ցուցադրվել որպես փոփոխական: Հիշեք, որ հիշողության մեջ կարելի է պահել միայն 7 նիշ: Սկզբունքորեն սա բավական է։ Օրինակ, եթե ցանկանում եք ցույց տալ աստիճանի նշանը։

Հատուկ նիշերի ավելացում LCD 1602-ին
Հատուկ նիշերի ավելացում LCD 1602-ին

Խնդիրներ, որտեղ էկրանը կարող է չաշխատել

Լինում են դեպքեր, երբ էկրանը չի աշխատում: Օրինակ՝ այն միանում է, բայց նիշեր չի ցուցադրում։ Կամ ընդհանրապես չի միանում։ Նախ, տեսեք, արդյոք ճիշտ եք միացրել կոնտակտները: Եթե նախկինում lcd 1202-ը միացնում էիք Arduino-ին առանց I2C-ի, ապա շատ հեշտ է խճճվել լարերի մեջ, ինչը կարող է հանգեցնել էկրանի սխալ աշխատանքին։ Դուք նաև պետք է համոզվեք, որ էկրանի կոնտրաստը մեծանում է, քանի որ նվազագույն հակադրության դեպքում նույնիսկ տեսանելի չէ LCD 1602-ը միացված է, թե ոչ: Եթե դա չի օգնում, ապա գուցե խնդիրը կարող է ընկած լինել կոնտակտների զոդման մեջ, սա I2C մոդուլի օգտագործման ժամանակ է: Բացի այդ, էկրանի չաշխատելու ընդհանուր պատճառը I2C հասցեի սխալ կարգավորումն է: Փաստն այն է, որ արտադրողները շատ են, և նրանք կարող են այլ հասցե սահմանել, դուք պետք է այն ուղղեք այստեղ՝


LiquidCrystal_I2C LCD (0x27, 16, 2);

Փակագծերում կարող եք տեսնել երկու արժեք՝ 0x27 և 16, 2 (16, 2-ը ցուցադրման չափն է, իսկ 0x27-ը՝ I2C հասցեն): Այս արժեքների փոխարեն կարող եք փորձել տեղադրել 0x37 կամ 0x3F: Դե, մեկ այլ պատճառ պարզապես անսարք LCD 1602-ն է: Հաշվի առնելով, որ Arduino-ի համար գրեթե ամեն ինչ արտադրված է Չինաստանում, դուք չեք կարող 100% վստահ լինել, որ գնվածըապրանքը թերի չէ։

LCD 1602 առավելություններն ու թերությունները

Եկեք նայենք LCD 1602-ի դրական և բացասական կողմերին:

Կողմ

  • Գին. Այս մոդուլը կարելի է ձեռք բերել շատ մատչելի գնով չինական խանութներից։ Գինը 200-300 ռուբլի է: Երբեմն նույնիսկ վաճառվում է I2C մոդուլով:
  • Հեշտ է միանալ: Հավանաբար այս օրերին ոչ ոք չի միացնում LCD 1602 առանց I2C: Իսկ այս մոդուլի հետ կապը վերցնում է ընդամենը 4 կապ, լարերի «ցանցեր» չեն լինի։
  • Ծրագրավորում. Պատրաստի գրադարանների շնորհիվ այս մոդուլի հետ աշխատելը հեշտ է, բոլոր գործառույթներն արդեն գրանցված են։ Եվ եթե ձեզ անհրաժեշտ է ավելացնել ձեր կերպարը, ապա դա տևում է ընդամենը մի քանի րոպե:

Դեմ

Հազարավոր ռադիոսիրողների կողմից օգտագործման ընթացքում մեծ մինուսներ չեն հայտնաբերվել, միայն ամուսնություն գնելու դեպքեր կան, քանի որ հիմնականում օգտագործվում են չինական ցուցադրման տարբերակներ։

Այս հոդվածում քննարկվեց, թե ինչպես կարելի է միացնել LCD 1602 էկրանը Arduino-ին, ինչպես նաև ներկայացրեց այս էկրանի հետ աշխատելու օրինակելի ծրագրեր: Այն իսկապես լավագույններից մեկն է իր կատեգորիայում, ոչ միայն այն է, որ հազարավոր ռադիոսիրողներ ընտրում են այն իրենց նախագծերի համար:

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