Spisu treści:

Wydajny i tani: wyświetlacz z STM32L4: 13 kroków
Wydajny i tani: wyświetlacz z STM32L4: 13 kroków

Wideo: Wydajny i tani: wyświetlacz z STM32L4: 13 kroków

Wideo: Wydajny i tani: wyświetlacz z STM32L4: 13 kroków
Wideo: Obsługa wyświetlacza OLED za pomocą mikrokontrolera STM32 2024, Listopad
Anonim
Image
Image
Wstęp
Wstęp

Dzisiaj porozmawiamy o trzech tematach, które absolutnie uwielbiam: wyświetlacz LCD, który zużywa mało energii, STM32 z rdzeniem Arduino i Arduino Mega Pro Mini. To nieomylne trio dla Internetu Rzeczy. Następnie przedstawię sześciocyfrowy wyświetlacz LCD HT1621 i stworzę przykładową kontrolkę z kodem, która działa zarówno na Arduino Mega Pro Mini, jak i STM32 L432KC. Godnym uwagi szczegółem jest to, że kod źródłowy dwóch mikrokontrolerów jest dokładnie taki sam. Nie zmienię też przypinania. To absolutnie fantastyczne!

Krok 1: Wprowadzenie

Wstęp
Wstęp

Wyświetlacz LCD HT1621 posiada ekran powszechnie stosowany w multimetrach, wagach elektronicznych, zegarach elektronicznych, termometrach i elektronicznych urządzeniach pomiarowych.

• Ma 6 cyfr z 7 segmentami

• Wykorzystuje 3-przewodową komunikację SPI

• Posiada podświetlenie odpowiednie do ciemnych środowisk

• Jego napięcie robocze wynosi 4,7 ~ 5,2 V

• Pobiera 4mA z podświetleniem

Zwróć uwagę, że ma więcej niż SZEŚĆ cyfr, TRZY miejsca po przecinku i miernik baterii z TRZY kreskami.

Krok 2: Biblioteka do użytku

Użyjemy biblioteki użytkownika github ANXZHU, która jest dość prosta. Można to zobaczyć w oryginalnej wersji w poniższym linku:

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

Nazwa biblioteki jest trochę dziwna, więc postanowiłem ją zmienić (pliki, klasy, buildery itp.). Jego oryginalna nazwa to „A6seglcd”. Zamieniłem tę nazwę na „lcdlib”.

Krok 3: Biblioteka

Dodaj bibliotekę "lcdlib".

Uzyskaj dostęp do linku i pobierz bibliotekę.

Rozpakuj plik i wklej go do folderu bibliotek Arduino IDE.

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

Krok 4: Demonstracja

Demonstracja
Demonstracja

Arduino mega montaż

Krok 5: Demonstracja

Demonstracja
Demonstracja

Montaż SMT32

Krok 6: STM32 NUCLEO-L432KC

STM32 NUCLEO-L432KC
STM32 NUCLEO-L432KC

Chcę tutaj podkreślić, że STM32-L432KC nie ma szeregowego konwertera USB. Zamiast tego ma pełne USB, które wykorzystuje protokół STMicroelectronics ST-link. Dlatego jest dość wyrafinowany i umożliwia bardzo wydajne debugowanie, jeśli używasz IR lub Microvision. Jako Arduino Core (MBED, używający natywnego narzędzia Microsoftu), używa wysoce profesjonalnych kompilatorów. Czy muszę coś jeszcze powiedzieć?

Krok 7: Arduino Mega 2560 PRO MINI

Arduino Mega 2560 PRO MINI
Arduino Mega 2560 PRO MINI

Uwielbiam to też, bo to „czyste” i „prawdziwe” Arduino. To Mega, z wieloma IO. Ale to Mini, więc pasuje wszędzie. Lubię IO wszędzie. Z tym lubię łączyć Led, SPI, i2c itd. Pod tym względem ten Mega jest cudowny.

Krok 8: Montaż

montaż
montaż

W naszym montażu rząd kołka męskiego znajduje się po wewnętrznej stronie, zaś kołek żeński po stronie zewnętrznej, ułatwiając nam pracę i połączenie z płytą prototypową. Wykonujemy połączenie SPI, pamiętając, że Arduino Mega i ten klon Arduino Nano mają to samo przypięcie, które jest STM32-L432KC.

Krok 9: Program

Zrobimy bardzo prosty program, w którym na wyświetlaczu napiszemy różne symbole (litery, cyfry i kropki).

Pamiętaj, że ten program działa zarówno na Arduino Mega Pro Mini, jak i STM32 L432KC.

Krok 10: Biblioteki i zmienne

Następnie włączymy bibliotekę odpowiedzialną za komunikację i stworzymy instancję sterowania wyświetlaczem. Funkcja „const char” udostępnia tablicę tablicową. To za pomocą tych wektorów odniesiesz się do znaku, który drukowany jest na wyświetlaczu.

#include //biblioteca para controle do display

lcdlib lcd; //instancia do controlador do wyświetlania /*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 }; /*liczba indeksu 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: Konfiguracja

Aby rozpocząć konfigurację, zdefiniujemy piny, wykonamy wstępną konfigurację i ustawimy czyszczenie wyświetlacza. Ustaliliśmy, że wyświetlacz pokazuje „Hello” i po pewnym opóźnieniu komunikat na wyświetlaczu jest usuwany.

void setup(){ lcd.run(2, 3, 4, 5); //[cs wr data led+] definicja dos pinos lcd.conf(); //konfiguracja inicjalna lcd.clr(); //brak wyświetlania //uzyskanie 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 delay(1000); lcd.clr(); //nie wyświetlaj }

Krok 12: Pętla

Tutaj tworzymy funkcję o nazwie „writeLoop”, która wypisze na wyświetlaczu słowo LOOP, a następnie zapisze wszystkie symbole naszej tablicy. Mamy też funkcję „writeBattery”, która drukuje znaczniki baterii.

Wreszcie mamy polecenie „lcd.dispnum”, które zapisuje wartość zmiennoprzecinkową.

Krok 13: Pobierz pliki

PDF

JA NIE

Zalecana: