Բովանդակություն:
Video: LCD COG Arduino Nano- ի համար. 3 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:50
Այս հրահանգը նկարագրում է, թե ինչպես օգտագործել COG LCD- ը Arduino Nano- ի հետ:
COG LCD էկրաններն էժան են, բայց մի փոքր ավելի դժվար է ինտերֆեյսի մեջ: (COG- ը նշանակում է «Chip On Glass»): Այն, ինչ ես օգտագործում եմ, պարունակում է UC1701 վարորդի չիպ: Այն պահանջում է Arduino- ի ընդամենը 4 կապում `SPI- ժամացույց, SPI- տվյալներ, չիպերի ընտրություն և հրաման/տվյալներ:
UC1701- ը վերահսկվում է SPI ավտոբուսով և աշխատում է 3.3 Վ լարման դեպքում:
Այստեղ ես նկարագրում եմ, թե ինչպես օգտագործել այն Arduino Nano- ի հետ: Այն պետք է աշխատի նաև Arduino Mini- ի կամ Uno- ի հետ - շուտով կփորձեմ:
Սա իմ առաջին Arduino նախագիծն է, և ես տասնյակ տարիներ C չեմ գրել, այնպես որ, եթե ես որևէ ակնհայտ սխալ եմ թույլ տալիս, խնդրում եմ ինձ տեղյակ պահեք:
Քայլ 1: Սարքաշարի կառուցում
Գնեք COG LCD, որը պարունակում է UC1701 չիպ: Այն պետք է օգտագործի SPI ավտոբուսը, այլ ոչ թե զուգահեռ ինտերֆեյսը: Այն կունենա մոտ 14 կապում, որոնք կպիտակավորվեն ստորև թվարկված անուններով: (Դուք չեք ցանկանում զուգահեռ ինտերֆեյս ՝ բազմաթիվ այլ կապում ՝ պիտակավորված D0, D1, D2 …)
Իմ գնածը ՝ https://www.ebay.co.uk/itm/132138390168 Կամ կարող եք eBay- ում որոնել «12864 LCD COG»:
Ընտրեք մեկը, որն ունի բավականին լայն պոչ, 1.27 մմ հեռավորության վրա կապում - ավելի նուրբ կապերը դժվար է կպցնել: Համոզվեք, որ այն ունի UC1701 չիպ: Ուշադրություն դարձրեք, թե ինչպես է eay էջի վեցերորդ նկարում գրված է, որ «CONNECTOR: COG/UC1701»:
Էկրանը թափանցիկ է և դժվար է իմանալ, թե որն է առջևի և հետևի մասերը: Ուշադիր ուսումնասիրեք իմ նկարները: Ուշադրություն դարձրեք, թե որտեղ են 1 և 14 կապերը. Դրանք նշված են պոչի վրա:
Flexibleկուն պոչը բավականին հեշտ է զոդել, բայց դրա համար անհրաժեշտ է ադապտեր, որպեսզի կարողանաք այն միացնել հացահատիկի: Ես գնել եմ ՝ https://www.ebay.co.uk/itm/132166865767 Կամ կարող եք eBay- ում որոնել «Adapter Smd SSOP28 DIP28»:
Ադապտորը մի կողմից վերցնում է 28 պին SOP չիպ կամ մյուս կողմից 28 պին SSOP չիպ: SOP չիպը ունի 0.05 դյույմ (1.27 մմ) քորոց, որը նույնն է, ինչ LCD- ի պոչը:
Ձեզ նույնպես կպահանջվեն վերնագրի որոշ կապում: Ամեն անգամ, երբ գնում եմ Arduino կամ այլ մոդուլ, այն գալիս է ավելի շատ վերնագրի կապումներով, քան անհրաժեշտ է, այնպես որ դուք հավանաբար արդեն ունեք դրանք: Հակառակ դեպքում, eBay- ում որոնեք «2.54 մմ վերնագրի կապում»:
Վերնագրի 14 -ը կպցնում է ադապտորին: Մի՛ մղեք դրանք մինչև վերջ. Ավելի լավ է, եթե ադապտերի հետևը հարթ է: Դրեք այն ձեր նստարանին այնպես, որ կապումներն անհնար լինի շատ հեռու մղել անցքերի մեջ: Համոզվեք, որ կապում են տախտակի SOP կողմը (այսինքն ՝ ավելի մեծ չիպը):
Պոչի բարձիկները մի տեսակ պատուհանի մեջ են: Դրանց երկու կողմերը թիթեղացրեք զոդումով: Թիթեղացրեք ադապտորի բարձիկները: Անցկացրեք ադապտորի պոչը տեղում, այնուհետև կպեք յուրաքանչյուր պահոցով զոդման երկաթով (ձեզ հարկավոր կլինի բավականին լավ հուշում):
Կցեք մի թել ադապտերի անցքերի միջով, որպեսզի գործի որպես լարվածություն: (Ես օգտագործել եմ «տրանսֆորմատորային մետաղալար»):
Եթե այն կպցնում եք սխալ ճանապարհով, մի փորձեք պոչը չվաճառել: Մեկ -մեկ հանեք կապումներն ու դրանք տեղափոխեք տախտակի մյուս կողմը: (Այո, ես թույլ տվեցի այդ սխալը և նորից կպցրեցի պոչը, այդ իսկ պատճառով լուսանկարում մի փոքր խառնաշփոթ է):
Քայլ 2: Միացում Arduino- ին
Այս բաժինը բացատրում է, թե ինչպես միանալ Arduino Nano- ին: Դա շատ նման կլինի Mini- ի կամ Uno- ի համար, բայց ես դեռ չեմ փորձել:
Ուսումնասիրեք սխեմայի սխեման:
USB պորտին միացված Arduino Nano- ն աշխատում է 5 Վ լարման տակ: LCD- ն աշխատում է 3.3 Վ -ով: Այսպիսով, դուք պետք է LCD- ն սնուցեք Nano- ի 3V3 փինից և նվազեցնեք յուրաքանչյուր վահանակի լարումը 5V- ից մինչև 3.3V:
LCD- ի pinout- ը հետևյալն է.
- 1 CS
- 2 RST
- 3 ձայնասկավառակ
- 4
- 5 CLK
- 6 SDA
- 7 3V3
- 8 0V Gnd
- 9 VB0+
- 10 VB0-
- 11
- 12
- 13
- 14
CS- ն Chip-Select է: Այն ցածր է քաշվում ՝ UC1701 չիպը ընտրելու (միացնելու) համար: (CS- ն կարող է կոչվել CS0 կամ En կամ նմանատիպ):
RST- ն վերակայված է: Այն ցածր է քաշվում ՝ չիպը վերականգնելու համար: (RST- ը կարող է կոչվել Reset):
CD- ն հրաման/տվյալ է: Այն ցածր է քաշվում SPI- ով չիպին հրամաններ ուղարկելու ժամանակ: Տվյալներ ուղարկելու ժամանակ դա բարձր է: (CD- ն կարող է կոչվել A0):
CLK և SDA- ն SPI ավտոբուսի կապումներն են: (SDA- ն կարող է կոչվել SPI-Data: CLK- ը կարող է լինել SCL կամ SPI-Clock):
VB0+ և VB0- օգտագործվում են UC1701- ի ներքին լիցքավորման պոմպի կողմից: Լիցքավորման պոմպը առաջացնում է LCD- ի համար անհրաժեշտ տարօրինակ լարումներ: Միացրեք 100n կոնդենսատոր VB0+-ի և VB0- ի միջև: UC1701 փաստաթղթերը խորհուրդ են տալիս 2uF, բայց ես չէի կարող տարբերություն տեսնել այս կոնկրետ LCD- ի հետ:
Եթե ձեր LCD- ն ունի VB1+ և VB1- կապիչներ, դրանց միջև միացրեք նաև 100n կոնդենսատոր: (Եթե ձեր LCD- ն ունի VLCD կապ, կարող եք փորձել 100n կոնդենսատորը միացնել VLCD- ի և Gnd- ի միջև: Դա իմ LCD- ի հետ ոչ մի տարբերություն չուներ):
LCD- ն Nano- ին միացրեք հետևյալ կերպ.
- 1 CS = D10 *
- 2 RST = D6 *
- 3 CD = D7 *
- 5 CLK = D13 *
- 6 SDA = D11 *
- 7 3V3 = 3V3
- 8 0V = Gnd
(«*» նշանակում է լարման նվազեցման համար օգտագործել պոտենցիալ բաժանարար: Եթե Arduino- ն աշխատում է 3V3- ով անկախ սնուցմամբ, ապա ձեզ դիմադրիչների կարիք չեն լինի:)
3.3V թողարկվում է Nano- ի կողմից և կարող է ապահովել բավարար հոսանք LCD- ի համար: (Theուցադրումը վերցնում է մոտ 250uA):
5V- ն նույնպես թողարկվում է Nano- ի կողմից և կարող է օգտագործվել լուսավորությունը լուսավորելու համար: Սահմանափակեք հոսանքի լուսավորությունը 100 օհմ ռեզիստորով:
Եթե Nano- ի վրա քորոցներ չկան, կարող եք RST- ը միացնել 3V3- ին, այնուհետև D6- ը կարող եք օգտագործել այլ բանի համար: U1701- ը կարող է վերականգնվել ծրագրակազմում ՝ SPI- ի հրամանով: Ես երբեք որևէ խնդիր չեմ ունեցել դրա հետ, բայց եթե դուք օգտագործում եք ձեր սեփական միացումը աղմկոտ միջավայրում, գուցե ավելի լավ է օգտագործել ապարատային վերակայումը:
Քայլ 3: Softwareրագրակազմ
Տեսականորեն, UC1701- ը կարող եք քշել U8g2 գրադարանից (կամ Ucglib- ից կամ առկա այլ գրադարաններից): Օրեր շարունակ պայքարում էի այն գործի բերելու համար և անհաջողության մատնվեցի: U8g2 գրադարանը հրեշ է, քանի որ այն կարող է քշել հսկայական բազմազան չիպսեր և շատ դժվար է հետևել ծածկագրին: Այսպիսով, ես հանձնվեցի և գրեցի իմ սեփական փոքր գրադարանը: Այն շատ ավելի քիչ տեղ է զբաղեցնում Arduino- ում (մոտ 3400 բայթ գումարած տառատեսակներ):
Դուք կարող եք ներբեռնել իմ գրադարանը այստեղից (Ներբեռնման կոճակը այս էջում): Ներառված են օրինակելի ուրվագիծ և օգտագործողի ուղեցույց: Https://www.arduino.cc/hy/Guide/Libraries վեբ էջը նկարագրում է, թե ինչպես ներմուծել գրադարան. գնացեք «.zip գրադարանի ներմուծում» բաժինը:
Սկզբնականացրեք LCD- ը
UC1701Begin ();
UC1701Begin- ը կարող է պարամետրեր վերցնել ՝ կապերը փոխելու կամ RST կապը անտեսելու համար: Գրադարանը օգտագործում է միայն ապարատային SPI (ծրագրային ապահովման SPI չի տրամադրվում): Էկրանը կարող է շրջվել x և y առանցքների մեջ: Դա օգտակար է, եթե ցանկանում եք LCD- ն տեղադրել այլ կողմնորոշմամբ:
U8g2 գրադարանից կրկնօրինակվել են մի քանի ընթացակարգեր.
- DrawLine
- DrawPixel
- DrawHLine
- DrawVLine
- DrawBox
- DrawFrame
- DrawCircle
- DrawDisc
- DrawFilledEllipse
- DrawEllipse
- DrawTriangle
- UC1701SetCursor
- UC1701ClearDisplay
Որոշ ընթացակարգեր փոքր -ինչ տարբերվում են.
- առոչինչ DrawChar (uint8_t c, word Font);
- անվավեր DrawString (char * s, word Font);
- անվավեր DrawInt (int i, word Font);
Լարային գծագրման ընթացակարգերը փոխանցվում են Տառատեսակի ինդեքսով: Տառատեսակները հայտարարված են Arduino- ի ֆլեշ հիշողության մեջ, այնպես որ դրանք չեն զբաղեցնում թանկարժեք SRAM- ը: Տրամադրվում է երեք տառատեսակ (փոքր, միջին և մեծ): Դրանք կապված են միայն և զբաղեցնում են ֆլեշ հիշողությունը, եթե դրանք օգտագործում եք (յուրաքանչյուրը մոտ 500 -ից 2000 բայթ):
«Գույնը» տարբեր կերպ է վարվում U8g2 գրադարանից: Երբ LCD- ը մաքրվում է, այն ունի մուգ ֆոն: Եթե MakeMark- ը (գլոբալ փոփոխական) ճիշտ է, նկարչությունը կատարվում է սպիտակ գույնով: Եթե MakeMark- ը կեղծ է, նկարչությունը կատարվում է մթության մեջ:
Որոշ ընթացակարգեր եզակի են UC1701- ի համար.
SetInverted նկարում է ոչ թե սպիտակ-սև, այլ սև-սպիտակի վրա:
անվավեր SetInverted (bool inv);
UC1701- ի պայծառությունն ու հակադրությունը սահմանվում են ՝
- անվավեր SetContrast (uint8_t արժեք); // առաջարկվում է 14 -ը
- անվավեր SetResistor (uint8_t արժեք); // առաջարկվում է 7
Նրանք միասին աշխատում են բավականին անբավարար կերպով:
SetEnabled անջատում է LCD- ը.
անվավեր SetEnabled (bool en);
Էկրանը քնում է 4uA: Դուք նաև պետք է անջատեք հետևի լույսը `քշեք այն Nano- ի քորոցից: Միացնելուց հետո UC1701- ը կվերակայվի: էկրանը մաքրված է, և հակադրությունը և դիմադրիչը կվերակայվեն իրենց կանխադրված արժեքներին:
Այսպիսով, որպես եզրակացություն, COG էկրանները էժան են և արժանապատիվ չափ: Նրանց հեշտ է միացնել Arduino- ին:
Խորհուրդ ենք տալիս:
Կիթառի հերոս կիթառի օգտագործումը խոշորացումը վերահսկելու համար (միայն Windows- ի համար). 9 քայլ
Կիթառի հերոս կիթառի օգտագործումը խոշորացումը վերահսկելու համար (Միայն Windows). Քանի որ մենք գտնվում ենք գլոբալ համաճարակի մեջ, մեզանից շատերը խրված են տան մաքրման և խոշորացման հանդիպումներին միանալու մեջ: Որոշ ժամանակ անց սա կարող է դառնալ շատ ձանձրալի և հոգնեցուցիչ: Տունը մաքրելիս ես գտա Guitar Hero- ի հին կիթառը, որը գցված էր
Steam Punk ձեր UPS- ը ՝ ձեր Wi-Fi երթուղիչի համար մի քանի ժամ անընդհատ աշխատելու համար. 4 քայլ (նկարներով)
Steam Punk Ձեր UPS- ը ձեր Wi-Fi երթուղիչի համար մի քանի ժամ տևելու համար: Հիմնականում անհամատեղելի բան կա, երբ ձեր UPS- ը փոխում է իր 12V DC մարտկոցի հզորությունը 220V AC հոսանքի, այնպես որ ձեր երթուղղիչով և մանրաթելային ONT- ով աշխատող տրանսֆորմատորները կարող են այն նորից վերածել 12V DC Դուք նույնպես դեմ եք [սովորաբար
Օգտագործեք 1 անալոգային մուտքագրում Arduino- ի համար 6 կոճակի համար. 6 քայլ
Arduino- ի համար օգտագործեք 1 անալոգային մուտք 6 կոճակի համար. Վերջերս մտքովս անցավ, որ ես պետք է կարողանամ օգտագործել անալոգային մուտքերից մեկը `բազմաթիվ թվային մուտքեր բերելու համար: Ես արագ որոնեցի և գտա, թե որտեղ են մարդիկ
Պարտիզանական մարտկոցի սեփականատեր ձեր սեղանի համար / Arduino նախագծերի համար. 3 քայլ
Պարտիզանական մարտկոցի սեփականատեր ձեր սեղանի համար / Arduino նախագծերի համար. Ես փորձեր եմ կատարում DS1307- ի և Arduino- ի հետ, ես պետք է միջոց գտնեի CR1212 մարտկոցը միացնելու համար: Ես մտա իմ միակցիչների տուփի մեջ և չգտա ոչինչ, որը կարող էր օգնել: Հետո, eur ê ka! Ես ունեի լուսավորություն
Ուղեցույց L298 2Amp Motor Driver Shield- ի համար Arduino- ի համար. 6 քայլ
L298 2Amp Motor Driver Shield- ը Arduino- ի համար. Նկարագրություն L298 2Amp Motor Driver Shield- ը Arduino- ի համար հիմնված է L298 շարժիչի վարորդի ինտեգրալ սխեմայի վրա, լիարժեք կամուրջի շարժիչ: Այն կարող է վարել երկու առանձին 2A DC շարժիչներ կամ 1 2A քայլ շարժիչ: Շարժիչի արագությունը և ուղղությունները կարող են վերահսկվել առանձին