Talaan ng mga Nilalaman:

Mahusay at Mura: Ipakita Sa STM32L4: 13 Mga Hakbang
Mahusay at Mura: Ipakita Sa STM32L4: 13 Mga Hakbang

Video: Mahusay at Mura: Ipakita Sa STM32L4: 13 Mga Hakbang

Video: Mahusay at Mura: Ipakita Sa STM32L4: 13 Mga Hakbang
Video: Prevailing Prayer | Dwight L Moody | Christian Audiobook Video 2024, Nobyembre
Anonim
Image
Image
Panimula
Panimula

Ngayon, pag-uusapan natin ang tungkol sa tatlong mga paksa na lubos kong sambahin: isang LCD display na gumastos ng kaunting enerhiya, STM32 kasama ang Core Arduino, at Arduino Mega Pro Mini. Ito ay isang hindi nagkakamali na trio para sa Internet ng Mga Bagay. Ipapakilala ko sa iyo ang HT1621 anim na digit na LCD display at lumikha ng isang halimbawa ng kontrol sa isang code na gumagana sa parehong Arduino Mega Pro Mini at STM32 L432KC. Ang isang kapansin-pansin na detalye ay ang source code para sa dalawang microcontroller ay eksaktong pareho. Hindi ko rin babaguhin ang pag-pin. Ito ay ganap na kamangha-manghang!

Hakbang 1: Panimula

Panimula
Panimula

Ang HT1621 LCD display ay mayroong isang screen na karaniwang ginagamit sa mga multimeter, elektronikong kaliskis, elektronikong orasan, thermometers, at mga elektronikong aparato sa pagsukat.

• Mayroon itong 6 na digit na may 7 mga segment

• Gumagamit ito ng 3-wire SPI na komunikasyon

• Mayroon itong backlight na angkop para sa madilim na mga kapaligiran

• Ang boltahe ng pagpapatakbo nito ay 4.7 ~ 5.2V

• Naubos nito ang 4mA na may backlight

Tandaan na mayroon itong higit sa SIX na digit, TATLONG decimal point, at isang meter ng baterya na may TATLONG bar.

Hakbang 2: Library para sa Paggamit

Gagamitin namin ang ANXZHU github user library, na kung saan ay medyo simple. Maaari itong makita sa orihinal na bersyon sa link sa ibaba:

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

Ang pangalan ng silid-aklatan ay kakaiba, kaya't napagpasyahan kong palitan ang pangalan (mga file, klase, tagabuo, atbp.). Ang orihinal na pangalan nito ay "A6seglcd". Pinalitan ko ang pangalang ito ng "lcdlib".

Hakbang 3: Library

Magdagdag ng library ng "lcdlib".

I-access ang link at i-download ang library.

I-zip ang file at i-paste ito sa folder ng mga aklatan ng Arduino IDE.

C: / Program Files (x86) / Arduino / aklatan

Hakbang 4: Pagpapakita

Pagpapakita
Pagpapakita

Assembly ng mega ng Arduino

Hakbang 5: Pagpapakita

Pagpapakita
Pagpapakita

Pagpupulong ng SMT32

Hakbang 6: STM32 NUCLEO-L432KC

STM32 NUCLEO-L432KC
STM32 NUCLEO-L432KC

Gusto kong i-highlight dito na ang STM32-L432KC ay walang serial USB converter. Sa halip, mayroon itong isang buong USB, na gumagamit ng STMicroelectronics ST-link protocol. Kaya, ito ay medyo sopistikado at nagbibigay-daan sa napakahusay na pag-debug kung gumagamit ka ng IR o Microvision. At pagiging isang Arduino Core (MBED, gamit ang katutubong tool ng Microsoft), gumagamit ito ng mga propesyonal na tagatala. May kailangan pa ba akong sabihin?

Hakbang 7: Arduino Mega 2560 PRO MINI

Arduino Mega 2560 PRO MINI
Arduino Mega 2560 PRO MINI

Gustung-gusto ko rin ito, dahil ito ay isang "dalisay" at "totoong" Arduino. Ito ay isang Mega, na may maraming mga IO. Ngunit ito ay Mini, kaya umaangkop ito kahit saan. Gusto ko ng IO kahit saan. Sa pamamagitan nito, nais kong ikonekta ang Led, SPI, i2c, atbp. Sa paggalang na ito, kamangha-mangha ang Mega na ito.

Hakbang 8: Assembly

Assembly
Assembly

Sa aming pagpupulong, ang hilera ng male pin ay nasa panloob na bahagi, habang ang babaeng pin ay nasa pinakalabas na panig, pinapabilis ang aming trabaho at koneksyon sa isang protoboard. Ginagawa namin ang koneksyon ng SPI, naaalala na ang Arduino Mega at ang Arduino Nano clone ay may parehong pag-pin, na kung saan ay ang STM32-L432KC.

Hakbang 9: Programa

Gagawa kami ng isang napaka-simpleng programa, kung saan magsusulat kami ng iba't ibang mga simbolo (titik, numero, at puntos) sa display.

Tandaan na ang program na ito ay gumagana sa parehong Arduino Mega Pro Mini at ang STM32 L432KC.

Hakbang 10: Mga Aklatan at Variable

Isasama namin pagkatapos ang silid-aklatan na responsable para sa komunikasyon at paganahin ang kontrol ng display. Ang pagpapaandar na "const char" ay naglalantad ng isang talahanayan ng array. Ito ay sa pamamagitan ng mga vector na ito na gagawin mo ang sanggunian ng character na nagpi-print sa display.

#include // biblioteca para sa controle ang ipapakita

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 * /

Hakbang 11: Pag-setup

Upang simulan ang Pag-set up, tutukuyin namin ang mga pin, gawin ang paunang pag-set up, at itakda ang paglilinis ng display. Natukoy namin na ang display ay nagpapakita ng "Kumusta," at pagkatapos ng isang tiyak na pagkaantala, ang mensahe sa pagpapakita ay na-clear.

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.display (8, num [15]); lcd.display (6, num [19]); lcd.display (4, num [19]); lcd.display (2, num [0]); // fim HELLO pagkaantala (1000); lcd.clr (); // limpa o display}

Hakbang 12: Mag-loop

Dito, lumilikha kami ng isang pagpapaandar na tinatawag na "writeLoop," na magsusulat ng salitang LOOP sa display, pagkatapos ay isulat ang lahat ng mga simbolo ng aming arrray. Mayroon din kaming function na "writeBattery", na naglilimbag ng mga marker ng baterya.

Sa wakas, mayroon kaming utos na "lcd.dispnum" na nagsusulat ng lumulutang na halaga ng puntos.

Hakbang 13: I-download ang Mga File

PDF

INO

Inirerekumendang: