I2C LCD z ESPTOP 10 za pomocą Micropython i Thonny Ide

I2C LCD z ESPTOP 10 za pomocą Micropython i Thonny Ide

ESP32 to płyta mikrokontrolera, która może interfejs wiele sprzętu i czujników. LCD i OLED to świetne sposoby wyświetlania i nadania graficznej reprezentacji wymaganym wyjściu. Ten samouczek obejmuje interfejsy wyświetlacza LCD z płytkami ESP32 za pomocą Micropython W Thonny Ide.

Co to jest Micropython

Micropython jest napisany w C i jest to implementacja oprogramowania dla Python 3 głównie ukierunkowanych na wbudowane aplikacje systemowe. Nie może jednak w pełni uruchomić standardowych bibliotek Python 3. Micropython to wariant Pythona i specjalnie zaprojektowany dla systemów osadzonych. Dzisiaj będziemy wdrażać Micropython na płycie ESP32 za pomocą Thonny Ide.

Zanim przejdziemy do przodu, upewnij się, że instalacja Thonny IDE w celu zaprogramowania płyty ESP32. Pobrać Thonny Ide Kliknij tutaj.

Co to jest wyświetlacz ciekłokrystaliczny (LCD)

Wyświetlacz LCD lub ciekłokrystaliczny to urządzenie, które działa poprzez zastosowanie zmiennego napięcia do warstwy ciekłej krystalicznej, która indukuje zmiany właściwości optycznych LCD.

Dzisiaj będziemy omawiać LCD 16 × 2 z płytą ESP32, jednak inne rozmiary LCD również powinny działać. LCD o wielkości 16 krzyżych 2 może wyświetlać 16 znaków w jednej linii, a w tym konkretnym modelu znajduje się w sumie dwie linie. LCD zawiera alfanumeryczny wyświetlacz macierzy kropki, który może wyświetlać w sumie 224 znaki.

Możemy również użyć tego LCD bezpośrednio z ESP32, tak jak to zrobiliśmy z Arduino. Aby tego uniknąć, będziemy używać modułu I2C z LCD, który wymaga tylko dwóch przewodów do działania, które są SDA i SCL.

Dodatkowo I2C LCD jest wyposażony w potencjometr, który może dostosować jasność LCD bez potrzeby zewnętrznego rezystora zmiennego do kontrolowania jasności LCD.

Pin I2C Funkcjonować
GND Przypin gruntowy
VCC Pin Power
SDA PIN używany do wymiany danych
Scl PIN używany do zegara synchronicznego

Części wymagane do interfejsu LCD z ESP32

Zanim przejdziemy dalej, zalecamy zebranie następujących części do tego samouczka:

  • Esp32 doit devkit wir
  • 16x2 LCD
  • Interfejs szeregowy I2C
  • Tablica chleba
  • Przewody zworki

Okablowanie LCD do ESP32

Okablowanie LCD z ESP32 jest proste, wystarczy podłączyć pin SDA i SCL odpowiednio na pinie GPIO 21 i 22.

Poniżej znajduje się konfiguracja PIN w celach informacyjnych:

Przygotowanie Thonny Ide do ESP32

Ponieważ sprzęt jest gotowy do przyjęcia kodu, który otworzy teraz Thonny IDE i przesłać kod. Przed interfejsem dowolnego urządzenia I2C musimy znać adres I2C tego odpowiedniego urządzenia. Urządzenia I2C mają dla nich unikalny adres. Dla wielu urządzeń domyślny adres dla I2C to 0x27 gdzie 0x pokazuje klątwa Format liczby.

Zaleca się otrzymanie adresu I2C za każdym razem podczas interfejsu nowego urządzenia.

Uzyskanie adresu LCD

Podłącz płytę ESP32 z komputerem i otwórz Thonny Ide. Wpisz poniższy kod w edytorze Thonny IDE. Prześlij kod na płycie ESP32 za pomocą przycisku odtwarzania u góry.

Kod

Ten kod jest napisany dla PIN 21 (SDA) i PIN 22 (SCL). Jeśli używasz innej płyty, takiej jak ESP8266 odpowiednio wymień numer PIN.

maszyna importowa
sdapin = maszyna.Pin (21) #dla ESP32
sclpin = maszyna.Pin (22)
i2c = maszyna.I2C (sda = sdapin, scl = sclpin, freq = 10000)
urządzenia = i2c.skanowanie()
Jeśli len (urządzenia) == 0:
Drukuj („Nie urządzenie I2C !")
w przeciwnym razie:
Drukuj („Znaleziono urządzenia I2C:”, Len (urządzenia))
Dla urządzeń w urządzeniach:
Drukuj („Pod adresem:”, heks (urządzenie))

Wyjście

Następujące dane wyjściowe pojawią się tutaj w terminalu powłoki.

I2C LCD Micropython Library

Do interfejsu ESP32 z I2C LCD wymagane są dwie różne biblioteki mikropython. Użyjemy tych dwóch bibliotek: lcd_api.PY i I2C_LCD.py. Skopiuj te dwie biblioteki z podanego linku i utwórz dwa nowe pliki w Thonny Ide. Zapisz obie te biblioteki w ESP32 lub odpowiednich płytach, jak pokazano na zdjęciu poniżej.

Krok 1: Utwórz dwa nowe pliki i wklej oba kod biblioteki osobno. Aby zapisać go na płycie ESP32, przejdź do: Plik> Zapisz jako

Krok 2: Wyświetl się wyskakujące okienko Wybierz urządzenie Micropython. Upewnij się, że płyta ESP32 jest podłączona do komputera.

Krok 3: Napisz nazwę pliku bibliotek i kliknij OK.

Notatka: Pamiętaj, zachowaj tę samą dokładną nazwę co LCD_API.py I i2c_lcd.py.

Zapisz dwa pliki biblioteki i utwórz nowy plik z nazwą główny.py gdzie będziemy pisać główny kod mikropython dla I2C LCD.

Krok 4: Po utworzeniu wszystkich trzech plików możemy je zobaczyć w edytorze Thonny IDE. Możemy zamknąć plik biblioteki i po prostu otworzyć główny.py Aby napisać i przesłać kod LCD I2C.

Wyświetl tekst na LCD

Napisz kod podany poniżej w Thonny IDE i kliknij wspomniany przycisk odtwarzania, aby przesłać kod na płytę ESP32.

Kod

Pisanie podanego kodu w oknie edytora Thonny IDE pomoże interfejs I2C LCD z płytą ESP32.

maszyna importowa
Ze maszyny do importu, softi2c
z LCD_API Import LCDAPI
z I2C_LCD Import I2clcd
Od czasu importuj sen
I2C_ADDR = 0x27
TotalRows = 2
TotalColumns = 16
I2C = softi2c (scl = pin (22), sda = pin (21), freq = 10000) #i2c dla ESP32
#i2c = i2c (scl = pin (5), sda = pin (4), freq = 10000) #i2c dla ESP8266
lcd = i2clcd (i2c, i2c_addr, totalrows, totalColumns)
Choć prawda:
LCD.putstr („Linuxhint.com ”)
sen (10)
LCD.jasne()

Powyższy kod rozpoczął się od wywołania klasy softi2c i pin z modułu maszyny. Dodaliśmy również moduł snu, aby dać opóźnienie. Następnie zadzwoniliśmy do dwóch ważnych bibliotek LCD_API.py I i2c_lcd.py Właśnie zapisaliśmy w folderze ESP32.

Następny adres I2C 0x27 jest zdefiniowany po tym, jak definiujemy całkowite wiersze i kolumny wewnątrz LCD tutaj w naszym przypadku jest 16 × 2. Jeśli używasz innego rozmiaru ekranu, zmień wiersze i kolumny.

Aby wyświetlić tekst ciąg Linuxhint.com definiuje.

Wyjście

W wyjściu możemy zobaczyć ciąg zdefiniowany na ekranie LCD.

Wniosek

Micropython to język zaprojektowany specjalnie dla systemu wbudowanego. Korzystanie z dwóch bibliotek LCD_API.py I i2c_lcd.py Możemy łatwo połączyć LCD I2C z ESP32. Do programowania ESP32 z mikropythonem jest używany Thonny IDE. Ten artykuł jest przewodnikiem na temat interfejsu LCD z ESP32.