ESP32 Упатство 11/55 - Користење на LCD1602 LCD2004 со ESP32 -SunFounder's ESP32 IoT Learning kit
Во ова упатство, ќе истражиме како да ги користиме LCD1602 и LCD2004 со микроконтролерот ESP32. Овие LCD екрани ни овозможуваат да прикажуваме текст и други информации ефективно, подобрувајќи ги нашите проекти со визуелни повратни информации. Исто така, ќе покриеме како да го прилагодиме контрастот за да обезбедиме читливост.

ESP32, дел од SunFounder ESP32 IoT Learning комплетот, има вградени Wi-Fi и Bluetooth можности, што го прави моќна алатка за различни IoT апликации. Со поврзување на LCD-от со ESP32, лесно можеме да прикажуваме пораки или податоци од нашиот код, правејќи ги нашите проекти поинтерактивни и попријатни за корисниците (во видео на 00:30).
Објаснување на хардверот
Главните компоненти што ќе ги користиме вклучуваат микроконтролерот ESP32 и LCD1602 или LCD2004 модулот за приказ. ESP32 ќе служи како мозок на нашиот проект, обработувајќи влезови и контролирајќи излези, вклучувајќи го и LCD екранот.
LCD модулот комуницира преку I2C, што го поедноставува поврзувањето со користење само на два пина за податоци (SDA и SCL) за комуникација, заедно со приклучоците за напојување и заземјување. Оваа поставка значително ја намалува сложеноста на поврзување на повеќе пинови, овозможувајќи почиста и поуправлива кола.
Детали од техничката документација
| Производител | SunFounder |
|---|---|
| Број на дел | LCD1602 |
| Логички/IO напон | 5 V |
| Напон на напојување | 5 V |
| Големина на екранот | 16 x 2 карактери |
| Позадинско осветлување | Да |
| Интерфејс | I2C |
| Димензии | 80 x 36 mm |
| Белешки / варијанти | Најчесто се користи со I2C адреса 0x27 |

- Осигурете соодветно напојување (5 V) за да спречите оштетување.
- Користете кратки жици за да ја минимизирате интерференцијата на I2C линиите.
- Прилагодете го потенциометарот за оптимална видливост на контрастот.
- Проверете ја I2C адресата ако екранот не се иницијализира (вообичаени адреси: 0x27, 0x3F).
- Исчистете го екранот пред ажурирање на пораките за да избегнете преклопување.
Инструкции за поврзување

За да го поврзете LCD1602 со ESP32, прво поврзете го пинот за заземјување на LCD-от со пинот за заземјување на ESP32. Потоа, поврзете го VCC пинот на LCD-от со 5V излезот на ESP32. За I2C комуникација, поврзете го SDA пинот на LCD-от со пин 21 на ESP32, и поврзете го SCL пинот на LCD-от со пин 22 на ESP32. Осигурете се дека врските се сигурни за да избегнете какви било комуникациски проблеми.
Важно е да се напомене дека додека ESP32 работи на 3.3V логички нивоа, LCD1602 бара 5V за правилно функционирање. Затоа, осигурете се дека користите правилен напон за напојување за да избегнете оштетување на LCD-от. Ако користите различна големина на LCD, прилагодете го поврзувањето соодветно врз основа на I2C адресата и спецификациите.
Примери на код и објаснување
Во кодот, започнуваме со вклучување на потребните библиотеки за I2C комуникација и LCD-от. Создаваме инстанца на LCD-от користејќи ја I2C адресата 0x27 и специфицираме дека има 16 колони и 2 реда.
#include
#include
LiquidCrystal_I2C lcd(0x27,16,2); // поставете ја LCD адресата на 0x27 за приказ од 16 карактери и 2 линии
Оваа поставка ни овозможува лесно да го контролираме LCD-от. Во функцијата setup(), ја иницијализираме LCD-от и го вклучуваме позадинското осветлување, проследено со печатење на порака за добредојде.
void setup()
{
lcd.init(); // иницијализирајте го LCD-от
lcd.backlight(); // Го вклучува позадинското осветлување на LCD-от.
lcd.print("Hello, world!"); // Печати порака на LCD-от.
delay(3000);
}
Во функцијата loop(), континуирано го ажурираме екранот со чистење, поставување на позицијата на курсорот и печатење на моменталната вредност на бројачот. Ова демонстрира како LCD-от може динамички да прикажува променливи информации.
void loop()
{
lcd.clear();
lcd.setCursor(0, 0); // Ја поставува позицијата на курсорот на првиот ред и првата колона (0, 0).
lcd.print("COUNT: ");
lcd.print(count); // Ја печати моменталната вредност на променливата count.
delay(1000);
count++; // Го зголемува бројачот за 1.
}
Целосниот код ќе се вчита под статијата, каде што можете да ја видите целосната имплементација и сите дополнителни функционалности додадени за вашиот проект.
Демонстрација / Што да очекувате
Откако сè ќе биде поврзано и кодот ќе биде поставен, LCD-от треба да прикаже "Hello, world!" 3 секунди пред да започне бројач што се зголемува секоја секунда. Можете да го прилагодите контрастот користејќи го потенциометарот за да обезбедите текстот лесно да се чита (во видео на 08:45).
Ако наидете на какви било проблеми, проверете ги жичените врски и осигурете се дека се користи точната I2C адреса. Вообичаена грешка е неусогласување на I2C адресата на LCD-от со онаа поставена во кодот, што може да го спречи правилното функционирање на екранот.
Временски ознаки на видеото
- 00:00 Почеток
- 1:47 Вовед во LCD
- 3:26 Страница со документација
- 5:06 Како да го поврзете LCD со ESP32
- 9:07 Избор на ESP32 плоча и COMP порта на Arduino
- 8:51 Инсталирање на LCD библиотека
- 10:06 Наоѓање на I2C адреса за LCD
- 14:00 Објаснување на Arduino кодот
- 17:50 Демонстрација
- 20:54 Користење на LCD2004 со ESP32
- 22:58 Зелениот LCD1602 е подобар од синиот
#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.
}
Common Course Links
Common Course Files
Ресурси и референци
-
ДокументацијаESP32 Tutorial 11/55 - SunFounder doc page for LCDdocs.sunfounder.com
Датотеки📁
Нема достапни датотеки.