Mündəricat:

Effektiv və Ucuz: STM32L4: 13 Addımlı Ekran
Effektiv və Ucuz: STM32L4: 13 Addımlı Ekran

Video: Effektiv və Ucuz: STM32L4: 13 Addımlı Ekran

Video: Effektiv və Ucuz: STM32L4: 13 Addımlı Ekran
Video: Вот самая умная инвестиция в криптовалюту, которую вы ... 2024, Noyabr
Anonim
Image
Image
Giriş
Giriş

Bu gün tamamilə sevdiyim üç mövzu haqqında danışacağıq: az enerji sərf edən bir LCD ekran, Core Arduino ilə STM32 və Arduino Mega Pro Mini. Bu, Əşyaların İnterneti üçün məsum üçlükdür. Sonra sizi HT1621 altı rəqəmli LCD displeylə tanış edəcəyəm və həm Arduino Mega Pro Mini, həm də STM32 L432KC üzərində işləyən bir kodla nümunə idarəetmə yaradacağam. Diqqət çəkən bir detal, iki mikrokontrolör üçün mənbə kodunun tam olaraq eyni olmasıdır. Çubuğu da dəyişməyəcəyəm. Tamamilə fantastikdir!

Addım 1: Giriş

Giriş
Giriş

HT1621 LCD displeyi multimetrlərdə, elektron tərəzilərdə, elektron saatlarda, termometrlərdə və elektron ölçü cihazlarında çox istifadə olunan bir ekrana malikdir.

• 7 seqmentdən ibarət 6 rəqəmdən ibarətdir

• 3 telli SPI ünsiyyətindən istifadə edir

• Qaranlıq mühit üçün uyğun olan arxa işığı var

• İşləmə gərginliyi 4.7 ~ 5.2V -dir

• Arxa işıq ilə 4mA istehlak edir

ALTI rəqəmdən çox, ÜÇ ondalık nöqtəsi və ÜÇ çubuğu olan bir batareya sayğacına sahib olduğunu unutmayın.

Addım 2: İstifadə üçün Kitabxana

ANXZHU github istifadəçi kitabxanasından istifadə edəcəyik, bu olduqca sadədir. Aşağıdakı linkdə orijinal versiyada görmək olar:

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

Kitabxananın adı bir az qəribədir, ona görə də adını dəyişmək qərarına gəldim (fayllar, siniflər, inşaatçılar və s.). Orijinal adı "A6seglcd" dir. Bu adı "lcdlib" ilə əvəz etdim.

Addım 3: Kitabxana

"Lcdlib" kitabxanasını əlavə edin.

Linkə daxil olun və kitabxananı yükləyin.

Faylı açın və Arduino IDE kitabxana qovluğuna yapışdırın.

C: / Proqram Faylları (x86) / Arduino / kitabxanaları

Addım 4: Nümayiş

Nümayiş
Nümayiş

Arduino mega montajı

Addım 5: Nümayiş

Nümayiş
Nümayiş

SMT32 montajı

Addım 6: STM32 NUCLEO-L432KC

STM32 NUCLEO-L432KC
STM32 NUCLEO-L432KC

Burada qeyd etmək istəyirəm ki, STM32-L432KC-nin seriyalı USB çeviricisi yoxdur. Bunun əvəzinə STMicroelectronics ST-link protokolundan istifadə edən tam bir USB var. Beləliklə, olduqca mürəkkəbdir və IR və ya Microvision istifadə edirsinizsə çox səmərəli bir ayıklama imkanı verir. Və bir Arduino Core (MBED, Microsoftun yerli alətindən istifadə edərək) olaraq yüksək peşəkar tərtibçilərdən istifadə edir. Başqa bir şey deməyə ehtiyacım varmı?

Addım 7: Arduino Mega 2560 PRO MINI

Arduino Mega 2560 PRO MINI
Arduino Mega 2560 PRO MINI

Bunu da sevirəm, çünki "saf" və "əsl" bir Arduino. Bir çox IO ilə Mega. Ancaq Mini -dir, buna görə hər yerə uyğun gəlir. IO hər yerdə xoşuma gəlir. Bununla, Led, SPI, i2c və s. Birləşdirməyi sevirəm. Bu baxımdan bu Mega gözəldir.

Addım 8: Quraşdırma

Məclis
Məclis

Məclisimizdə, erkək sancağın sırası daxili tərəfdə, dişi pin isə ən kənar tərəfdədir ki, bu da işimizi və protoboardla əlaqəmizi asanlaşdırır. Arduino Mega və bu Arduino Nano klonunun STM32-L432KC olan eyni sapa sahib olduğunu xatırlayaraq SPI bağlantısı qururuq.

Addım 9: Proqram

Ekranda müxtəlif simvollar (hərflər, rəqəmlər və nöqtələr) yazacağımız çox sadə bir proqram hazırlayacağıq.

Unutmayın ki, bu proqram həm Arduino Mega Pro Mini, həm də STM32 L432KC üzərində işləyir.

Addım 10: Kitabxanalar və Dəyişənlər

Daha sonra ünsiyyətdən məsul olan kitabxananı daxil edəcəyik və ekranın idarə olunmasını sürətləndirəcəyik. "Const char" funksiyası bir sıra cədvəlini ortaya qoyur. Məhz bu vektorlar vasitəsi ilə ekranda çap olunan xarakterə istinad edəcəksiniz.

#include // biblioteca para controle do display

lcdlib lcd; // instancia do controlador göstərir /*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, -, yarasa, pf, '', */ const char sayı = {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 sayı 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 */

Addım 11: Quraşdırma

Quraşdırmaya başlamaq üçün pinləri təyin edəcəyik, ilkin qurulumu edəcəyik və ekranın təmizlənməsini təyin edəcəyik. Ekranda "Salam" olduğunu gördük və müəyyən bir gecikmədən sonra ekran mesajı silindi.

void setup () {lcd.run (2, 3, 4, 5); // [cs wr data led+] definção dos pinos lcd.conf (); // konfiqurasiya rəsmi lcd.clr (); // limpa və ya ekran // escreve HELLO lcd.display (10, sayı [17]); lcd.display (8, sayı [15]); lcd.display (6, sayı [19]); lcd.display (4, sayı [19]); lcd.display (2, sayı [0]); // fEL HELLO gecikməsi (1000); lcd.clr (); // göstərə bilərsiniz

Addım 12: Döngə

Burada "writeLoop" adlı bir funksiya yaradırıq ki, bu da ekranda LOOP sözünü yazacaq, sonra isə serialımızın bütün simvollarını yazacaq. Batareya markerlərini yazdıran "writeBattery" funksiyasına da sahibik.

Nəhayət, üzən nöqtə dəyərini yazan "lcd.dispnum" əmrinə sahibik.

Addım 13: Dosyaları Yükləyin

PDF

MƏN YOX

Tövsiyə: