Katika mafunzo haya, tutachunguza jinsi ya kutumia LCD1602 na LCD2004 na microcontroller ya ESP32. Skrini hizi za LCD zinaturuhusu kuonyesha maandishi na taarifa nyingine kwa ufanisi, kuboresha miradi yetu kwa maoni ya kuona. Pia tutajadili jinsi ya kurekebisha utofauti (contrast) ili kuhakikisha usomaji bora.
ESP32, sehemu ya kifurushi cha kujifunza cha SunFounder ESP32 IoT, ina uwezo wa Wi-Fi na Bluetooth uliojengewa ndani, na kuifanya kuwa chombo chenye nguvu kwa matumizi mbalimbali ya IoT. Kwa kuunganisha LCD kwenye ESP32, tunaweza kuonyesha ujumbe au matokeo ya data kutoka kwenye msimbo wetu kwa urahisi, na kufanya miradi yetu iwe ya kuingiliana zaidi na rafiki kwa mtumiaji (katika video saa 00:30).
Vifaa Vimeelezwa
Vipengele vikuu tutakavyotumia vinajumuisha microcontroller ya ESP32 na moduli ya kuonyesha LCD1602 au LCD2004. ESP32 itatumika kama ubongo wa mradi wetu, kuchakata pembejeo na kudhibiti matokeo, ikijumuisha onyesho la LCD.
Moduli ya LCD inawasiliana kupitia I2C, ambayo hurahisisha wiring kwa kutumia pini mbili tu za data (SDA na SCL) kwa mawasiliano, pamoja na miunganisho ya nguvu na ardhi. Mpangilio huu unapunguza kwa kiasi kikubwa ugumu wa kuunganisha pini nyingi, kuruhusu mzunguko safi na rahisi kusimamia.
Maelezo ya Datasheet
Mtengenezaji
SunFounder
Nambari ya sehemu
LCD1602
Voltage ya Logic/IO
5 V
Voltage ya usambazaji
5 V
Ukubwa wa onyesho
Herufi 16 x 2
Taa ya nyuma
Ndiyo
Kiolesura
I2C
Vipimo
80 x 36 mm
Vidokezo / lahaja
Inatumika kwa kawaida na anwani ya I2C 0x27
Hakikisha usambazaji sahihi wa voltage (5 V) ili kuzuia uharibifu.
Tumia nyaya fupi ili kupunguza usumbufu kwenye mistari ya I2C.
Rekebisha potentiometer kwa mwonekano bora wa utofauti.
Angalia anwani ya I2C ikiwa onyesho halianza (anwani za kawaida: 0x27, 0x3F).
Safisha onyesho kabla ya kusasisha ujumbe ili kuepuka mwingiliano.
Maagizo ya Wiring
Mchoro wa wiring wa ESP32-11_LCD
ESP32-11_LCD-wiring
Ili kuunganisha LCD1602 kwenye ESP32, kwanza unganisha pini ya ardhi ya LCD kwenye pini ya ardhi ya ESP32. Kisha, unganisha pini ya VCC ya LCD kwenye pato la 5V la ESP32. Kwa mawasiliano ya I2C, unganisha pini ya SDA ya LCD kwenye pini 21 ya ESP32, na unganisha pini ya SCL ya LCD kwenye pini 22 ya ESP32. Hakikisha miunganisho ni thabiti ili kuepuka matatizo ya mawasiliano.
Ni muhimu kutambua kwamba wakati ESP32 inafanya kazi kwa viwango vya logic vya 3.3V, LCD1602 inahitaji 5V kwa uendeshaji sahihi. Kwa hiyo, hakikisha unatumia usambazaji sahihi wa voltage ili kuepuka kuharibu LCD. Ikiwa unatumia ukubwa tofauti wa LCD, rekebisha wiring ipasavyo kulingana na anwani ya I2C na vipimo.
Mifano ya Msimbo na Maelezo
Katika msimbo, tunaanza kwa kujumuisha maktaba muhimu za mawasiliano ya I2C na LCD. Tunaunda mfano wa LCD kwa kutumia anwani ya I2C 0x27 na kubainisha kuwa ina safu 16 na safu mlalo 2.
#include
#include
LiquidCrystal_I2C lcd(0x27,16,2); // weka anwani ya LCD kuwa 0x27 kwa onyesho la herufi 16 na mistari 2
Mpangilio huu unaturuhusu kudhibiti LCD kwa urahisi. Katika kazi ya setup(), tunaanzisha LCD na kuwasha taa ya nyuma, ikifuatiwa na kuchapisha ujumbe wa kukaribisha.
void setup()
{
lcd.init(); // anzisha lcd
lcd.backlight(); // Washa taa ya nyuma ya LCD.
lcd.print("Hello, world!"); // Chapisha ujumbe kwenye LCD.
delay(3000);
}
Katika kazi ya loop(), tunaendelea kusasisha onyesho kwa kulisafisha, kuweka nafasi ya mshale, na kuchapisha thamani ya sasa ya hesabu. Hii inaonyesha jinsi LCD inavyoweza kuonyesha taarifa zinazobadilika kwa nguvu.
void loop()
{
lcd.clear();
lcd.setCursor(0, 0); // Weka nafasi ya mshale kwenye safu ya kwanza na safu mlalo ya kwanza (0, 0).
lcd.print("COUNT: ");
lcd.print(count); // Chapisha thamani ya sasa ya kigezo cha count.
delay(1000);
count++; // Ongeza hesabu kwa 1.
}
Msimbo kamili utapakiwa chini ya makala, ambapo unaweza kuona utekelezaji kamili na utendaji wowote wa ziada ulioongezwa kwa mradi wako.
Maonyesho / Nini cha Kutarajia
Mara tu kila kitu kimeunganishwa na msimbo umepakiwa, LCD inapaswa kuonyesha "Hello, world!" kwa sekunde 3 kabla ya kuanza hesabu inayoongezeka kila sekunde. Unaweza kurekebisha utofauti kwa kutumia potentiometer ili kuhakikisha maandishi yanasomeka kwa urahisi (katika video saa 08:45).
Ikiwa utapata matatizo yoyote, angalia miunganisho ya wiring na uhakikishe anwani sahihi ya I2C inatumika. Kosa la kawaida ni kutolinganisha anwani ya I2C ya LCD na ile iliyowekwa kwenye msimbo, ambayo inaweza kuzuia onyesho kufanya kazi vizuri.
Vidokezo vya Muda wa Video
00:00 Mwanzo
1:47 Utangulizi wa LCD
3:26 Ukurasa wa nyaraka
5:06 Jinsi ya kuunganisha LCD na ESP32
9:07 Kuchagua bodi ya ESP32 na COMP port kwenye Arduino
810-ESP32 Tutorial 11/55- Arduino code for LCD using ESP32
Språk: 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.
}
Upplysning: Som en Amazon Associate tjänar vi på kvalificerade köp. Det betyder att vi kan få en liten provision om du klickar på en länk och gör ett köp utan extra kostnad för dig.