📟 نمایشگر LCD کاراکتری ۱۶×۲ با ماژول I2C در آردوینو

✍️ تیم ووکوی فارسی ·

LCD کاراکتری ۱۶×۲ همان صفحه‌ی سبز یا آبی آشنایی است که در دستگاه‌ها می‌بینی: دو خط، هر خط ۱۶ حرف. نسخه‌ی معمولی‌اش به شش تا ده سیم نیاز دارد، ولی با یک برد کوچک به اسم ماژول I2C پشتش، فقط با چهار سیم وصل می‌شود. در این آموزش همین نسخه‌ی I2C را با کتابخانه‌ی LiquidCrystal_I2C راه می‌اندازیم. اگر قبلاً این پروژه را در wokwi دیده‌ای و نسخه‌ی فارسی‌اش را می‌خواهی، این‌جاست.

چرا I2C؟

I2C یک «خط اتوبوس» دوسیمه است: یک سیم داده (SDA) و یک سیم ساعت (SCL). روی همین دو سیم می‌توانی چند دستگاه مختلف، مثلاً LCD و ساعت RTC و OLED را با هم وصل کنی، چون هر کدام یک آدرس جدا دارند. نتیجه: پایه‌های آردوینو برای سنسورها و دکمه‌ها آزاد می‌مانند.

قطعه‌ها

سیم‌کشی

پایه‌ی ماژول I2Cآردوینو Uno
GNDGND
VCC5V
SDAA4
SCLA5

کد کامل

#include <Wire.h>
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27, 16, 2);   // آدرس، تعداد ستون، تعداد سطر

void setup() {
  lcd.init();
  lcd.backlight();
  lcd.setCursor(0, 0);                // ستون 0، سطر 0
  lcd.print("Salam Wokwi.ir!");
}

void loop() {
  unsigned long sec = millis() / 1000;

  lcd.setCursor(0, 1);                // سطر دوم
  lcd.print("Time: ");
  lcd.print(sec);
  lcd.print(" s    ");                // فاصله‌ها حرف‌های قبلی را پاک می‌کنند
  delay(250);
}

توضیح خط‌های مهم

آدرس ماژولت را نمی‌دانی؟ روی برد واقعی یک برنامه‌ی «I2C Scanner» اجرا کن؛ این برنامه همه‌ی آدرس‌های روی باس را در سریال مانیتور چاپ می‌کند.

اجرا در شبیه‌ساز

در تینکرکد فارسی، LCD معمولی (موازی) و رایگان است و برای شروع عالی است: مثال سلام روی LCD و درس ۲۸: اولین متن روی LCD را ببین. دستورهای setCursor و print در هر دو نسخه یکی است؛ فقط خط تعریف فرق می‌کند. نسخه‌ی I2C جزو ماژول‌های حرفه‌ای اشتراک پلاس است. برای پروژه‌ی کامل‌تر هم داشبورد LCD را باز کن و صفحه‌ی قطعه‌ی LCD ۱۶×۲ را بخوان.

اشکال‌های رایج

یک نمایشگر گرافیکی‌تر می‌خواهی؟ OLED SSD1306 با آردوینو را بخوان. برای همه‌ی پروژه‌های آردوینو صفحه‌ی شبیه‌ساز آردوینو و برای کتابخانه‌ها صفحه‌ی کتابخانه‌ها را ببین.

اولین متن LCD را رایگان بنویس 📟

مقاله‌های مرتبط

🦇

فاصله‌سنج اولتراسونیک HC-SR04 با آردوینو

🔐

قفل در با کارت RFID (MFRC522) و سروو موتور در آردوینو

🌡️

سنسور دما و رطوبت DHT22 و DHT11 با آردوینو: سیم‌کشی، کد کامل و ترموستات کوچک

🐞

ارورهای رایج آردوینو و معنی‌شان: از was not declared in this scope تا avrdude

همه‌ی آموزش‌های سنسورها و ماژول‌ها ← · همه‌ی مقاله‌ها