Indholdsfortegnelse:

Effektiv og billig: Display med STM32L4: 13 trin
Effektiv og billig: Display med STM32L4: 13 trin

Video: Effektiv og billig: Display med STM32L4: 13 trin

Video: Effektiv og billig: Display med STM32L4: 13 trin
Video: Billige og effektive Gør Det Selv fiskeblink til havørred og kystfiskeri! 2024, December
Anonim
Image
Image
Introduktion
Introduktion

I dag vil vi tale om tre emner, som jeg absolut elsker: et LCD -display, der bruger lidt energi, STM32 med Core Arduino og Arduino Mega Pro Mini. Dette er en ufejlbarlig trio til tingenes internet. Jeg vil derefter præsentere dig for HT1621 sekscifret LCD-display og oprette et eksempelkontrol med en kode, der fungerer på både Arduino Mega Pro Mini og STM32 L432KC. En bemærkelsesværdig detalje er, at kildekoden for de to mikrokontrollere er nøjagtig den samme. Jeg vil heller ikke ændre fastgørelsen. Det er helt fantastisk!

Trin 1: Introduktion

Introduktion
Introduktion

HT1621 LCD -display har en skærm, der almindeligvis bruges i multimetre, elektroniske vægte, elektroniske ure, termometre og elektroniske måleenheder.

• Den har 6 cifre med 7 segmenter

• Den bruger 3-leder SPI-kommunikation

• Den har en baggrundsbelysning, der er velegnet til mørke omgivelser

• Driftsspændingen er 4,7 ~ 5,2V

• Den bruger 4mA med baggrundsbelysning

Bemærk, at den har mere end SIX cifre, TRE decimaltegn og en batterimåler med TRE søjler.

Trin 2: Bibliotek til brug

Vi vil bruge ANXZHU github -brugerbibliotek, som er ret simpelt. Det kan ses i den originale version i nedenstående link:

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

Bibliotekets navn er lidt mærkeligt, så jeg besluttede at omdøbe det (filer, klasser, buildere osv.). Det originale navn er "A6seglcd". Jeg erstattede dette navn med "lcdlib".

Trin 3: Bibliotek

Tilføj bibliotek "lcdlib".

Gå til linket, og download biblioteket.

Pak filen ud, og indsæt den i biblioteksmappen i Arduino IDE.

C: / Programfiler (x86) / Arduino / biblioteker

Trin 4: Demonstration

Demonstration
Demonstration

Arduino mega samling

Trin 5: Demonstration

Demonstration
Demonstration

SMT32 -samling

Trin 6: STM32 NUCLEO-L432KC

STM32 NUCLEO-L432KC
STM32 NUCLEO-L432KC

Jeg vil her understrege, at STM32-L432KC ikke har en seriel USB-konverter. I stedet har den en fuld USB, som bruger STMicroelectronics ST-link-protokol. Det er således ret sofistikeret og muliggør meget effektiv fejlfinding, hvis du bruger IR eller Microvision. Og da den er en Arduino Core (MBED, ved hjælp af Microsofts native værktøj), bruger den meget professionelle kompilatorer. Skal jeg sige noget andet?

Trin 7: Arduino Mega 2560 PRO MINI

Arduino Mega 2560 PRO MINI
Arduino Mega 2560 PRO MINI

Jeg elsker også dette, da det er en "ren" og "rigtig" Arduino. Det er en Mega, med en masse IO'er. Men det er Mini, så det passer overalt. Jeg kan godt lide IO overalt. Med dette kan jeg lide at forbinde Led, SPI, i2c osv. I denne henseende er denne Mega vidunderlig.

Trin 8: Montering

montage
montage

I vores samling er rækken af hanstiften på indersiden, mens hunstiften er på den yderste side, hvilket letter vores arbejde og forbindelse med et protoboard. Vi opretter SPI-forbindelsen og husker, at Arduino Mega og denne Arduino Nano-klon har den samme fastgørelse, som er STM32-L432KC.

Trin 9: Programmer

Vi laver et meget enkelt program, hvor vi skriver forskellige symboler (bogstaver, tal og punkter) på displayet.

Husk, at dette program fungerer på både Arduino Mega Pro Mini og STM32 L432KC.

Trin 10: Biblioteker og variabler

Vi vil derefter inkludere det bibliotek, der er ansvarligt for kommunikation, og instantere kontrollen med displayet. Funktionen "const char" viser en array -tabel. Det er gennem disse vektorer, du vil referere til det tegn, der udskrives på displayet.

#include // biblioteca para control 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 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}; / *indeks 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 */

Trin 11: Opsætning

For at starte opsætningen definerer vi stifterne, foretager den første opsætning og indstiller rengøring af displayet. Vi fastslog, at displayet viser "Hej", og efter en vis forsinkelse slettes displaymeddelelsen.

ugyldig opsætning () {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 forsinkelse (1000); lcd.clr (); // limpa o display}

Trin 12: Sløjfe

Her opretter vi en funktion kaldet "writeLoop", som vil skrive ordet LOOP på displayet og derefter skrive alle symbolerne i vores array. Vi har også funktionen "writeBattery", der udskriver batterimarkørerne.

Endelig har vi kommandoen "lcd.dispnum", der skriver værdien for flydende punkt.

Trin 13: Download filerne

PDF

INO

Anbefalede: