Ոլորեք միայնակ LCD տող. 4 քայլ (նկարներով)
Ոլորեք միայնակ LCD տող. 4 քայլ (նկարներով)
Anonim
Image
Image

Հեղուկ բյուրեղների գրադարանը ունի երկու օգտակար գործառույթ ՝ scrollDisplayLeft () և scrollDisplayRight (): Այս գործառույթները ոլորում են ամբողջ էկրանը: Այսինքն, նրանք երկու տողերն էլ ոլորում են 1602 LCD- ով և բոլոր չորս տողերը 2004 թ. LCD- ով: Այն, ինչ մեզ հաճախ է անհրաժեշտ, ոչ թե ամբողջ էկրանը ոլորելն է, այլ մեկ տող այս էկրանների վրա ոլորելն է:

Այս հրահանգը ապահովում է երկու լրացուցիչ գործառույթ ՝ scrollInFromRight (տեքստը ցուցադրելու համար տող, ոլորման ենթակա տող) և scrollInFromLeft (տեքստը ցուցադրելու համար տող, ոլորման ենթակա տող): Այս երկու գործառույթները, որոնք տողերը ոլորում են LCD էկրանին երկու գործառույթների հետ միասին ՝ scrollLineRight (տեքստը ցուցադրելու համար տող, ոլորման ենթակա տող) և scrollLineLeft (տեքստը ցուցադրելու համար տող, ոլորման ենթակա տող) իմ նախկին Instructable- ից, որը ներկայացվել էր ֆունկցիաները ՝ էկրանից գծերը ոլորելու համար, մեզ տալիս է մի քանի հզոր միջոց ՝ վերահսկելու, թե ինչպես կարելի է տեքստը ներկայացնել կամ հեռացնել LCD էկրանից:

Քայլ 1: Ինչ է անհրաժեշտ

Միացում
Միացում

- 1602 կամ 2004 թվականի առանձին LCD էկրան կամ LCD վահան

- Տե՛ս ստորև բերված գրառումը ՝ կապված 2004 թվականի LCD էկրան օգտագործելու հետ

- Arduino UNO R3 կամ կլոն

- USB մալուխ ՝ Arduino- ն համակարգչին միացնելու համար

- Կիսաչափ, 400 փողկապի միավոր, տախտակ

- Arduino IDE- ն

- Փորձնական հարթակ (ընտրովի, բայց օգտակար)

Պահանջվող տարրերն են ՝ 1602 կամ 2004 թ. LCD էկրան [եթե 2004 թ. Օգտագործվում է, առանց խնդիրների կաշխատի աջից ոլորել ՝ փոխելով lcd.begin () գործառույթը ՝ արտացոլելու համար, որ այժմ օգտագործում եք 20 նիշ x 4 տող: ցուցադրում: [2004 -ի ցուցադրման միջոցով ձախից ոլորելու համար անհրաժեշտ է գործառույթի s crollInFromLeft () վերաշարադրում : LCD- ից բացի ձեզ հարկավոր կլինի Arduino UNO կամ կլոն, Arduino IDE և USB մալուխ `Arduino- ին համակարգչին միացնելու համար:

LCD վահանը կարող է օգտագործվել այստեղ ցուցադրված ինքնուրույն LCD- ի փոխարեն: Եթե դա այդպես է, ապա ներքևի ուրվագծում LCD- ի համար նախատեսված քորոցների առաջադրանքները պետք է փոխվեն:

- Անկախ 1602 LCD էկրանին ես իմ ուրվագծերում օգտագործեցի հետևյալ կապի առաջադրանքները.

// LiquidCrystal (rs, enable, d4, d5, d6, d7)

LiquidCrystal LCD (12, 11, 5, 4, 3, 2);

և ներառում էր Liquid Crystal գրադարանը LiquidCrystal.h:

- LCD վահանի համար ես էսքիզներում օգտագործում եմ հետևյալ կապի առաջադրանքները, ինչպես նաև ներառում եմ LiquidCrystal.h հեղուկ բյուրեղների գրադարանը:

// LiquidCrystal (rs, enable, d4, d5, d6, d7)

LiquidCrystal LCD (8, 13, 9, 4, 5, 6, 7);

Routeանկացած երթուղի կգործի ծածկագիրը այստեղ, այսինքն ՝ կամ LCD վահան, կամ առանձին LCD: Այս հրահանգում օգտագործվել է 1602 ինքնուրույն LCD էկրան, բայց ինչպես նշվեց, 1602 վահանը կարող է օգտագործվել նաև, եթե հաշվի առնվեն քորոցի տարբեր առաջադրանքները:

Ես օգտագործեցի «փորձարարական հարթակ» ՝ Arduino UNO- ն մի փոքր չափի, 400 փողկապի և հացաթղթի միացնելու համար: (Տե՛ս իմ ավելի վաղ հրահանգը ՝ «Փորձնական հարթակ Arduino UNO R3- ի համար, թե ինչպես պատրաստել այն օգտագործման համար»): Այնուամենայնիվ, փորձարարական հարթակ պետք չէ, չնայած ինձ համար դա LCD- ը UNO- ին միացնելը շատ ավելի հեշտ և արագ է դարձնում:

Այն առաջադրանքները, որոնք ես օգտագործել եմ LCD- ը UNO- ին միացնելու համար, կարելի է տեսնել վերևում:

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

LCD- ն միացված է տախտակի վրա, այնուհետև միացման լարերը միանում են տախտակից Arduino- ի համապատասխան կապումներին (տե՛ս 2 -րդ քայլը, եթե իմ օգտագործած միացումների վերաբերյալ որևէ հարց ունեք):

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

Անկախ LCD- ի համար անհրաժեշտ է օգտագործել առանձին 10k ohm պոտենցիոմետր: Ինչպես նշվեց վերևում, ես օգտագործել եմ այն կոճակով, որի մաքրիչը միացված է երրորդ LCD- ի քորոցին (աջից հաշվելով ՝ LCD կապումներն ուղղված են ձեր կողմը): Պոտենցիոմետրը օգտագործվում է LCD- ի հակադրությունը վերահսկելու համար: Կապերը նույնն են 1602 -ի և 2004 -ի համար: Այնուամենայնիվ, հայտարարությունը lcd.begin (16, 2) պետք է էսքիզում փոխվի lcd.begin (20, 4) ՝ ցույց տալու համար, որ մեր LCD- ը փոխվել է 16 -ից: կերպարը երկու տողով ցուցադրում է 20 նիշ չորս գծերով մեկ:

Կցված լուսանկարներին նայելը ցույց է տալիս իմ օգտագործած կապը, ներառյալ փորձնական հարթակը և 10k պոտենցիոմետր:

Քայլ 3: Էսքիզ

Էսքիզը
Էսքիզը
Էսքիզը
Էսքիզը
Էսքիզը
Էսքիզը

Պարզապես մուտքագրեք կցված ուրվագիծը Arduino IDE- ի մեջ: Խնդրում ենք նկատի ունենալ, որ Instructable կայքը հաճախ ջնջում է բոլորից մեծ և փոքր նշանները և դրանց միջև եղած տեքստը: Այսպիսով, վստահ եղեք և ներառեք տեքստը, #ներառեք LiquidCrystal.h- ը և ներսում փակեք LiquidCrystal.h բառերը, քան մեծ և փոքր նշաններ:

// Էսքիզ ՝ կերպարները LCD էկրանով ոլորելու համար

#ներառել // Տեքստում նշեք այն, ինչ անհրաժեշտ է այստեղ, այսինքն ՝ LiquidCrystal.h- ն ՝ ներսում

// խորհրդանիշներից մեծ և փոքր

// Այս կայքը հաճախ հեռացնում է ավելի մեծ և փոքր, քան խորհրդանիշները և դրանց միջև եղած տեքստը

// LiquidCrystal (rs, enable, d4, d5, d6, d7)

LiquidCrystal LCD (12, 11, 5, 4, 3, 2);

// LCD- ը հայտարարեք որպես LiquidCrystal օբյեկտ

int i = 0;

int j = 0;

int k = 0;

int delayTime2 = 350; // հերթափոխի միջև ուշացում

void scrollInFromRight (int տող, char str1 ) {

// Գրել է Ռ. Jordanորդան Կրինդլերը 2016 թվականի հունիսին

i = strlen (str1);

համար (j = 16; j> = 0; j--) {

lcd.setCursor (0, տող);

համար (k = 0; k <= 15; k ++) {

lcd.print (""); // Մաքրել գիծը

}

lcd.setCursor (j, տող);

lcd.print (str1);

ուշացում (delayTime2);

}

}

void scrollInFromLeft (int line, char str1 ) {

// Գրել է Ռ. Jordanորդան Կրինդլերը 2016 թվականի հունիսին

i = 40 - strlen (str1);

տող = տող - 1;

համար (j = i; j <= i+16; j ++) {

համար (k = 0; k <= 15; k ++) {

lcd.print (""); // Մաքրել գիծը

}

lcd.setCursor (j, տող);

lcd.print (str1);

ուշացում (delayTime2);

}

}

void setup () {

Serial.begin (9600);

Serial.println («Թեստի մեկնարկը …»);

lcd. սկսել (16, 2);

lcd. հստակ ();

lcd.print («Միայն փորձարկում»);

}

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

lcd. հստակ ();

scrollInFromRight (0, «Տող 1 աջից»);

scrollInFromRight (1, «Տող 2 աջից»);

lcd. հստակ ();

scrollInFromLeft (0, «Տող 1 ձախից»);

scrollInFromLeft (1, «Տող 2 ձախից»);

lcd. հստակ ();

scrollInFromRight (0, «Տող 1 աջից»);

scrollInFromLeft (1, «Տող 2 ձախից»);

lcd. հստակ ();

}

Երկու գործառույթը ՝ scrollInFromRight (տեքստը ցուցադրելու տող, ոլորման տող) և scrollInFromLeft (տեքստը տեքստը ցուցադրելու համար, ոլորման ենթակա տողը) կարող են տեղափոխվել ձեր ուրվագծի մեջ ՝ LCD էկրանին ոլորվող տողերը վերահսկելու համար: Այս գործառույթները ապահովում են նոր տեքստը էկրան տեղափոխելու էլեգանտ միջոց:

Ուղեցույցում պարունակվող երկու գործառույթների հետ համատեղ ՝ «Ոլորեք մեկ LCD տող դեպի ձախ կամ աջ, Ինչպես», չորս գործառույթները ապահովում են տեքստը LCD էկրանին ոլորելու և անջատելու էլեգանտ եղանակներ: Այս գործառույթները թույլ են տալիս ոլորել տեքստը մեկ տողում և չեն պահանջում ամբողջ էկրանը ոլորել այնպես, ինչպես գործառույթները ՝ scrollDisplayLeft () և scrollDisplayRight ():

Այս ոլորման ունակությունը թույլ է տալիս մեզ ավելի երկար տողեր ներկայացնել, որոնք սովորաբար ցուցադրելու ունակ է էկրանը: Այսինքն, 1602 ցուցադրման համար մենք չենք սահմանափակվում միայն 16 նիշով մեկ տողում (չնայած որ միայն 16 -ը կցուցադրվեն միաժամանակ), իսկ 2004 -ի համար մենք չենք սահմանափակվում մեկ տողում 20 նիշով:

Մի կողմ թողնելով, գուցե ցանկանաք ոլորել պտտումների միջև ընկած ժամանակը ՝ ձեր կարիքներին համապատասխան:

Քայլ 4: Հետո

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

Եթե ցանկանում եք կապվել ինձ հետ որևէ հարցի կամ լրացուցիչ տեղեկատվության համար, կամ ընդլայնել իմ գիտելիքները ներկայացված ոլորտում, ինձ կարող եք կապվել [email protected] հասցեով: (խնդրում եմ երկրորդ «i» - ն փոխարինել «e» - ով ՝ ինձ հետ կապվելու համար:

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