Jak interfejs LCD z ESPTOP 10 za pomocą Arduino IDE

Jak interfejs LCD z ESPTOP 10 za pomocą Arduino IDE

ESP32 to mikrokontroler oparty na IoT, który może przetwarzać wiele instrukcji, takich jak Arduino, ale jest domyślnie z Bluetooth i Wi -Fi. ESP32 to samodzielna płyta, która może pomóc innym systemowi w zmniejszeniu ich obciążenia, ponieważ może działać jako urządzenie główne lub niewolnicze. Podobnie jak Arduino, możemy również połączyć ekran LCD z ESP32. Omówmy, jak to zrobić szczegółowo.

Interfejs LCD z ESP32 za pomocą Arduino IDE

I2C LCD może wyświetlać procesy danych podczas programowania na ekranie. Daje wizualną reprezentację danych otrzymanych z czujników, modułów lub mikrokontrolerów. LCD można zintegrować bez użycia modułu I2C, ale korzyścią z używania I2C jest to, że używa tylko dwóch przewodów SDA I Scl Aby przekazać dane, które zapewniają dostarczenie kilku bezpłatnych we/OS na ESP32, które można wykorzystać do integracji innych urządzeń.

Dodatkowo ma na pokładzie potencjometr, który może kontrolować jasność wyświetlacza LCD, po prostu dostosowując pokrętło potencjometru.

Okablowanie LCD do ESP32 z I2C

Podłącz moduł I2C z ESP32 za pomocą cyfrowego pinu 21 i 22 ESP32. Poniżej podany obraz reprezentuje połączenia I2C z wyświetlaczem ESP32 i LCD. Pin SDA I2C jest połączony z pinem GPIO 21 ESP32, a podobnie scl pin I2C jest połączony z gpio pin 22.

Tabela poniżej reprezentuje połączenie ESP32 z I2C.

I2C LCD ESP32
GND GND
VCC Vin
SDA GPIO 21
Scl GPIO 22

Instalowanie biblioteki Liquidcrystal_I2C w Arduino IDE

Po zakończeniu obwodu Podłącz płytę ESP32 z komputerem. Teraz otwórz IDE i idź do Menedżer biblioteki Szukaj Ciekawy kryształ I2C biblioteka. Zainstaluj bibliotekę podaną przez Franka de Brabandera.

Po kliknięciu instalacji plików biblioteki rozpocznie się pobierania, po udanej instalacji odbędzie się komunikat zainstalowany biblioteka w oknie wyjściowym.

Uzyskanie adresu LCD

Zanim połączymy jakieś urządzenie I2C z ESP32, należy zauważyć, pod którym adresem jest podłączone określone urządzenie. Niektóre moduły mają domyślne adresy I2C zapisane, podczas gdy niektóre z nich nie mają instrukcji sprawdzania adresów I2C.

Aby rozwiązać ten problem, mamy drut kod biblioteki, który sprawdza wszystkie podłączone urządzenia I2C i pod jakim adresem są one podłączone do ESP32. Pomoże to w debugowaniu i ulepszeniu obwodu ESP32.

#include /*zawiera przewód.Biblioteka H*/
void Setup ()

Drut.zaczynać(); /*Wire I2C Komunikacja Start*/
Seryjny.rozpocząć (115200); /*Zestaw stawki BAUD dla komunikacji szeregowej*/
chwila (!Seryjny); /*Oczekiwanie na wyjście szeregowe na monitorze szeregowym*/
Seryjny.println („\ ni2c skaner”);

Void Loop ()

bajt err, ADR; /*Błąd zmiennej jest zdefiniowany za pomocą adresu I2C*/
int number_of_devices;
Seryjny.println („Skanowanie.");
numer_of_devices = 0;
dla (ADR = 1; ADR < 127; adr++ )

Drut.początkowa transmisja (ADR);
err = drut.endtransmission ();
if (err == 0)

Seryjny.drukuj („urządzenie I2C pod adresem 0x”);
if (ADR < 16)
Seryjny.druk („0”);
Seryjny.Drukuj (ADR, Hex);
Seryjny.println (" !");
numer_of_devices ++;

else if (err == 4)

Seryjny.print („Nieznany błąd pod adresem 0x”);
if (ADR < 16)
Seryjny.druk („0”);
Seryjny.println (ADR, hex);


if (numer_of_devices == 0)
Seryjny.println („nie podłączone urządzenie I2C \ n”);
w przeciwnym razie
Seryjny.println („Done \ n”);
opóźnienie (5000); /*Poczekaj 5 sekund na następny skanowanie I2C*/

Ten kod pomoże znaleźć liczbę urządzeń I2C i ich adres, pod którym są połączone. Ten kod jest powszechnie określany jako kod skanera I2C.

Po pierwsze, dołączyliśmy "Drut.H" biblioteka. Następnie w części instalacji kodu zaczęliśmy tę bibliotekę. Następnie inicjujemy komunikację szeregową, definiując wskaźnik transmisji 9600. Pomoże to zobaczyć wyjście przez monitor szeregowy.

W sekcji pętli zdefiniowaliśmy dwie zmienne "błądzić" I „ADR”. Następnie zdefiniowaliśmy inną zmienną "Urządzenia" i ustaw go na zero. Po tym Do pętla jest inicjowana z wartościami od 0 do 127.

Następnie wprowadzamy adres do przewodu za pomocą drut.początkowaTransmission (), Skaner I2C będzie szukał potwierdzenia urządzeń i ich adresu. Odczyt wartości będzie przechowywany w zmiennej "błąd". Wartość zwracana będzie równa 0, jeśli urządzenie potwierdzi, że wartość adresu będzie 4. Następnie użyliśmy warunku IF, który wydrukuje adres urządzenia I2C, jeśli wartość jest <16. Final address of the device is printed in Hexadecimal form.

Wyjście urządzeń przymocowanych do ESP32 przez protokoły I2C będą wyglądać jak pokazano na schemacie poniżej. Tutaj 0x3c to adres I2C LCD chwila 0x27 to adres OLED ekran.

Wyświetlanie tekstu na LCD

Wyświetlanie tekstu na LCD za pomocą ESP32 jest bardzo proste. Potrzebujemy tylko wybrania wiersza i kolumny LCD, w której chcemy wyświetlać znaki. Poniżej znajduje się bardzo prosty program wyświetlający „Linuxhint ESP32”.

#włączać
/* Zainicjuj kolumny i wiersze LCD*/
int lcd_columns = 16;
int lcd_rows = 2;
/* Ustaw adres LCD, liczbę kolumn i wierszy*/
/* Aby wiedzieć o adresie I2C (0x27), uruchom szkic skanera I2C*/
Liquidcrystal_I2C LCD (0x27, LCD_COLUMNS, LCD_ROWS);
void setup ()
/* Zainicjuj LCD*/
LCD.w tym();
/* Włącz podświetlenie LCD*/
LCD.FRETLIGHT ();

void Loop ()
/*Ustaw kursor na pierwszą kolumnę, pierwszy rząd*/
LCD.setCursor (0, 0);
/* Wydrukuj wiadomość*/
LCD.print („Linuxhint ESP32”);
opóźnienie (1000);
/*usuwa wyświetlacz, aby wydrukować nową wiadomość*/
LCD.jasne();

Podczas pisania kodu pierwszą rzeczą, której potrzebujemy, jest wywołanie instalowanej przez nas biblioteki ciekłej kryształów.

#włączać

Następne dwa wiersze reprezentują wiersze i kolumny LCD, w których potrzebujemy tekstu do wyświetlenia. Jeśli używasz wyświetlania dowolnego innego rozmiaru, zmień odpowiednio wiersz i kolumnę.

int lcd_columns = 16;
int lcd_rows = 2;

Następnie wyświetlimy adres I2C, z którym podłączony jest moduł LCD I2C. W naszym przypadku jest tak 0x27. Jeśli używasz podobnej wersji LCD, może być taka sama, jak nasza inaczej uruchomić kod sprawdzania adresu.

Liquidcrystal_I2C LCD (0x27, LCD_COLUMNS, LCD_ROWS);

Następnie zainicjowaliśmy wyświetlacz i podświetlenie LCD za pomocą następujących poleceń.

LCD.w tym();
LCD.FRETLIGHT ();

Aby wyświetlić tekst LCD Cursor, używa się 0 odpowiada pierwszej kolumnie i wierszu.

LCD.setCursor (0, 0);

Potem LCD.Funkcja print () służy do wyświetlania tekstu, a następnie wyczyszczamy ekran za pomocą LCD.jasne().

LCD.print („Linuxhint ESP32”);
LCD.jasne();

Wyjście

Wyjście kodu reprezentuje znaki zdefiniowane w programie na wyświetlaczu LCD.

Wniosek

Omówiliśmy wszystkie kroki, aby podłączyć wyświetlacz LCD z ESP32 za pomocą modułu I2C. Aby podłączyć LCD, musimy najpierw zainstalować bibliotekę za pomocą menedżera biblioteki. Następnie za pomocą poprawnego adresu I2C możemy wysłać dowolne dane, które chcemy do LCD.