U ovom tutorijalu ćemo istražiti kako koristiti LCD1602 i LCD2004 sa ESP32 mikrokontrolerom. Ovi LCD ekrani nam omogućavaju da prikažemo tekst i druge informacije efikasno, poboljšavajući naše projekte vizuelnim povratnim informacijama. Također ćemo pokriti kako podesiti kontrast kako bismo osigurali čitljivost.
ESP32, dio SunFounder ESP32 IoT Learning kita, ima ugrađene Wi-Fi i Bluetooth mogućnosti, što ga čini moćnim alatom za razne IoT aplikacije. Povezivanjem LCD-a na ESP32, lako možemo prikazati poruke ili podatke iz našeg koda, čineći naše projekte interaktivnijim i korisnički prijateljskijim (u videu na 00:30).
Objašnjenje hardvera
Glavne komponente koje ćemo koristiti uključuju ESP32 mikrokontroler i LCD1602 ili LCD2004 modul ekrana. ESP32 će služiti kao mozak našeg projekta, obrađujući ulaze i kontrolišući izlaze, uključujući LCD ekran.
LCD modul komunicira putem I2C-a, što pojednostavljuje ožičenje koristeći samo dva podatkovna pina (SDA i SCL) za komunikaciju, zajedno s napajanjem i uzemljenjem. Ova postavka značajno smanjuje složenost povezivanja više pinova, omogućavajući čišći i upravljiviji krug.
Detalji iz tehničke dokumentacije
Proizvođač
SunFounder
Broj dijela
LCD1602
Logički/IO napon
5 V
Napon napajanja
5 V
Veličina ekrana
16 x 2 karaktera
Pozadinsko osvjetljenje
Da
Interfejs
I2C
Dimenzije
80 x 36 mm
Napomene / varijante
Često se koristi s I2C adresom 0x27
Osigurajte odgovarajući napon napajanja (5 V) kako biste spriječili oštećenje.
Koristite kratke žice kako biste minimizirali smetnje na I2C linijama.
Podesite potenciometar za optimalnu vidljivost kontrasta.
Provjerite I2C adresu ako se ekran ne inicijalizira (uobičajene adrese: 0x27, 0x3F).
Očistite ekran prije ažuriranja poruka kako biste izbjegli preklapanje.
Upute za ožičenje
ESP32-11_LCD-shema-ožičenja
ESP32-11_LCD-wiring
Da biste povezali LCD1602 na ESP32, prvo spojite uzemljenje (ground) pin LCD-a na uzemljenje pin na ESP32. Zatim spojite VCC pin LCD-a na 5V izlaz ESP32. Za I2C komunikaciju, spojite SDA pin LCD-a na pin 21 na ESP32, a SCL pin LCD-a spojite na pin 22 na ESP32. Provjerite da su veze sigurne kako biste izbjegli probleme s komunikacijom.
Važno je napomenuti da dok ESP32 radi na 3.3V logičkim nivoima, LCD1602 zahtijeva 5V za ispravan rad. Stoga, osigurajte da koristite ispravan napon napajanja kako biste izbjegli oštećenje LCD-a. Ako koristite drugu veličinu LCD-a, prilagodite ožičenje u skladu s I2C adresom i specifikacijama.
Primjeri koda i objašnjenje
U kodu, počinjemo uključivanjem potrebnih biblioteka za I2C komunikaciju i LCD. Kreiramo instancu LCD-a koristeći I2C adresu 0x27 i specificiramo da ima 16 kolona i 2 reda.
#include
#include
LiquidCrystal_I2C lcd(0x27,16,2); // postavi LCD adresu na 0x27 za prikaz od 16 karaktera i 2 linije
Ova postavka nam omogućava da lako kontrolišemo LCD. U setup() funkciji, inicijaliziramo LCD i uključujemo pozadinsko osvjetljenje, nakon čega ispisujemo poruku dobrodošlice.
U loop() funkciji, kontinuirano ažuriramo ekran čišćenjem, postavljanjem pozicije kursora i ispisivanjem trenutne vrijednosti brojača. Ovo demonstrira kako LCD može dinamički prikazivati promjenjive informacije.
void loop()
{
lcd.clear();
lcd.setCursor(0, 0); // Postavlja poziciju kursora na prvi red i prvu kolonu (0, 0).
lcd.print("COUNT: ");
lcd.print(count); // Ispisuje trenutnu vrijednost varijable count.
delay(1000);
count++; // Povećava brojač za 1.
}
Kompletan kod će se učitati ispod članka, gdje možete vidjeti potpunu implementaciju i sve dodatne funkcionalnosti dodane za vaš projekat.
Demonstracija / Šta očekivati
Kada je sve povezano i kod je uploadan, LCD bi trebao prikazati "Hello, world!" 3 sekunde prije nego što započne brojač koji se povećava svake sekunde. Možete podesiti kontrast pomoću potenciometra kako biste osigurali da je tekst lako čitljiv (u videu na 08:45).
Ako naiđete na bilo kakve probleme, provjerite veze ožičenja i osigurajte da se koristi ispravna I2C adresa. Česta greška je neusklađivanje I2C adrese LCD-a s onom postavljenom u kodu, što može spriječiti ispravno funkcioniranje ekrana.
810-ESP32 Tutorial 11/55- Arduino code for LCD using ESP32
Language: C++
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
//SDA->21,SCL->22
LiquidCrystal_I2C lcd(0x27,16,2); // set the LCD address to 0x27 for a 16 chars and 2 line display
int count = 0;
void setup()
{
lcd.init();// initialize the lcd
lcd.backlight(); // Turns on the LCD backlight.
lcd.print("Hello, world!"); // Print a message to the LCD.
delay(3000);
}
void loop()
{
lcd.clear();
lcd.setCursor(0, 0); // Sets the cursor position to the first row and first column (0, 0).
lcd.print("COUNT: ");
lcd.print(count); // Prints the current value of the count variable.
delay(1000);
count++; // Increments the counter by 1.
}
Disclosure: As an Amazon Associate, we earn from qualifying purchases. This means we may receive a small commission if you click a link and make a purchase at no extra cost to you.