شِفر (کود) جستجو

استفاده از LCD1602 با رابط I2C - آموزش آردوینو

استفاده از LCD1602 با رابط I2C - آموزش آردوینو

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

LCD1602-I2C display module with 4 wires

تمام کدهای مورد نیاز، نمودارهای سیم‌کشی و واصل‌های دانلود کتابخانه‌ها در ادامهٔ این مقاله ارائه شده‌اند.

LCD1602 با I2C چیست؟

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

سیم‌کشی LCD1602 به آردوینو

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

در اینجا نحوهٔ سیم‌کشی 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کتابخانه:

  1. محیط توسعه آردوینو را باز کنید

  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
}

مواردی که ممکن است به آن‌ها نیاز داشته باشید

فایل‌ها📁

کتابخانه‌های آردوینو (zip)

فایل فریزینگ