استخدام LCD1602 مع واجهة I2C - برنامج تعليمي لأردوينو
يوضح هذا الدليل التعليمي كيفية التفاعل معشاشة LCD 1602مع أردوينو باستخداموحدة I2C, مما يجعل توصيله أسهل وأنظف مقارنة بالأسلاك الموازية التقليدية. مع أربعة وصلات فقط (VCC, GND, SDA, SCL)، يمكنك التحكم الكامل بشاشة العرض وعرض نص أو بيانات المستشعر في مشاريع أردوينو الخاصة بك.

جميع الشفرات المطلوبة ومخططات التوصيل وروابط تحميل المكتبات مُدرجة أدناه في هذا المقال.
ما هو LCD1602 مع واجهة I2C؟
الLCD1602هو شاشة عرض مكوَّنة من 16 حرفًا وسطرين تُستخدم عادةً في الأنظمة المُضمَّنة. عادةً ما يتطلب6 إلى 10 دبابيسللعمل، ولكن عن طريق إضافةوحدة I2C, فقطسطران من البيانات(SDA و SCL) مطلوبان للتواصل. هذا يبسط توصيل الأسلاك بشكل كبير ويترك المزيد من الدبابيس متاحة على لوحة الأردوينو لمكونات أخرى.
توصيل شاشة LCD1602 بالأردوينو

إليك كيفية توصيل شاشة LCD1602 بوحدة I2C بلوحة Arduino Uno:
-
جهد التغذية VCC-5 فولت
-
الأرضي-الأرضي
-
إس دي إيه-A4
-
إس سي إل-A5
التعليق: LCD1602 متصل بأردوينو عبر I2C باستخدام 4 أسلاك فقط.
- شرح الكود عرض النص على شاشة LCD
يقوم الكود أدناه بتهيئة شاشة LCD، وتمكين إضاءة الخلفية، وطباعة نص في حلقة.
cppCopyEdit#include <Wire.h>
#include <LiquidCrystal_I2C.h>
// Set the LCD address to 0x27 for a 16 chars and 2 line display
LiquidCrystal_I2C lcd(0x27, 16, 2);
-
Wire.h: مطلوب للتواصل عبر I2C. -
LiquidCrystal_I2C.h: مكتبة للتحكم في شاشة LCD باستخدام I2C. -
lcd(0x27, 16, 2): يهيئ شاشة LCD عند العنوان0x27مع 16 عمودًا و2 صفين
cppCopyEditvoid setup()
{
lcd.begin(); // Initialize LCD
lcd.backlight(); // Turn on backlight
}
-
lcd.begin()يجهز شاشة الكريستال السائل للاستخدام. -
lcd.backlight()يشغّل الإضاءة الخلفية للشاشة.
cppCopyEditvoid loop()
{
lcd.clear(); // Clear previous content
lcd.print("Robojax"); // Print on first line
lcd.setCursor(0,1); // Move cursor to beginning of second line
lcd.print("Hello World!"); // Print on second line
delay(500); // Wait for 0.5 seconds
}
-
يُعاد تحديث الشاشة كل نصف ثانية.
-
يمكنك أيضًا عرض بيانات أخرى، مثل الوقت أو قيم المستشعر.
تثبيت المكتبة المطلوبة
يجب عليك تثبيت الـLiquidCrystal_I2Cمكتبة:
-
افتح Arduino IDE
-
اذهب إلىاسكتش > تضمين مكتبة > إدارة المكتبات
-
ابحث عن
LiquidCrystal_I2C -
انقرتثبيت
بمجرد التثبيت، تكون جاهزًا لتجميع ورفع الكود.
فصول من الفيديو
-
00:00- ابدأ
-
00:35-شرح LCD1602 ووحدة I2C
-
04:37-شرح الأسلاك
-
05:35-جاري تنزيل مكتبة LCD1602-I2C
-
07:13-شرح الكود لـ LCD1602
/*
This is code for LCD1602 Display with I2C module
* Watch the video for this code https://youtu.be/q9YC_GVHy5A
* Permission granted to share this code given that this
* note is kept with the code.
* Disclaimer: this code is "AS IS" and for educational purposes only.
* This library is based on work done by DFROBOT (www.dfrobot.com).
*/
/*
* This code has been modified from the Arduino library
* Updated by Ahmad Nejrabi on Jan 20, 2018 at 11:09
* in Ajax, Ontario, Canada
* for Robojax.com
*
* This is code for LCD1602 Display with I2C module
* which can display text on the screen.
*/
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
// Set the LCD address to 0x27 for a 16 chars and 2 line display
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup()
{
// Robojax code for LCD with I2C
// initialize the LCD,
lcd.begin();
// Turn on the backlight and print a message.
lcd.backlight();
// Robojax code for LCD with I2C
}
void loop()
{
//start of loop Robojax code for LCD with I2C
lcd.clear();
lcd.print("Robojax");
lcd.setCursor (0,1); // go to start of 2nd line
lcd.print("Hello World!");
//lcd.print(millis() / 1000);
delay(500);
//end of loop Robojax code for LCD with I2C
}
الأشياء التي قد تحتاجها
-
إي بايشراء مجموعة بدء Arduino من eBayebay.us
-
علي إكسبريساشترِ مجموعة بدء Arduino من علي إكسبريسs.click.aliexpress.com
-
بانجوداشترِ شاشة LCD1602 من بانجودbanggood.com
الموارد والمراجع
-
خارجي
-
خارجي
-
خارجي
-
خارجياشترِ شاشة LCD1602 من بانجودbanggood.com
ملفات📁
مكتبات أردوينو (ملف مضغوط)
-
مكتبة LCD1602 لـ Arduino من Robojax
robojax-LCD1602-I2C-library-master.zip0.01 MB
Fritzing File
-
وحدة LCD LCD1602-I2C مع 4 أسلاك
LCD1602-I2C.fzpz0.01 MB