استفاده از LCD1602 با رابط I2C - آموزش آردوینو
این آموزش نشان میدهد چگونه با یکنمایشگر LCD 1602با آردوینو با استفاده از یکماجیول I2Cاین کار اتصال را در مقایسه با سیمکشی موازی سنتی آسانتر و تمیزتر میکند. با فقط چهار اتصال (VCC, GND, SDA, SCL)، میتوانید نمایشگر را بهطور کامل کنترل کنید و متن یا دادههای حساس(حس کننده) را در پروژههای Arduino خود نمایش دهید.

تمام کدهای مورد نیاز، نمودارهای سیمکشی و واصلهای دانلود کتابخانهها در ادامهٔ این مقاله ارائه شدهاند.
LCD1602 با I2C چیست؟
TheLCD1602یک نمایشگر 16 کاراکتری و 2 ردیفه است که معمولاً در سیستمهای توکار استفاده میشود. معمولاً نیاز دارد6 تا 10 پایهبرای کار کردن، اما با افزودن یکماجیول I2C, فقطدو خط داده(SDA و SCL) برای ارتباط مورد نیاز هستند. این به طور چشمگیری سیمکشی را ساده میکند و پایههای بیشتری را روی آردوینو برای سایر قطعات آزاد میگذارد.
سیمکشی LCD1602 به آردوینو

در اینجا نحوهٔ سیمکشی LCD1602 با ماجیول I2C به آردوینو Uno را میبینید:
-
ولتاژ تغذیه (VCC)-۵ ولت
-
زمین-زمین
-
اسدیای-A4
-
اسسیال-A5
زیرنویس: LCD1602 با استفاده از تنها 4 سیم از طریق I2C به آردوینو متصل شده است.
- توضیح شِفر (کود): نمایش متن روی 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): السیدی را در آدرس مقداردهی اولیه میکند0x27با 16 ستون و 2 ردیف.
cppCopyEditvoid setup()
{
lcd.begin(); // Initialize LCD
lcd.backlight(); // Turn on backlight
}
-
lcd.begin()صفحهنمایش LCD را برای استفاده آماده میکند. -
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کتابخانه:
-
محیط توسعه آردوینو را باز کنید
-
برو بهاسکیچ > افزودن کتابخانه > مدیریت کتابخانهها
-
جستجو برای
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
}
مواردی که ممکن است به آنها نیاز داشته باشید
-
ایبی
-
علیاکسپرسکیت شروع آردوینو را از علیاکسپرس خریداری کنیدs.click.aliexpress.com
-
بنگ گودخرید نمایشگر LCD1602 از بنگودbanggood.com
منابع و مراجع
-
خارجی
-
خارجیخرید نمایشگر LCD1602 از بنگودbanggood.com
-
خارجی
-
خارجی
فایلها📁
کتابخانههای آردوینو (zip)
-
کتابخانه LCD Arduino LCD1602 از Robojax
robojax-LCD1602-I2C-library-master.zip0.01 MB
فایل فریزینگ
-
ماجیول LCD LCD1602-I2C با ۴ سیم
LCD1602-I2C.fzpz0.01 MB