Innehållsförteckning:

Effektiv och billig: Display med STM32L4: 13 steg
Effektiv och billig: Display med STM32L4: 13 steg

Video: Effektiv och billig: Display med STM32L4: 13 steg

Video: Effektiv och billig: Display med STM32L4: 13 steg
Video: DVD-spelare Återvinning av LED-skärmar - Orelaterade aktiviteter 2024, November
Anonim
Image
Image
Introduktion
Introduktion

Idag kommer vi att prata om tre ämnen som jag absolut älskar: en LCD -skärm som spenderar lite energi, STM32 med Core Arduino och Arduino Mega Pro Mini. Detta är en ofelbar trio för Internet of Things. Jag ska sedan presentera dig för HT1621 sexsiffriga LCD-skärm och skapa ett exempelkontroll med en kod som fungerar på både Arduino Mega Pro Mini och STM32 L432KC. En anmärkningsvärd detalj är att källkoden för de två mikrokontrollerna är exakt densamma. Jag kommer inte heller att ändra fästningen. Det är helt fantastiskt!

Steg 1: Introduktion

Introduktion
Introduktion

HT1621 LCD -display har en skärm som vanligtvis används i multimetrar, elektroniska vågar, elektroniska klockor, termometrar och elektroniska mätanordningar.

• Den har 6 siffror med 7 segment

• Den använder 3-tråds SPI-kommunikation

• Den har en bakgrundsbelysning som är lämplig för mörka miljöer

• Driftspänningen är 4,7 ~ 5,2V

• Den förbrukar 4mA med bakgrundsbelysning

Observera att den har mer än SIX siffror, TRE decimaler och en batterimätare med TRE staplar.

Steg 2: Bibliotek för användning

Vi kommer att använda ANXZHU github -användarbibliotek, vilket är ganska enkelt. Det kan ses i originalversionen i länken nedan:

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

Bibliotekets namn är lite konstigt, så jag bestämde mig för att byta namn på det (filer, klasser, builders, etc.). Dess ursprungliga namn är "A6seglcd". Jag ersatte detta namn med "lcdlib".

Steg 3: Bibliotek

Lägg till biblioteket "lcdlib".

Gå till länken och ladda ner biblioteket.

Packa upp filen och klistra in den i biblioteksmappen i Arduino IDE.

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

Steg 4: Demonstration

Demonstration
Demonstration

Arduino megamontage

Steg 5: Demonstration

Demonstration
Demonstration

SMT32 -montering

Steg 6: STM32 NUCLEO-L432KC

STM32 NUCLEO-L432KC
STM32 NUCLEO-L432KC

Jag vill här markera att STM32-L432KC inte har en seriell USB-omvandlare. Istället har den en full USB, som använder STMicroelectronics ST-link-protokoll. Således är det ganska sofistikerat och möjliggör mycket effektiv felsökning om du använder IR eller Microvision. Och eftersom den är en Arduino Core (MBED, med Microsofts inbyggda verktyg) använder den mycket professionella kompilatorer. Behöver jag säga något annat?

Steg 7: Arduino Mega 2560 PRO MINI

Arduino Mega 2560 PRO MINI
Arduino Mega 2560 PRO MINI

Jag älskar också detta, eftersom det är en "ren" och "riktig" Arduino. Det är en Mega, med många IO: er. Men det är Mini, så det passar överallt. Jag gillar IO överallt. Med detta gillar jag att ansluta Led, SPI, i2c, etc. I detta avseende är denna Mega underbar.

Steg 8: Montering

hopsättning
hopsättning

I vår samling är raden av hanstiftet på insidan, medan honstiften är på den yttersta sidan, vilket underlättar vårt arbete och anslutning till ett protoboard. Vi gör SPI-anslutningen, kom ihåg att Arduino Mega och denna Arduino Nano-klon har samma fästning, som är STM32-L432KC.

Steg 9: Program

Vi kommer att göra ett mycket enkelt program, där vi kommer att skriva olika symboler (bokstäver, siffror och punkter) på displayen.

Kom ihåg att detta program fungerar på både Arduino Mega Pro Mini och STM32 L432KC.

Steg 10: Bibliotek och variabler

Vi kommer då att inkludera det bibliotek som är ansvarigt för kommunikation och omedelbart kontrollera kontrollen av displayen. Funktionen "const char" exponerar en array -tabell. Det är genom dessa vektorer som du kommer att referera till det tecken som skrivs ut på displayen.

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

Steg 11: Inställning

För att starta installationen definierar vi stiften, gör den första installationen och ställer in skärmens rengöring. Vi bestämde att displayen visar "Hej", och efter en viss fördröjning rensas displaymeddelandet.

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 fördröjning (1000); lcd.clr (); // limpa o display}

Steg 12: Loop

Här skapar vi en funktion som heter "writeLoop", som kommer att skriva ordet LOOP på displayen och sedan skriva alla symboler för vår matris. Vi har också "writeBattery" -funktionen, som skriver ut batterimarkörerna.

Slutligen har vi kommandot "lcd.dispnum" som skriver floating point -värdet.

Steg 13: Ladda ner filerna

PDF

INO

Rekommenderad: