في هذا البرنامج التعليمي، سنستكشف كيفية استخدام LCD1602 وLCD2004 مع المتحكم الدقيق ESP32. تتيح لنا هذه الشاشات عرض النصوص ومعلومات أخرى بشكل فعال، مما يعزز مشاريعنا بالتغذية البصرية. سنغطي أيضًا كيفية ضبط التباين لضمان قابلية القراءة.
تتميز وحدة ESP32، جزء من مجموعة تعلم إنترنت الأشياء SunFounder ESP32، بقدرات واي فاي و بلوتوث مدمجة، مما يجعلها أداة قوية لتطبيقات إنترنت الأشياء المختلفة. من خلال ربط شاشة LCD بوحدة ESP32، يمكننا بسهولة عرض الرسائل أو مخرجات البيانات من الشيفرة الخاصة بنا، مما يجعل مشاريعنا أكثر تفاعلاً وسهولة في الاستخدام (في الفيديو عند 00:30).
شرح الأجهزة
تشمل المكونات الرئيسية التي سنستخدمها المتحكم الدقيق ESP32 ووحدة عرض LCD1602 أو LCD2004. سيعمل ESP32 كعقل لمشروعنا، حيث يعالج المدخلات ويتحكم في المخرجات، بما في ذلك عرض LCD.
يتواصل وحدة LCD عبر I2C، مما يبسط عملية التوصيل باستخدام اثنين فقط من دبابيس البيانات (SDA و SCL) للتواصل، بالإضافة إلى اتصالات الطاقة والأرض. يساهم هذا الإعداد بشكل كبير في تقليل تعقيد توصيل دبابيس متعددة، مما يسمح بدائرة أفصل وأكثر سهولة في الإدارة.
تفاصيل ورقة البيانات
مصنع
سانفاوندر
رقم الجزء
LCD1602
جهد المنطق/المدخلات والمخرجات
٥ ف
جهد التشغيل
٥ ف
حجم العرض
١٦ × ٢ حروف
إضاءة خلفية
نعم
واجهة
I2C
الأبعاد
٨٠ × ٣٦ مم
ملاحظات / متغيرات
يستخدم عادةً مع عنوان I2C 0x27
تأكد من توفير جهد كهربائي صحيح (5 فولت) لمنع الأضرار.
استخدم أسلاك قصيرة لتقليل التداخل على خطوط I2C.
قم بضبط المقاومة المتغيرة لتحقيق أفضل وضوح للتباين.
تحقق من عنوان I2C إذا لم يتم تهيئة العرض (العناوين الشائعة: 0x27، 0x3F).
قم بمسح الشاشة قبل تحديث الرسائل لتجنب التداخل.
تعليمات التوصيل
ESP32-11_LCD-مخطط توصيل
ESP32-11_LCD-wiring
لتوصيل LCD1602 بـ ESP32، قم أولاً بتوصيل دبوس الأرض (GND) في LCD بدبوس الأرض (GND) على ESP32. ثم، قم بتوصيل دبوس VCC في LCD بمنفذ 5V على ESP32. للتواصل عبر I2C، قم بتوصيل دبوس SDA في LCD بالدبوس 21 على ESP32، وقم بتوصيل دبوس SCL في LCD بالدبوس 22 على ESP32. تأكد من أن التوصيلات آمنة لتجنب أي مشاكل في الاتصال.
من المهم أن نلاحظ أنه بينما يعمل ESP32 عند مستويات جهد 3.3 فولت، فإن LCD1602 يتطلب 5 فولت لعمله بشكل صحيح. لذا، تأكد من أنك تستخدم مصدر الجهد الصحيح لتجنب الإضرار بشاشة 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()نقوم بت inicializar الشاشة 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.
}
سيتم تحميل الشيفرة الكاملة أسفل المقال، حيث يمكنك رؤية التنفيذ الكامل وأي وظائف إضافية تم إضافتها لمشروعك.
عرض / ما يمكن توقعه
بمجرد توصيل كل شيء ورفع الشيفرة، يجب أن يعرض شاشة LCD "مرحبًا، العالم!" لمدة 3 ثوانٍ قبل بدء عداد يزيد كل ثانية. يمكنك ضبط التباين باستخدام المقاومة المتغيرة لضمان أن النص سهل القراءة (في الفيديو عند 08:45).
إذا واجهت أي مشاكل، تحقق من توصيلات الأسلاك وتأكد من استخدام عنوان I2C الصحيح. خطأ شائع هو عدم مطابقه عنوان I2C الخاص بشاشة LCD مع ما هو مضبوط في الشيفرة، مما قد يمنع العرض من العمل بشكل صحيح.