Satura rādītājs:

Efektīva un lēta: displejs ar STM32L4: 13 soļi
Efektīva un lēta: displejs ar STM32L4: 13 soļi

Video: Efektīva un lēta: displejs ar STM32L4: 13 soļi

Video: Efektīva un lēta: displejs ar STM32L4: 13 soļi
Video: 20 товаров для автомобиля с Алиэкспресс, автотовары №32 2024, Novembris
Anonim
Image
Image
Ievads
Ievads

Šodien mēs runāsim par trim tēmām, kuras es absolūti dievinu: LCD displejs, kas tērē maz enerģijas, STM32 ar Core Arduino un Arduino Mega Pro Mini. Šis ir nekļūdīgs lietu interneta trio. Pēc tam es jūs iepazīstināšu ar HT1621 sešciparu LCD displeju un izveidošu vadības piemēru ar kodu, kas darbojas gan Arduino Mega Pro Mini, gan STM32 L432KC. Ievērības cienīga ir tā, ka abu mikrokontrolleru avota kods ir tieši tāds pats. Es arī nemainīšu piespraudes. Tas ir absolūti fantastiski!

1. darbība. Ievads

Ievads
Ievads

HT1621 LCD displejam ir ekrāns, ko parasti izmanto multimetros, elektroniskajos svaros, elektroniskajos pulksteņos, termometros un elektroniskajās mērīšanas ierīcēs.

• Tam ir 6 cipari ar 7 segmentiem

• Tas izmanto 3 vadu SPI sakarus

• Tam ir apgaismojums, kas piemērots tumšai videi

• Tās darba spriegums ir 4,7 ~ 5,2 V.

• Tas patērē 4 mA ar apgaismojumu

Ņemiet vērā, ka tam ir vairāk nekā seši cipari, TRĪS cipari aiz komata un akumulatora mērītājs ar TRĪS joslām.

2. darbība: bibliotēka lietošanai

Mēs izmantosim ANXZHU github lietotāju bibliotēku, kas ir pavisam vienkārša. To var redzēt oriģinālajā versijā zemāk esošajā saitē:

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

Bibliotēkas nosaukums ir nedaudz dīvains, tāpēc es nolēmu to pārdēvēt (faili, klases, veidotāji utt.). Tās sākotnējais nosaukums ir "A6seglcd". Šo nosaukumu es aizstāju ar "lcdlib".

3. darbība: bibliotēka

Pievienot bibliotēku "lcdlib".

Piekļūstiet saitei un lejupielādējiet bibliotēku.

Izsaiņojiet failu un ielīmējiet to Arduino IDE bibliotēku mapē.

C: / Program Files (x86) / Arduino / bibliotēkas

4. solis: demonstrācija

Demonstrācija
Demonstrācija

Arduino mega montāža

5. solis: demonstrācija

Demonstrācija
Demonstrācija

SMT32 montāža

6. darbība: STM32 NUCLEO-L432KC

STM32 NUCLEO-L432KC
STM32 NUCLEO-L432KC

Šeit es vēlos uzsvērt, ka STM32-L432KC nav sērijveida USB pārveidotāja. Tā vietā tam ir pilns USB, kas izmanto STMicroelectronics ST-link protokolu. Tādējādi tas ir diezgan sarežģīts un nodrošina ļoti efektīvu atkļūdošanu, ja izmantojat IS vai Microvision. Tā kā tas ir Arduino kodols (MBED, izmantojot Microsoft vietējo rīku), tas izmanto augsti profesionālus kompilatorus. Vai man vēl kaut kas jāsaka?

7. solis: Arduino Mega 2560 PRO MINI

Arduino Mega 2560 PRO MINI
Arduino Mega 2560 PRO MINI

Man arī tas patīk, jo tas ir "tīrs" un "īsts" Arduino. Tā ir Mega, ar daudzām IO. Bet tas ir Mini, tāpēc tas der visur. Man visur patīk IO. Ar to man patīk savienot Led, SPI, i2c utt. Šajā ziņā šī Mega ir brīnišķīga.

8. solis: montāža

Montāža
Montāža

Mūsu montāžā vīriešu tapas rinda atrodas iekšējā pusē, bet sievišķā tapa atrodas ārējā pusē, atvieglojot mūsu darbu un savienojumu ar protoboardu. Mēs izveidojam SPI savienojumu, atceroties, ka Arduino Mega un šim Arduino Nano klonam ir tāda pati piespraude, kas ir STM32-L432KC.

9. solis: programma

Mēs izveidosim ļoti vienkāršu programmu, kurā displejā rakstīsim dažādus simbolus (burtus, ciparus un punktus).

Atcerieties, ka šī programma darbojas gan ar Arduino Mega Pro Mini, gan ar STM32 L432KC.

10. darbība: bibliotēkas un mainīgie

Pēc tam mēs iekļausim bibliotēku, kas ir atbildīga par saziņu, un uzreiz kontrolēsim displeju. Funkcija "const char" atklāj masīva tabulu. Izmantojot šos vektorus, jūs norādīsit rakstzīmi, kas tiek drukāta uz displeja.

#include // 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, -, nūja, 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}; / *indeksa numurs 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. darbība: iestatīšana

Lai sāktu iestatīšanu, mēs definēsim tapas, veiksim sākotnējo iestatīšanu un iestatīsim displeja tīrīšanu. Mēs noteicām, ka displejā ir redzams “Sveiki”, un pēc noteiktas kavēšanās displeja ziņojums tiek dzēsts.

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

12. solis: cilpa

Šeit mēs izveidojam funkciju ar nosaukumu "writeLoop", kas displejā ierakstīs vārdu LOOP, pēc tam uzrakstīs visus mūsu ierašanās simbolus. Mums ir arī funkcija "writeBattery", kas izdrukā akumulatora marķierus.

Visbeidzot, mums ir komanda "lcd.dispnum", kas uzraksta peldošā komata vērtību.

13. darbība: lejupielādējiet failus

PDF

ES NĒ

Ieteicams: