كود البحث

استخدام LCD1602 مع واجهة I2C - برنامج تعليمي لأردوينو

استخدام LCD1602 مع واجهة I2C - برنامج تعليمي لأردوينو

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

LCD1602-I2C display module with 4 wires

جميع الشفرات المطلوبة ومخططات التوصيل وروابط تحميل المكتبات مُدرجة أدناه في هذا المقال.

ما هو LCD1602 مع واجهة I2C؟

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

توصيل شاشة LCD1602 بالأردوينو

Arduino wirng for LCD1602 with I2C
Arduino wirng for LCD1602 with I2C

إليك كيفية توصيل شاشة 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مكتبة:

  1. افتح Arduino IDE

  2. اذهب إلىاسكتش > تضمين مكتبة > إدارة المكتبات

  3. ابحث عنLiquidCrystal_I2C

  4. انقرتثبيت

بمجرد التثبيت، تكون جاهزًا لتجميع ورفع الكود.

فصول من الفيديو

  • 00:00- ابدأ

  • 00:35-شرح LCD1602 ووحدة I2C

  • 04:37-شرح الأسلاك

  • 05:35-جاري تنزيل مكتبة LCD1602-I2C

  • 07:13-شرح الكود لـ LCD1602

الصور

Arduino wirng for LCD1602 with I2C
Arduino wirng for LCD1602 with I2C
LCD1602-I2C display module with 4 wires
LCD1602-I2C display module with 4 wires
LCD1602-I2C display module with 4 wires
LCD1602-I2C display module with 4 wires
LCD1602-I2C display module with 4 wires
LCD1602-I2C display module with 4 wires
LCD1602-I2C display module with 4 wires
LCD1602-I2C display module with 4 wires
LCD1602-I2C display module with 4 wires
LCD1602-I2C display module with 4 wires
LCD1602-I2C display module with 4 wires
LCD1602-I2C display module with 4 wires
63-This is code for an LCD1602 display with an I2C module.
اللغة: C++
/*
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
}

الأشياء التي قد تحتاجها

ملفات📁

مكتبات أردوينو (ملف مضغوط)

Fritzing File