Obsah:

Efektivní a levné: Displej s STM32L4: 13 kroků
Efektivní a levné: Displej s STM32L4: 13 kroků

Video: Efektivní a levné: Displej s STM32L4: 13 kroků

Video: Efektivní a levné: Displej s STM32L4: 13 kroků
Video: TOP 3 – Levné mobilní telefony (2021) 2024, Listopad
Anonim
Image
Image
Úvod
Úvod

Dnes budeme hovořit o třech předmětech, která naprosto zbožňuji: LCD displej, který vydává málo energie, STM32 s Core Arduino a Arduino Mega Pro Mini. Toto je neomylné trio pro internet věcí. Poté vám představím šestimístný LCD displej HT1621 a vytvořím příklad ovládání pomocí kódu, který funguje jak na Arduino Mega Pro Mini, tak na STM32 L432KC. Pozoruhodným detailem je, že zdrojový kód pro dva mikrokontroléry je úplně stejný. Pinning také nezměním. Je to naprosto fantastické!

Krok 1: Úvod

Úvod
Úvod

LCD displej HT1621 má obrazovku běžně používanou v multimetrech, elektronických váhach, elektronických hodinách, teploměrech a elektronických měřicích zařízeních.

• Má 6 číslic se 7 segmenty

• Využívá třívodičovou SPI komunikaci

• Má podsvícení, které je vhodné pro tmavé prostředí

• Jeho provozní napětí je 4,7 ~ 5,2V

• Spotřebovává 4mA s podsvícením

Všimněte si, že má více než ŠEST číslic, TŘI desetinná místa a měřič baterie se TŘI pruhy.

Krok 2: Knihovna k použití

Použijeme uživatelskou knihovnu ANXZHU github, která je celkem jednoduchá. V původní verzi je k vidění na níže uvedeném odkazu:

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

Název knihovny je trochu divný, proto jsem se rozhodl jej přejmenovat (soubory, třídy, stavitelé atd.). Jeho původní název je „A6seglcd“. Tento název jsem nahradil „lcdlib“.

Krok 3: Knihovna

Přidejte knihovnu "lcdlib".

Otevřete odkaz a stáhněte si knihovnu.

Rozbalte soubor a vložte jej do složky knihoven Arduino IDE.

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

Krok 4: Ukázka

Demonstrace
Demonstrace

Mega montáž Arduino

Krok 5: Ukázka

Demonstrace
Demonstrace

Sestava SMT32

Krok 6: STM32 NUCLEO-L432KC

STM32 NUCLEO-L432KC
STM32 NUCLEO-L432KC

Zde chci zdůraznit, že STM32-L432KC nemá sériový převodník USB. Místo toho má plné USB, které používá protokol STMicroelectronics ST-link. Je tedy velmi propracovaný a umožňuje velmi efektivní ladění, pokud používáte IR nebo Microvision. A protože je Arduino Core (MBED, pomocí nativního nástroje společnosti Microsoft), používá vysoce profesionální překladače. Mám ještě něco říct?

Krok 7: Arduino Mega 2560 PRO MINI

Arduino Mega 2560 PRO MINI
Arduino Mega 2560 PRO MINI

Také to miluji, protože je to „čisté“a „skutečné“Arduino. Je to Mega, se spoustou IO. Ale je to Mini, takže se hodí kamkoli. Mám rád IO všude. S tímto rád propojím Led, SPI, i2c atd. V tomto ohledu je tato Mega nádherná.

Krok 8: Sestavení

Shromáždění
Shromáždění

V naší sestavě je řada samčího kolíku na vnitřní straně, zatímco samičí kolík je na vnější straně, což usnadňuje naši práci a spojení s protoboardem. Provádíme připojení SPI a pamatujeme si, že Arduino Mega a tento klon Arduino Nano mají stejný pin, což je STM32-L432KC.

Krok 9: Program

Vytvoříme velmi jednoduchý program, kde na displej napíšeme různé symboly (písmena, číslice a body).

Tento program funguje jak na Arduino Mega Pro Mini, tak na STM32 L432KC.

Krok 10: Knihovny a proměnné

Poté zahrneme knihovnu zodpovědnou za komunikaci a vytvoříme instanci ovládání displeje. Funkce "const char" zpřístupňuje tabulku polí. Prostřednictvím těchto vektorů vytvoříte referenci na znak, který se tiskne na displej.

#include // biblioteca para control to 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}; / *číslo indexu 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 */

Krok 11: Nastavení

Chcete -li spustit instalaci, definujeme kolíky, provedeme počáteční nastavení a nastavíme čištění displeje. Zjistili jsme, že se na displeji zobrazí „Hello“a po určité prodlevě se zpráva na displeji vymaže.

neplatné nastavení () {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, počet [15]); lcd.display (6, num [19]); lcd.display (4, num [19]); lcd.display (2, num [0]); // fim HELLO zpoždění (1000); lcd.clr (); // limpa o display}

Krok 12: Smyčka

Zde vytvoříme funkci nazvanou „writeLoop“, která na displej napíše slovo LOOP a poté napíše všechny symboly našeho aretátoru. Máme také funkci „writeBattery“, která vytiskne značky baterií.

Nakonec máme příkaz "lcd.dispnum", který zapisuje hodnotu s plovoucí desetinnou čárkou.

Krok 13: Stáhněte si soubory

PDF

INO

Doporučuje: