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: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Studeni
Anonim
Image
Image
Uvod
Uvod

Danas ćemo govoriti o tri teme koje apsolutno obožavam: LCD zaslon koji troši malo energije, STM32 s Core Arduinom i Arduino Mega Pro Mini. Ovo je nepogrešivi trio za Internet stvari. Zatim ću vam predstaviti šestoznamenkasti 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 promijeniti ni prikvačivanje. Apsolutno je 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 znamenki sa 7 segmenata

• Koristi 3-žičnu SPI komunikaciju

• Ima pozadinsko osvjetljenje prikladno za tamna okruženja

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

• Potroši 4mA sa pozadinskim osvjetljenjem

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 izvornoj verziji na donjoj poveznici:

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

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

Korak 3: Knjižnica

Dodajte biblioteku "lcdlib".

Pristupite poveznici i preuzmite biblioteku.

Raspakirajte datoteku i zalijepite je u mapu knjižnica Arduino IDE -a.

C: / Programske datoteke (x86) / Arduino / knjižnice

Korak 4: Demonstracija

Demonstracija
Demonstracija

Arduino mega sklop

Korak 5: Demonstracija

Demonstracija
Demonstracija

SMT32 sklop

Korak 6: STM32 NUCLEO-L432KC

STM32 NUKLEO-L432KC
STM32 NUKLEO-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ćuje vrlo učinkovito uklanjanje pogrešaka ako koristite IC ili Microvision. Budući da je Arduino Core (MBED, koristeći Microsoftov izvorni alat), koristi visoko profesionalne prevoditelje. 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, s puno IO -a. Ali to je Mini, pa stane bilo gdje. Svugdje volim IO. Ovim volim spojiti Led, SPI, i2c itd. U tom pogledu ova Mega je divna.

Korak 8: Montaža

Skupština
Skupština

U našem sklopu, red muškog zatiča je s unutarnje strane, dok je ženski zatič 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 isti 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: Knjižnice i varijable

Zatim ćemo uključiti knjižnicu odgovornu za komunikaciju i instancirati kontrolu zaslona. Funkcija "const char" izlaže tablicu niza. Pomoću ovih vektora ćete napraviti referencu na znak koji se ispisuje na zaslonu.

#include // biblioteca para controle do display

lcdlib lcd; // instalacija kontrole na zaslonu /*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}; / *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 zaslonu prikazuje "Hello", a nakon određenog kašnjenja poruka na zaslonu se briše.

void setup () {lcd.run (2, 3, 4, 5); // [cs wr data led+] definição dos pinos lcd.conf (); // konfiguracija inicial lcd.clr (); // limpa o display // 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 zaslonu, 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

INO

Preporučeni: