![Ոլորեք միայնակ LCD տող. 4 քայլ (նկարներով) Ոլորեք միայնակ LCD տող. 4 քայլ (նկարներով)](https://i.howwhatproduce.com/images/001/image-1268-20-j.webp)
Բովանդակություն:
2025 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2025-01-23 14:48
![Image Image](https://i.howwhatproduce.com/images/001/image-1268-22-j.webp)
![](https://i.ytimg.com/vi/bIGZmTozqM8/hqdefault.jpg)
Հեղուկ բյուրեղների գրադարանը ունի երկու օգտակար գործառույթ ՝ scrollDisplayLeft () և scrollDisplayRight (): Այս գործառույթները ոլորում են ամբողջ էկրանը: Այսինքն, նրանք երկու տողերն էլ ոլորում են 1602 LCD- ով և բոլոր չորս տողերը 2004 թ. LCD- ով: Այն, ինչ մեզ հաճախ է անհրաժեշտ, ոչ թե ամբողջ էկրանը ոլորելն է, այլ մեկ տող այս էկրանների վրա ոլորելն է:
Այս հրահանգը ապահովում է երկու լրացուցիչ գործառույթ ՝ scrollInFromRight (տեքստը ցուցադրելու համար տող, ոլորման ենթակա տող) և scrollInFromLeft (տեքստը ցուցադրելու համար տող, ոլորման ենթակա տող): Այս երկու գործառույթները, որոնք տողերը ոլորում են LCD էկրանին երկու գործառույթների հետ միասին ՝ scrollLineRight (տեքստը ցուցադրելու համար տող, ոլորման ենթակա տող) և scrollLineLeft (տեքստը ցուցադրելու համար տող, ոլորման ենթակա տող) իմ նախկին Instructable- ից, որը ներկայացվել էր ֆունկցիաները ՝ էկրանից գծերը ոլորելու համար, մեզ տալիս է մի քանի հզոր միջոց ՝ վերահսկելու, թե ինչպես կարելի է տեքստը ներկայացնել կամ հեռացնել LCD էկրանից:
Քայլ 1: Ինչ է անհրաժեշտ
![Միացում Միացում](https://i.howwhatproduce.com/images/001/image-1268-23-j.webp)
- 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: Էսքիզ
![Էսքիզը Էսքիզը](https://i.howwhatproduce.com/images/001/image-1268-24-j.webp)
![Էսքիզը Էսքիզը](https://i.howwhatproduce.com/images/001/image-1268-25-j.webp)
![Էսքիզը Էսքիզը](https://i.howwhatproduce.com/images/001/image-1268-26-j.webp)
Պարզապես մուտքագրեք կցված ուրվագիծը 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» - ով ՝ ինձ հետ կապվելու համար:
Խորհուրդ ենք տալիս:
Երկու խաղացող միայնակ LED շերտի խաղեր միավորների տախտակով `10 քայլ
![Երկու խաղացող միայնակ LED շերտի խաղեր միավորների տախտակով `10 քայլ Երկու խաղացող միայնակ LED շերտի խաղեր միավորների տախտակով `10 քայլ](https://i.howwhatproduce.com/images/006/image-15836-j.webp)
Two Player Single LED Strip Games With Score Board: Առաջին հերթին աղոթեք Աստծուն աշխարհի բոլոր ժողովուրդների համար, Աստված այս պահին միայն կարող է օգնել և խաղաղություն պարգևել մեզ: Բոլորս փակ ենք և գնալու տեղ չունենք: Ես այլևս անելիքներ չունեմ, այնպես որ սկսեք առցանց ուսումնասիրել պիթոն և չեմ կարող մտածել որևէ
Երկնիշ էկրան ՝ օգտագործելով միայնակ 8x8 առաջնորդվող մատրիցա ՝ 3 քայլ
![Երկնիշ էկրան ՝ օգտագործելով միայնակ 8x8 առաջնորդվող մատրիցա ՝ 3 քայլ Երկնիշ էկրան ՝ օգտագործելով միայնակ 8x8 առաջնորդվող մատրիցա ՝ 3 քայլ](https://i.howwhatproduce.com/images/008/image-21373-j.webp)
Երկնիշ էկրան ՝ օգտագործելով միայնակ 8x8 լուսադիոդային մատրիցա. Այստեղ ես կցանկանայի կառուցել ջերմաստիճանի և խոնավության ցուցիչ իմ սենյակի համար: Երկնիշ թվեր ցուցադրելու համար ես օգտագործեցի միայնակ 8x8 LED մատրիցա, և կարծում եմ, որ նախագծի մի մասն ավելի օգտակար դարձավ: Ես փակեցի ստվարաթղթե տուփի օգնությամբ կառուցված եզրափակիչը, ցավը
X-box ռոք խմբի հարվածային գործիքները վերածեք միջանկյալ միայնակ էլեկտրոնային հարվածային գործիքների. 4 քայլ (նկարներով)
![X-box ռոք խմբի հարվածային գործիքները վերածեք միջանկյալ միայնակ էլեկտրոնային հարվածային գործիքների. 4 քայլ (նկարներով) X-box ռոք խմբի հարվածային գործիքները վերածեք միջանկյալ միայնակ էլեկտրոնային հարվածային գործիքների. 4 քայլ (նկարներով)](https://i.howwhatproduce.com/images/009/image-24983-j.webp)
X-box ռոք խմբի հարվածային գործիքները վերածեք միայնակ էլեկտրոնային հարվածային գործիքների. Ինձ բախտ վիճակվեց ձեռք բերել օգտագործված x-box թմբուկի հավաքածու, այն մի փոքր կոպիտ վիճակում է, և ոչ մի թիակ, բայց ոչինչ, որը հնարավոր չէ ամրագրել: Ես այն վերածեք ինքնուրույն էլեկտրական թմբուկի հավաքածուի: Կարդալով պիեզո սենսորից անալոգային արժեքը և այն վերածեք MIDI կոմայի
Makeամանակի շեղումներ կատարեք ՝ օգտագործելով Raspberry Pi (11 տող կոդ). 12 քայլ (նկարներով)
![Makeամանակի շեղումներ կատարեք ՝ օգտագործելով Raspberry Pi (11 տող կոդ). 12 քայլ (նկարներով) Makeամանակի շեղումներ կատարեք ՝ օգտագործելով Raspberry Pi (11 տող կոդ). 12 քայլ (նկարներով)](https://i.howwhatproduce.com/images/002/image-5896-26-j.webp)
Ստեղծեք ժամանակի կորուստի տեսանյութեր ՝ օգտագործելով Raspberry Pi (11 տող կոդ). Ես իրոք ոգևորված էի, թե ինչպես էին դրանք աճում, բայց ինչպես բոլորս գիտենք, դա դանդաղ գործընթաց է: Չկարողանալով տեսնել աճը, ես իսկապես հիասթափվեցի, բայց հանկարծ իմ ներսում էլեկտրոնիկայի հոբբիստը արթնացրեց ձեզ
Օպտիկական մեկուսացված միայնակ հաղորդակցություն. 4 քայլ (նկարներով)
![Օպտիկական մեկուսացված միայնակ հաղորդակցություն. 4 քայլ (նկարներով) Օպտիկական մեկուսացված միայնակ հաղորդակցություն. 4 քայլ (նկարներով)](https://i.howwhatproduce.com/images/001/image-1684-156-j.webp)
Ողջույն, ակվարիումի նախագծի համար ինձ անհրաժեշտ էր երկար էլեկտրական լար, որը կարող էր. Սարքին հաղորդել էլեկտրաէներգիա: Այլ հոսանք և լարումներ ցածր են: Մետաղալարերի երկարությունը +/- 3 մ է: Տվյալների դանդաղ փոխանցումներ Երկկողմանի հաղորդակցություն, կիսով չափ երկակի