Sisukord:

Tõhus ja odav: ekraan koos STM32L4 -ga: 13 sammu
Tõhus ja odav: ekraan koos STM32L4 -ga: 13 sammu

Video: Tõhus ja odav: ekraan koos STM32L4 -ga: 13 sammu

Video: Tõhus ja odav: ekraan koos STM32L4 -ga: 13 sammu
Video: 20 товаров для автомобиля с Алиэкспресс, автотовары №31 2024, Juuli
Anonim
Image
Image
Sissejuhatus
Sissejuhatus

Täna räägime kolmest teemast, mida ma absoluutselt jumaldan: LCD -ekraan, mis kulutab vähe energiat, STM32 koos Core Arduinoga ja Arduino Mega Pro Mini. See on eksimatu asjade Interneti kolmik. Seejärel tutvustan teile kuuekohalist LCD-ekraani HT1621 ja koostan näidisjuhtimise koodiga, mis töötab nii Arduino Mega Pro Minil kui ka STM32 L432KC-l. Tähelepanuväärne on see, et kahe mikrokontrolleri lähtekood on täpselt sama. Ma ei muuda ka kinnitamist. See on täiesti fantastiline!

Samm 1: Sissejuhatus

Sissejuhatus
Sissejuhatus

HT1621 LCD -ekraanil on ekraan, mida tavaliselt kasutatakse multimeetrites, elektroonilistes kaaludes, elektroonilistes kellades, termomeetrites ja elektroonilistes mõõteseadmetes.

• Sellel on 6 numbrit ja 7 segmenti

• See kasutab 3-juhtmelist SPI-ühendust

• Sellel on taustvalgus, mis sobib pimedasse keskkonda

• Selle tööpinge on 4,7 ~ 5,2 V.

• See tarbib taustvalgustusega 4mA

Pange tähele, et sellel on rohkem kui KUUS numbrit, KOLM komakohta ja KOLM ribaga akumõõtur.

Samm: kogu kasutamiseks

Kasutame ANXZHU githubi kasutajateeki, mis on üsna lihtne. Seda saab näha algses versioonis alloleval lingil:

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

Raamatukogu nimi on natuke kummaline, nii et otsustasin selle ümber nimetada (failid, klassid, ehitajad jne). Selle algne nimi on "A6seglcd". Asendasin selle nime "lcdlib" -ga.

3. samm: kogu

Lisage kogu "lcdlib".

Avage link ja laadige raamatukogu alla.

Pakkige fail lahti ja kleepige see Arduino IDE raamatukogude kausta.

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

4. samm: tutvustamine

Demonstratsioon
Demonstratsioon

Arduino mega kokkupanek

5. samm: tutvustamine

Demonstratsioon
Demonstratsioon

SMT32 kokkupanek

6. samm: STM32 NUCLEO-L432KC

STM32 NUCLEO-L432KC
STM32 NUCLEO-L432KC

Tahan siin rõhutada, et STM32-L432KC-l ei ole jada-USB-muundurit. Selle asemel on sellel täielik USB, mis kasutab STMicroelectronics ST-link protokolli. Seega on see üsna keerukas ja võimaldab väga tõhusat silumist, kui kasutate infrapuna- või mikrovisiooni. Ja olles Arduino Core (MBED, kasutades Microsofti omatööriista), kasutab see väga professionaalseid kompilaatoreid. Kas ma pean veel midagi ütlema?

Samm: Arduino Mega 2560 PRO MINI

Arduino Mega 2560 PRO MINI
Arduino Mega 2560 PRO MINI

Mulle meeldib ka see, kuna see on "puhas" ja "tõeline" Arduino. See on Mega, millel on palju IO -sid. Kuid see on Mini, nii et see sobib kõikjale. IO meeldib mulle igal pool. Sellega meeldib mulle ühendada Led, SPI, i2c jne. Selles suhtes on see Mega imeline.

8. samm: kokkupanek

Kokkupanek
Kokkupanek

Meie kokkupanekul on isast tihvti rida siseküljel, emane tihvt aga äärepoolseimal küljel, hõlbustades meie tööd ja ühendamist protoboardiga. Loome SPI-ühenduse, pidades meeles, et Arduino Mega ja sellel Arduino Nano kloonil on sama kinnitus, mis on STM32-L432KC.

9. samm: programm

Teeme väga lihtsa programmi, kus kirjutame ekraanile erinevaid sümboleid (tähti, numbreid ja punkte).

Pidage meeles, et see programm töötab nii Arduino Mega Pro Mini kui ka STM32 L432KC puhul.

10. samm: raamatukogud ja muutujad

Seejärel kaasame suhtluse eest vastutava raamatukogu ja kiirendame ekraani juhtimist. Funktsioon "const char" avab massiivitabeli. Nende vektorite kaudu viitate ekraanile trükitavale tegelasele.

#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, -, bat, pf, '', */ const char number = {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 number 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 */

Samm 11: seadistamine

Seadistamise alustamiseks määratleme tihvtid, teeme esialgse seadistuse ja määrame ekraani puhastamise. Otsustasime, et ekraanil kuvatakse "Tere", ja pärast teatavat viivitust kuvatakse ekraanil olev teade.

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

12. samm: silmus

Siin loome funktsiooni nimega "writeLoop", mis kirjutab ekraanile sõna LOOP, seejärel kirjutab kõik meie array sümbolid. Meil on ka funktsioon "writeBattery", mis prindib aku markerid.

Lõpuks on meil käsk "lcd.dispnum", mis kirjutab ujukoma väärtuse.

Samm: laadige failid alla

PDF

INO

Soovitan: