در این آموزش، ما به بررسی نحوه استفاده از LCD1602 و LCD2004 با میکروکنترلر ESP32 خواهیم پرداخت. این صفحههای LCD به ما اجازه میدهند تا متن و سایر اطلاعات را به طور مؤثر نمایش دهیم و پروژههای خود را با بازخورد بصری بهبود ببخشیم. همچنین نحوه تنظیم کنتراست را برای اطمینان از خوانایی بررسی خواهیم کرد.
ESP32، بخشی از کیت یادگیری اینترنت اشیاء SunFounder ESP32، دارای قابلیتهای Wi-Fi و Bluetooth داخلی است که آن را به ابزاری قوی برای انواع برنامههای اینترنت اشیاء تبدیل میکند. با اتصال LCD به ESP32، میتوانیم به راحتی پیامها یا خروجیهای دادهای از شِفر (کود) خود را نمایش دهیم و پروژههای خود را تعاملیتر و کاربرپسندتر کنیم (در ویدیو در 00:30).
سختافزار توضیح داده شده
اجزای اصلی که ما استفاده خواهیم کرد شامل میکروکنترلر ESP32 و ماجیول نمایش LCD1602 یا LCD2004 است. ESP32 به عنوان مغز پروژه ما عمل خواهد کرد، ورودیها را پردازش کرده و خروجیها را کنترل خواهد کرد، از جمله نمایشگر LCD.
ماجیول LCD از طریق I2C ارتباط برقرار میکند، که با استفاده از تنها دو پایه داده (SDA و SCL) برای ارتباط، سیمکشی را سادهتر میکند و همچنین شامل اتصالات منبع تغذیه و زمین است. این تنظیم تا حد زیادی پیچیدگی اتصال چندین پایه را کاهش میدهد و باعث میشود مدار تمیزتر و قابل مدیریتتری داشته باشیم.
جزئیات برگه مشخصات
تولیدکننده
سان_FOUNDER
شماره قطعه
LCD1602
ولتاژ منطق/ورودی و خروجی
۵ ولت
ولتاژ تأمین
۵ ولت
اندازه نمایش
۱۶ x ۲ خصیصه
نور پسزمینه
بله
رابط کاربری
I2C
ابعاد
۸۰ × ۳۶ میلیمتر
یادداشتها / واریانتها
معمولاً با آدرس I2C 0x27 استفاده میشود
مطمئن شوید که ولتاژ مناسب (5 ولت) تأمین شود تا از آسیب دیدگی جلوگیری شود.
از سیمهای کوتاه استفاده کنید تا تداخل در خطوط I2C به حداقل برسد.
پتانسیومتر را برای دید بهتر کنتراست تنظیم کنید.
آدرس I2C را بررسی کنید اگر نمایشگر راهاندازی نشود (آدرسهای رایج: ۰x۲۷، ۰x۳F).
قبل از بهروز کردن پیامها، صفحه نمایش را پاک کنید تا از همپوشانی جلوگیری شود.
دستورالعملهای سیمکشی
نقشه سیمکشی LCD-ESP32-11
ESP32-11_LCD-wiring
برای اتصال LCD1602 به ESP32، ابتدا پایه زمین LCD را به پایه زمین ESP32 متصل کنید. سپس، پایه VCC LCD را به خروجی ۵ ولت ESP32 متصل کنید. برای ارتباط I2C، پایه SDA LCD را به پایه ۲۱ ESP32 متصل کنید و پایه SCL LCD را به پایه ۲۲ ESP32 متصل کنید. اطمینان حاصل کنید که اتصالات محکم هستند تا از هر گونه مشکل ارتباطی جلوگیری شود.
مهم است که توجه داشته باشید در حالی که ESP32 در سطوح منطقی 3.3V کار میکند، LCD1602 برای عملکرد صحیح به 5V نیاز دارد. بنابراین، اطمینان حاصل کنید که از منبع ولتاژ مناسب استفاده میکنید تا از آسیب به LCD جلوگیری شود. اگر از سایز مختلفی از LCD استفاده میکنید، کابلکشی را بر اساس آدرس I2C و مشخصات مرتبط تنظیم کنید.
نمونههای شِفر (کود) و راهنمایی
در شِفر (کود)، با گنجاندن کتابخانههای لازم برای ارتباط I2C و LCD آغاز میکنیم. ما نمونهای از LCD را با استفاده از آدرس I2C 0x27 ایجاد میکنیم و مشخص میکنیم که دارای 16 ستون و 2 ردیف است.
#include
#include
LiquidCrystal_I2C lcd(0x27,16,2); // set the LCD address to 0x27 for a 16 chars and 2 line display
این تنظیم به ما این امکان را میدهد که به راحتی LCD را کنترل کنیم. درsetup()در این تابع، ما LCD را راهاندازی کرده و نور پسزمینه را روشن میکنیم و پس از آن پیام خوشآمدگویی را چاپ میکنیم.
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);
}
در loop()با عملکرد، ما به طور مداوم نمایش را با پاک کردن آن، تعیین موقعیت نشانگر و چاپ مقدار شمارش فعلی به روز میکنیم. این نشان میدهد که چطور LCD میتواند به طور پویا اطلاعات در حال تغییر را نمایش دهد.
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.
}
شِفر (کود) کامل در زیر مقاله بارگذاری خواهد شد، جایی که میتوانید پیادهسازی کامل و هر قابلیت اضافی که برای پروژهتان اضافه شده است را مشاهده کنید.
نمایشگاه / چه انتظاری داشته باشیم
پس از اینکه همه چیز متصل شد و شِفر (کود) بارگذاری شد، السیدی باید "Hello, world!" را به مدت ۳ ثانیه نمایش دهد قبل از اینکه یک شمارشگر شروع شود که هر ثانیه یک واحد افزایش مییابد. میتوانید با استفاده از پتانسیومتر کنتراست را تنظیم کنید تا اطمینان حاصل شود که متن به راحتی قابل خواندن است (در ویدیو در ۰۸:۴۵).
اگر با مشکلی مواجه شدید، اتصالات سیم کشی را بررسی کرده و از استفاده از آدرس I2C صحیح مطمئن شوید. یک اشتباه رایج، مطابقت نداشتن آدرس I2C ال سی دی با آنچه در شِفر (کود) تنظیم شده است، میباشد که میتواند از کارکرد صحیح نمایشگر جلوگیری کند.