Sadržaj:

Učinkovito i jeftino: Zaslon sa STM32L4: 13 koraka
Učinkovito i jeftino: Zaslon sa STM32L4: 13 koraka

Video: Učinkovito i jeftino: Zaslon sa STM32L4: 13 koraka

Video: Učinkovito i jeftino: Zaslon sa STM32L4: 13 koraka
Video: BEST 25 Plantar Fasciitis HOME Treatments [Massage, Stretches, Shoes] 2024, Juli
Anonim
Image
Image
Uvod
Uvod

Danas ćemo govoriti o tri teme koje apsolutno obožavam: LCD displej koji troši malo energije, STM32 sa Core Arduinom i Arduino Mega Pro Mini. Ovo je nepogrešivi trio za Internet stvari. Zatim ću vam predstaviti šestocifreni LCD zaslon HT1621 i stvoriti primjer kontrole s kodom koji radi i na Arduino Mega Pro Mini i na STM32 L432KC. Zanimljiv detalj je da je izvorni kod za dva mikrokontrolera potpuno isti. Neću ni mijenjati pribadaču. To je apsolutno fantastično!

Korak 1: Uvod

Uvod
Uvod

LCD zaslon HT1621 ima zaslon koji se obično koristi u multimetrima, elektroničkim vagama, elektroničkim satovima, termometrima i elektroničkim mjernim uređajima.

• Ima 6 cifara sa 7 segmenata

• Koristi 3-žičnu SPI komunikaciju

• Pozadinsko osvetljenje je pogodno za tamna okruženja

• Njegov radni napon je 4,7 ~ 5,2V

• Potroši 4mA sa pozadinskim osvetljenjem

Imajte na umu da ima više od ŠEST znamenki, TRI decimalna mjesta i mjerač baterije s TRI trake.

Korak 2: Biblioteka za upotrebu

Koristit ćemo korisničku biblioteku ANXZHU github, koja je prilično jednostavna. Može se vidjeti u originalnoj verziji na donjoj poveznici:

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

Naziv biblioteke je pomalo čudan, pa sam odlučio da ga preimenujem (datoteke, klase, graditelji itd.). Njegov izvorni naziv je "A6seglcd". Zamijenio sam ovo ime sa "lcdlib".

Korak 3: Biblioteka

Dodajte biblioteku "lcdlib".

Pristupite linku i preuzmite biblioteku.

Raspakirajte datoteku i zalijepite je u mapu biblioteke Arduino IDE -a.

C: / Programske datoteke (x86) / Arduino / biblioteke

Korak 4: Demonstracija

Demonstracija
Demonstracija

Arduino mega sklop

Korak 5: Demonstracija

Demonstracija
Demonstracija

SMT32 sklop

Korak 6: STM32 NUCLEO-L432KC

STM32 NUCLEO-L432KC
STM32 NUCLEO-L432KC

Ovdje želim naglasiti da STM32-L432KC nema serijski USB pretvarač. Umjesto toga, ima pun USB koji koristi STMicroelectronics ST-link protokol. Stoga je prilično sofisticiran i omogućava vrlo efikasno otklanjanje grešaka ako koristite IC ili Microvision. Budući da je Arduino Core (MBED, koristeći Microsoftov izvorni alat), koristi visoko profesionalne kompajlere. Trebam li još nešto reći?

Korak 7: Arduino Mega 2560 PRO MINI

Arduino Mega 2560 PRO MINI
Arduino Mega 2560 PRO MINI

I meni se ovo sviđa, jer je to "čisti" i "pravi" Arduino. To je Mega, sa puno IO -a. Ali to je Mini pa se može uklopiti bilo gdje. Svuda volim IO. Ovim volim povezati Led, SPI, i2c, itd. U tom pogledu, ova Mega je divna.

Korak 8: Montaža

Montaža
Montaža

U našem sklopu, red muške iglice je s unutarnje strane, dok je ženska iglica s vanjske strane, što olakšava naš rad i povezivanje s protoborom. Ostvarujemo SPI vezu, sjećajući se da Arduino Mega i ovaj Arduino Nano klon imaju istu pinning, a to je STM32-L432KC.

Korak 9: Program

Napravit ćemo vrlo jednostavan program u koji ćemo na zaslon ispisivati različite simbole (slova, brojeve i točke).

Upamtite da ovaj program radi i na Arduino Mega Pro Mini i na STM32 L432KC.

Korak 10: Biblioteke i varijable

Zatim ćemo uključiti biblioteku odgovornu za komunikaciju i instancirati kontrolu ekrana. Funkcija "const char" otkriva tablicu niza. Putem ovih vektora ćete napraviti referencu na znak koji se ispisuje na ekranu.

#include // biblioteca para controle do display

lcdlib lcd; // instalacija kontrole na ekranu /*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 broj = {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}; / *indeksni broj 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 */

Korak 11: Postavljanje

Za početak postavljanja definirat ćemo pinove, izvršiti početno postavljanje i postaviti čišćenje zaslona. Utvrdili smo da se na ekranu prikazuje "Hello", a nakon određenog kašnjenja poruka na ekranu se briše.

void setup () {lcd.run (2, 3, 4, 5); // [cs wr data led+] definiše dos pinos lcd.conf (); // konfiguracija inicial lcd.clr (); // prikaz na ekranu // escreve HELLO lcd.display (10, broj [17]); lcd.display (8, broj [15]); lcd.display (6, broj [19]); lcd.display (4, broj [19]); lcd.display (2, broj [0]); // fim HELLO delay (1000); lcd.clr (); // limpa o display}

Korak 12: Petlja

Ovdje stvaramo funkciju pod nazivom "writeLoop", koja će napisati riječ LOOP na ekranu, zatim upisati sve simbole našeg niza. Također imamo funkciju "writeBattery", koja ispisuje oznake baterije.

Konačno, imamo naredbu "lcd.dispnum" koja zapisuje vrijednost s pomičnim zarezom.

Korak 13: Preuzmite datoteke

PDF

JA NE

Preporučuje se: