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

Արդյունավետ և էժան. Ցուցադրեք STM32L4- ով `13 քայլ
Արդյունավետ և էժան. Ցուցադրեք STM32L4- ով `13 քայլ

Video: Արդյունավետ և էժան. Ցուցադրեք STM32L4- ով `13 քայլ

Video: Արդյունավետ և էժան. Ցուցադրեք STM32L4- ով `13 քայլ
Video: Բամբակը դնելով պորտի մեջ, որքան էլ զարմանալի է, բուժիչ ազդեցություն կգործես #Shorts 2024, Նոյեմբեր
Anonim
Image
Image
Ներածություն
Ներածություն

Այսօր մենք կխոսենք երեք առարկաների մասին, որոնք ես բացարձակապես պաշտում եմ. LCD էկրան, որը քիչ էներգիա է ծախսում, STM32 Core Arduino- ի հետ և Arduino Mega Pro Mini: Սա իրերի ինտերնետի անսխալական եռյակ է: Այնուհետև ես ձեզ կներկայացնեմ HT1621 վեցանիշ LCD էկրանը և կստեղծեմ օրինակ կառավարման համակարգ ՝ կոդով, որն աշխատում է ինչպես Arduino Mega Pro Mini- ի, այնպես էլ STM32 L432KC- ի վրա: Ուշագրավ մանրամասնությունն այն է, որ երկու միկրոկոնտրոլերի սկզբնաղբյուրը նույնն է: Ես նույնպես չեմ փոխի ամրացումը: Բացարձակապես ֆանտաստիկ է!

Քայլ 1: Ներածություն

Ներածություն
Ներածություն

HT1621 LCD էկրանն ունի էկրան, որը սովորաբար օգտագործվում է բազմիմետրերում, էլեկտրոնային կշեռքներում, էլեկտրոնային ժամացույցներում, ջերմաչափերում և էլեկտրոնային չափիչ սարքերում:

• Այն ունի 6 թվանշան ՝ 7 հատվածով

• Այն օգտագործում է 3 լարային SPI հաղորդակցություն

• Այն ունի հետևի լուսավորություն, որը հարմար է մութ միջավայրերի համար

• Դրա աշխատանքային լարումը 4.7 ~ 5.2V է

• Այն սպառում է 4 մԱ լուսային լուսավորությամբ

Նկատի ունեցեք, որ այն ունի ավելի քան Վեց թվանշան, ԵՐԿ տասնորդական միավոր և մարտկոցի հաշվիչ ՝ ԵՐԵՔ ձողով:

Քայլ 2: Օգտագործման գրադարան

Մենք կօգտագործենք ANXZHU github օգտվողի գրադարանը, որը բավականին պարզ է: Այն կարելի է տեսնել օրիգինալ տարբերակում ՝ ստորև բերված հղումով:

github.com/anxzhu/segment-lcd-with-ht1621

Գրադարանի անունը մի փոքր տարօրինակ է, ուստի որոշեցի վերանվանել այն (ֆայլեր, դասարաններ, շինարարներ և այլն): Նրա սկզբնական անունը «A6seglcd» է: Այս անունը փոխարինեցի «lcdlib» - ով:

Քայլ 3: Գրադարան

Ավելացնել գրադարան "lcdlib":

Մուտք գործեք հղումը և ներբեռնեք գրադարանը:

Բացեք ֆայլը և տեղադրեք այն Arduino IDE- ի գրադարանների պանակում:

C: / Fiրագրի ֆայլեր (x86) / Arduino / գրադարաններ

Քայլ 4: Demուցադրություն

Ցույց
Ցույց

Arduino մեգա հավաքում

Քայլ 5: rationուցադրություն

Ցույց
Ցույց

SMT32 հավաքում

Քայլ 6: STM32 NUCLEO-L432KC

STM32 NUCLEO-L432KC
STM32 NUCLEO-L432KC

Ես ուզում եմ այստեղ ընդգծել, որ STM32-L432KC- ն չունի սերիական USB փոխարկիչ: Փոխարենը, այն ունի լիարժեք USB, որն օգտագործում է STMicroelectronics ST-link արձանագրությունը: Այսպիսով, այն բավականին բարդ է և թույլ է տալիս շատ արդյունավետ կարգաբերում, եթե օգտագործում եք IR կամ Microvision: Եվ լինելով Arduino Core (MBED, օգտագործելով Microsoft- ի հարազատ գործիքը), այն օգտագործում է բարձր պրոֆեսիոնալ կազմողներ: Ուրիշ բան ասելու կարիք ունե՞մ:

Քայլ 7: Arduino Mega 2560 PRO MINI

Arduino Mega 2560 PRO MINI
Arduino Mega 2560 PRO MINI

Ես նույնպես սիրում եմ սա, քանի որ դա «մաքուր» և «իրական» Արդուինո է: Դա մեգա է, շատ IO- ներով: Բայց դա Mini է, այնպես որ այն տեղավորվում է ցանկացած վայրում: Ինձ դուր է գալիս ամենուր: Սրանով ես սիրում եմ կապել Led, SPI, i2c և այլն: Այս առումով այս Mega- ն հիանալի է:

Քայլ 8: Հավաքում

Ժողով
Ժողով

Մեր հավաքույթում արական քորոցի շարանը գտնվում է ներքին կողմում, իսկ էգը ՝ ամենաերկար կողմում, ինչը հեշտացնում է մեր աշխատանքը և կապը նախատախտակի հետ: Մենք SPI կապ ենք հաստատում ՝ հիշելով, որ Arduino Mega- ն և Arduino Nano- ի այս կլոնը ունեն միևնույն ամրացումը, որը STM32-L432KC- ն է:

Քայլ 9: րագիր

Մենք կկազմենք շատ պարզ ծրագիր, որտեղ էկրանին կգրենք տարբեր խորհրդանիշներ (տառեր, թվեր և կետեր):

Հիշեք, որ այս ծրագիրը աշխատում է ինչպես Arduino Mega Pro Mini- ի, այնպես էլ STM32 L432KC- ի վրա:

Քայլ 10: Գրադարաններ և փոփոխականներ

Այնուհետև մենք կներառենք գրադարան, որը պատասխանատու է հաղորդակցության համար և կիրականացնենք ցուցադրման վերահսկողությունը: «Const char» գործառույթը բացահայտում է զանգվածային աղյուսակը: Այս վեկտորների միջոցով դուք կկատարեք ցուցադրման վրա տպվող կերպարի հղումը:

#ներառել // biblioteca para controle do display

lcdlib lcd; // instancia do controlador do display /*0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, b, C, c, d, E, F, H, h, L, n, N, P, r, t, U, -, bat, pf, '', */ const char num = {0x7D, 0x60, 0x3E, 0x7A, 0x63, 0x5B, 0x5F, 0x70, 0x7F, 0x7B, 0x77, 0x4F, 0x1D, 0x0E, 0x6E, 0x1F, 0x17, 0x67, 0x47, 0x0D, 0x46, 0x75, 0x37, 0x06, 0x0F, 0x6D, 0x02, 0x80, 0xFF, 0x00}; / *indice num 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 *//

Քայլ 11: Կարգավորում

Կարգավորումը սկսելու համար մենք սահմանում ենք կապերը, կատարում ենք նախնական կարգավորումը և կարգավորում ենք ցուցադրման մաքրումը: Մենք որոշեցինք, որ էկրանը ցույց է տալիս «Բարև», և որոշակի ուշացումից հետո ցուցադրման հաղորդագրությունը մաքրվում է:

void setup () {lcd.run (2, 3, 4, 5); // [cs wr data led+] definição dos pinos lcd.conf (); // configuração inicial lcd.clr (); // limpa o display // escreve HELLO lcd.display (10, num [17]); lcd. ցուցադրում (8, թիվ [15]); lcd.display (6, num [19]); lcd.display (4, num [19]); lcd.display (2, num [0]); // fim HELLO ուշացում (1000); lcd.clr (); // լիմպա կամ ցուցադրում}

Քայլ 12: Օղակ

Այստեղ մենք ստեղծում ենք «writeLoop» կոչվող գործառույթ, որը էկրանին գրում է LOOP բառը, այնուհետև գրում է մեր զանգվածի բոլոր խորհրդանիշները: Մենք ունենք նաև «writeBattery» գործառույթը, որը տպում է մարտկոցի մարկերները:

Վերջապես, մենք ունենք «lcd.dispnum» հրամանը, որը գրում է լողացող կետի արժեքը:

Քայլ 13: Ներբեռնեք ֆայլերը

PDF

ԻՆՈ

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