Mundarija:

Samarali va arzon: STM32L4 bilan displey: 13 qadam
Samarali va arzon: STM32L4 bilan displey: 13 qadam

Video: Samarali va arzon: STM32L4 bilan displey: 13 qadam

Video: Samarali va arzon: STM32L4 bilan displey: 13 qadam
Video: Anginani Xalqona 3 Davosi! Oddiy Samarali Va Arzon !!! 2024, Noyabr
Anonim
Image
Image
Kirish
Kirish

Bugun men o'zim yoqtirgan uchta mavzu haqida gaplashamiz: kam quvvat sarflaydigan LCD displey, Core Arduino bilan STM32 va Arduino Mega Pro Mini. Bu narsalar Interneti uchun benuqson uchlik. Keyin men sizni HT1621 olti xonali LCD displeyi bilan tanishtiraman va Arduino Mega Pro Mini va STM32 L432KC da ishlaydigan kodli boshqaruv elementini yarataman. Shunisi e'tiborga loyiqki, ikkita mikrokontroller uchun manba kodi bir xil. Men ham cheklovni o'zgartirmayman. Bu mutlaqo fantastik!

1 -qadam: kirish

Kirish
Kirish

HT1621 LCD displeyi odatda multimetrlarda, elektron tarozida, elektron soatlarda, termometrlarda va elektron o'lchash asboblarida ishlatiladigan ekranga ega.

• U 7 ta segmentdan iborat 6 ta raqamdan iborat

• U 3 simli SPI aloqasidan foydalanadi

• Qorong'i muhitga mos keladigan orqa nuri bor

• Uning ishchi kuchlanishi 4.7 ~ 5.2V

• Orqa yorug'lik bilan 4mA iste'mol qiladi

E'tibor bering, u oltita raqamdan, uchdan o'n kasrli va uch barli batareya o'lchagichidan iborat.

2 -qadam: Foydalanish uchun kutubxona

Biz ANXZHU github foydalanuvchi kutubxonasidan foydalanamiz, bu juda oddiy. Buni asl nusxada quyidagi havolada ko'rish mumkin:

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

Kutubxona nomi biroz g'alati, shuning uchun men uning nomini o'zgartirishga qaror qildim (fayllar, sinflar, quruvchilar va boshqalar). Uning asl nomi "A6seglcd". Men bu nomni "lcdlib" bilan almashtirdim.

3 -qadam: kutubxona

"Lcdlib" kutubxonasini qo'shing.

Havolaga kiring va kutubxonani yuklab oling.

Faylni oching va Arduino IDE kutubxonalari papkasiga joylashtiring.

C: / Dastur fayllari (x86) / Arduino / kutubxonalari

4 -qadam: Namoyish

Namoyish
Namoyish

Arduino mega yig'ilishi

5 -qadam: Namoyish

Namoyish
Namoyish

SMT32 yig'ish

6-qadam: STM32 NUCLEO-L432KC

STM32 NUCLEO-L432KC
STM32 NUCLEO-L432KC

Men shuni ta'kidlamoqchimanki, STM32-L432KC-da ketma-ket USB-konvertori yo'q. Buning o'rniga u STMicroelectronics ST-link protokolidan foydalanadigan to'liq USB-ga ega. Shunday qilib, bu juda murakkab va agar siz IR yoki Microvision -dan foydalanayotgan bo'lsangiz, juda samarali disk raskadrovka qilish imkonini beradi. Va Arduino Core (MBED, Microsoft -ning mahalliy vositasi yordamida) bo'lib, u yuqori professional kompilyatorlardan foydalanadi. Boshqa gapirishim kerakmi?

7 -qadam: Arduino Mega 2560 PRO MINI

Arduino Mega 2560 PRO MINI
Arduino Mega 2560 PRO MINI

Men ham buni yaxshi ko'raman, chunki bu "toza" va "haqiqiy" Arduino. Bu MeO, juda ko'p IO. Ammo bu mini, shuning uchun u har qanday joyga mos keladi. Menga hamma joyda IO yoqadi. Bu bilan men Led, SPI, i2c va boshqalarni ulashni yaxshi ko'raman, shu jihatdan bu Mega ajoyib.

8 -qadam: yig'ish

O'rnatish
O'rnatish

Bizning yig'ilishda erkak pin qatori ichki tomonda, urg'ochi pin esa tashqi tomonda bo'lib, bizning ishimizni va protobard bilan bog'lanishni osonlashtiradi. Biz Arduino Mega va bu Arduino Nano klonining STM32-L432KC bir xil piniga ega ekanligini eslab, SPI aloqasini o'rnatamiz.

9 -qadam: Dastur

Biz juda oddiy dastur tuzamiz, u erda displeyga turli belgilar (harflar, raqamlar va nuqtalar) yozamiz.

Esda tutingki, bu dastur Arduino Mega Pro Mini va STM32 L432KC da ishlaydi.

10 -qadam: Kutubxonalar va o'zgaruvchilar

Keyin biz aloqa uchun mas'ul kutubxonani o'z ichiga olamiz va displeyni boshqarishni tezlashtiramiz. "Const char" funktsiyasi qator jadvalini ochib beradi. Aynan shu vektorlar orqali siz displeyda chop etiladigan belgiga havola qilasiz.

#include // biblioteca para controle do display

lcdlib LCD; // instancia do controlador ko'rsatish /*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}; / *indeks raqami 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 -qadam: sozlash

O'rnatishni boshlash uchun biz pinlarni aniqlaymiz, dastlabki sozlamalarni o'rnatamiz va displeyni tozalashni o'rnatamiz. Biz displeyda "Salom" ko'rsatilishini aniqladik va ma'lum vaqtdan keyin displey xabari o'chirildi.

void setup () {lcd.run (2, 3, 4, 5); // [cs wr data led+] ta'riflar dos pinos lcd.conf (); // rasmiy lcd.clr () konfiguratsiyasi; // limpa yoki displey // escreve HELLO lcd.display (10, raqam [17]); lcd.display (8, raqam [15]); lcd.display (6, raqam [19]); lcd.display (4, raqam [19]); lcd.display (2, raqam [0]); // fim SALOM kechikish (1000); lcd.clr (); // ko'rsatish yoki ko'rsatish}

12 -qadam: Loop

Bu erda biz "writeLoop" deb nomlangan funktsiyani yaratamiz, u displeyda LOOP so'zini yozadi, so'ngra massivimizning barcha belgilarini yozadi. Shuningdek, bizda batareyaning markerlarini bosib chiqaradigan "writeBattery" funktsiyasi mavjud.

Nihoyat, bizda suzuvchi nuqta qiymatini yozadigan "lcd.dispnum" buyrug'i bor.

13 -qadam: Fayllarni yuklab oling

PDF

INO

Tavsiya: