Përmbajtje:

Efikas dhe i lirë: Shfaq me STM32L4: 13 hapa
Efikas dhe i lirë: Shfaq me STM32L4: 13 hapa

Video: Efikas dhe i lirë: Shfaq me STM32L4: 13 hapa

Video: Efikas dhe i lirë: Shfaq me STM32L4: 13 hapa
Video: Дельта Волги. Каспий. Астраханский заповедник. Птичий рай. Половодье. Нерест рабы. Nature of Russia. 2024, Nëntor
Anonim
Image
Image
Prezantimi
Prezantimi

Sot, ne do të flasim për tre lëndë që unë absolutisht i adhuroj: një ekran LCD që shpenzon pak energji, STM32 me Core Arduino dhe Arduino Mega Pro Mini. Kjo është një treshe e pagabueshme për Internetin e Gjërave. Më pas do t'ju prezantoj me ekranin LCD gjashtë-shifror HT1621 dhe do të krijoj një shembull kontrolli me një kod që funksionon si në Arduino Mega Pro Mini ashtu edhe në STM32 L432KC. Një detaj i rëndësishëm është se kodi burim për dy mikrokontrolluesit është saktësisht i njëjtë. Unë nuk do të ndryshoj as fiksimin. Absolutelyshtë absolutisht fantastike!

Hapi 1: Hyrje

Prezantimi
Prezantimi

Ekrani LCD HT1621 ka një ekran që përdoret zakonisht në multimetra, peshore elektronike, orë elektronike, termometra dhe pajisje elektronike matëse.

• Ka 6 shifra me 7 segmente

• Përdor komunikim SPI me 3 tela

• Ka një dritë prapa që është e përshtatshme për mjedise të errëta

• Tensioni i tij i funksionimit është 4.7 ~ 5.2V

• Konsumon 4mA me ndriçim prapa

Vini re se ai ka më shumë se Gjashtë shifra, TRE pikë dhjetore dhe një matës baterie me TRE shufra.

Hapi 2: Biblioteka për përdorim

Ne do të përdorim bibliotekën e përdoruesve ANXZHU github, e cila është mjaft e thjeshtë. Mund të shihet në versionin origjinal në lidhjen më poshtë:

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

Emri i bibliotekës është pak i çuditshëm, kështu që vendosa ta riemërtoj (skedarë, klasa, ndërtues, etj.). Emri i tij origjinal është "A6seglcd". Unë e zëvendësova këtë emër me "lcdlib".

Hapi 3: Biblioteka

Shtoni bibliotekën "lcdlib".

Hyni në lidhjen dhe shkarkoni bibliotekën.

Zbërtheni skedarin dhe ngjiteni në dosjen e bibliotekave të Arduino IDE.

C: / Skedarët e programit (x86) / Arduino / bibliotekat

Hapi 4: Demonstrim

Demonstrim
Demonstrim

Mega montim Arduino

Hapi 5: Demonstrim

Demonstrim
Demonstrim

Asambleja SMT32

Hapi 6: STM32 NUCLEO-L432KC

STM32 NUCLEO-L432KC
STM32 NUCLEO-L432KC

Dua të nënvizoj këtu se STM32-L432KC nuk ka një konvertues USB serik. Në vend të kësaj, ajo ka një USB të plotë, e cila përdor protokollin STMicroelectronics ST-link. Kështu, është mjaft i sofistikuar dhe mundëson korrigjim shumë efikas nëse përdorni IR ose Microvision. Dhe duke qenë një Arduino Core (MBED, duke përdorur mjetin amë të Microsoft), ai përdor përpilues shumë profesionistë. A kam nevojë të them ndonjë gjë tjetër?

Hapi 7: Arduino Mega 2560 PRO MINI

Arduino Mega 2560 PRO MINI
Arduino Mega 2560 PRO MINI

Unë gjithashtu e dua këtë, pasi është një Arduino "e pastër" dhe "e vërtetë". Ashtë një Mega, me shumë IO. Por është Mini, kështu që përshtatet kudo. Më pëlqen IO kudo. Me këtë, më pëlqen të lidh Led, SPI, i2c, etj. Në këtë drejtim, ky Mega është i mrekullueshëm.

Hapi 8: Asambleja

Kuvendi
Kuvendi

Në asamblenë tonë, rreshti i kunjit mashkullor është në anën e brendshme, ndërsa kunja femër është në anën më të jashtme, duke na lehtësuar punën dhe lidhjen me një protoboard. Ne bëjmë lidhjen SPI, duke kujtuar se Arduino Mega dhe ky klon Arduino Nano kanë të njëjtën fiksim, i cili është STM32-L432KC.

Hapi 9: Programi

Ne do të bëjmë një program shumë të thjeshtë, ku do të shkruajmë simbole të ndryshme (shkronja, numra dhe pika) në ekran.

Mos harroni se ky program punon si në Arduino Mega Pro Mini ashtu edhe në STM32 L432KC.

Hapi 10: Bibliotekat dhe variablat

Pastaj do të përfshijmë bibliotekën përgjegjëse për komunikimin dhe do të japim kontrollin e ekranit. Funksioni "const char" ekspozon një tabelë të grupit. Throughshtë përmes këtyre vektorëve që do të bëni referencën e personazhit që printon në ekran.

#include // biblioteca para kontrollit të shfaqjes

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}; / *indeksi 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 */

Hapi 11: Konfigurimi

Për të filluar Konfigurimin, ne do të përcaktojmë kunjat, bëjmë konfigurimin fillestar dhe vendosim pastrimin e ekranit. Ne përcaktuam që ekrani tregon "Përshëndetje" dhe pas një vonese të caktuar, mesazhi i ekranit pastrohet.

void setup () {lcd.run (2, 3, 4, 5); // [cs wr të dhëna led+] përcaktoj dos pinos lcd.conf (); // configuração inicial lcd.clr (); // limpa o display // escreve HELLO lcd.display (10, num [17]); LCD. shfaqje (8, num [15]); lcd. shfaqje (6, num [19]); LCD. shfaqje (4, num [19]); lcd. shfaqje (2, num [0]); // fim vonesë HELLO (1000); lcd.clr (); // limpa o shfaqje}

Hapi 12: Lak

Këtu, ne krijojmë një funksion të quajtur "writeLoop", i cili do të shkruajë fjalën LOOP në ekran, pastaj shkruajmë të gjitha simbolet e grupit tonë. Ne gjithashtu kemi funksionin "writeBattery", i cili printon shënuesit e baterisë.

Së fundi, ne kemi komandën "lcd.dispnum" që shkruan vlerën e pikës lundruese.

Hapi 13: Shkarkoni skedarët

PDF

INO

Recommended: