Obsah:

Efektívne a lacné: Displej s STM32L4: 13 krokov
Efektívne a lacné: Displej s STM32L4: 13 krokov

Video: Efektívne a lacné: Displej s STM32L4: 13 krokov

Video: Efektívne a lacné: Displej s STM32L4: 13 krokov
Video: LEMFO LF26 MAX smartwatch: The perfect gift for the tech-lover in your life 2024, November
Anonim
Image
Image
Úvod
Úvod

Dnes budeme hovoriť o troch témach, ktoré úplne zbožňujem: LCD displej, ktorý spotrebuje málo energie, STM32 s Core Arduino a Arduino Mega Pro Mini. Toto je neomylná trojica pre internet vecí. Potom vám predstavím šesťmiestny LCD displej HT1621 a vytvorím príklad ovládacieho prvku s kódom, ktorý funguje na Arduino Mega Pro Mini aj na STM32 L432KC. Pozoruhodným detailom je, že zdrojový kód pre dva mikrokontroléry je úplne rovnaký. Ani pripínanie nezmením. Je to úplne fantastické!

Krok 1: Úvod

Úvod
Úvod

LCD displej HT1621 má obrazovku bežne používanú v multimetroch, elektronických váhach, elektronických hodinách, teplomeroch a elektronických meracích zariadeniach.

• Má 6 číslic so 7 segmentmi

• Využíva 3-vodičovú SPI komunikáciu

• Má podsvietenie vhodné pre tmavé prostredie

• Jeho prevádzkové napätie je 4,7 ~ 5,2V

• Spotrebuje 4mA s podsvietením

Všimnite si toho, že má viac ako ŠESŤ číslic, tri desatinné miesta a merač batérie s TROJMI stĺpcami.

Krok 2: Knižnica na použitie

Použijeme knižnicu používateľov ANXZHU github, ktorá je celkom jednoduchá. V pôvodnej verzii ho môžete vidieť na nižšie uvedenom odkaze:

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

Názov knižnice je trochu zvláštny, a preto som sa rozhodol ju premenovať (súbory, triedy, stavače atď.). Jeho pôvodný názov je „A6seglcd“. Tento názov som nahradil názvom „lcdlib“.

Krok 3: Knižnica

Pridajte knižnicu "lcdlib".

Prejdite na odkaz a stiahnite si knižnicu.

Rozbaľte súbor a vložte ho do priečinka s knižnicami v Arduino IDE.

C: / Programové súbory (x86) / Arduino / knižnice

Krok 4: Ukážka

Ukážka
Ukážka

Mega montáž Arduino

Krok 5: Ukážka

Ukážka
Ukážka

Zostava SMT32

Krok 6: STM32 NUCLEO-L432KC

STM32 NUCLEO-L432KC
STM32 NUCLEO-L432KC

Tu chcem zdôrazniť, že STM32-L432KC nemá sériový prevodník USB. Namiesto toho má plné USB, ktoré používa protokol STMicroelectronics ST-link. Je teda dosť sofistikovaný a umožňuje veľmi efektívne ladenie, ak používate IR alebo Microvision. A keďže ide o jadro Arduino (MBED, využívajúce natívny nástroj spoločnosti Microsoft), používa vysoko profesionálne kompilátory. Mám ešte niečo povedať?

Krok 7: Arduino Mega 2560 PRO MINI

Arduino Mega 2560 PRO MINI
Arduino Mega 2560 PRO MINI

Tiež to milujem, pretože je to „čisté“a „skutočné“Arduino. Je to Mega, s množstvom IO. Ale je to mini, takže sa hodí kdekoľvek. Mám rád IO všade. S týmto rád spájam Led, SPI, i2c atď. V tomto ohľade je táto Mega nádherná.

Krok 8: Zostavenie

zhromaždenie
zhromaždenie

V našej zostave je rad samčieho kolíka na vnútornej strane, zatiaľ čo ženský kolík je na vonkajšej strane, čo nám uľahčuje prácu a spojenie s protoboardom. Vytvárame pripojenie SPI, pričom si pamätáme, že Arduino Mega a tento klon Arduino Nano majú rovnaké pripnutie, ktorým je STM32-L432KC.

Krok 9: Program

Vytvoríme veľmi jednoduchý program, kde na displej napíšeme rôzne symboly (písmena, číslice a body).

Nezabudnite, že tento program funguje na Arduino Mega Pro Mini aj na STM32 L432KC.

Krok 10: Knižnice a premenné

Potom zaradíme knižnicu zodpovednú za komunikáciu a vytvoríme inštanciu ovládania displeja. Funkcia "const char" sprístupňuje tabuľku polí. Prostredníctvom týchto vektorov urobíte referenciu na znak, ktorý sa vytlačí na displej.

#include // biblioteca para controle do display

lcdlib lcd; // okamžité ovládanie displeja /*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: Nastavenie

Na spustenie nastavenia definujeme kolíky, urobíme počiatočné nastavenie a nastavíme čistenie displeja. Zistili sme, že na displeji sa zobrazí „Hello“a po určitom oneskorení sa správa na displeji vymaže.

neplatné nastavenie () {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 oneskorenie (1000); lcd.clr (); // limpa o display}

Krok 12: Slučka

Tu vytvoríme funkciu s názvom „writeLoop“, ktorá na displej napíše slovo LOOP a potom napíše všetky symboly nášho zatykača. Máme tiež funkciu „writeBattery“, ktorá vytlačí značky batérií.

Nakoniec tu máme príkaz "lcd.dispnum", ktorý zapíše hodnotu s pohyblivou rádovou čiarkou.

Krok 13: Stiahnite si súbory

PDF

INO

Odporúča: