یکی از محدودیتهای استفاده از نمایشگرهای 1602 و 2004 این است که دست کم 4 پین دیجیتال ارزشمند پردازنده را مشغول میکنند.
اگر پروژه پیچیده ای داشته باشید ممکن است پین دیجیتال کم بیاورید.
پس مجبور میشوید نمایشگر را فراموش کنید؟
یا پروژه را ؟
یا پول بیشتری میدهید و برد میکرو کنترولر قویتری میخرید!
اما با یک هزینه کم میتوانید نمایشگر را به I2C وصل کنید.
راهی بهتر از این نیست و به جای آن همه اتصالات فقط به 4 عدد سیم نیاز دارید.
این ماژول را به سادگی بر روی نمایشگر سوار میکنید و نیازی به هیچ گونه تنظیمی ندارد
وجود یک پتانسیومتر امکان تنظیم کنتراست را به شما میدهد
جامپر دو پین امکان روشن و خاموش کردن نور پشت ال سی دی را فراهم می سازد
با جامپرهای کوچکی که در کنار پتانسیومتر قرار دارند میتوانید آدرس I2C ماژول را تغییر دهید تا با آدرس سایر ماژولهای متصل شده به I2C تداخلی نداشته باشد
در انتها 4 پین جهت اتصال به برد میکرو کنترولر که دوتای آن پاور هستند و دوتای دیگر به SDA , SCL متصل شده و به همین سادگی.
این ماژول دارای کتابخانه اختصاصی نیز می باشد
برای نصب کتابخانه به منوی Tools/Manage Libraries بروید و به دنبال LiquidCrystal_I2C بگردید و آن را نصب کنید
سپس این نمونه برنامه را بارگزاری کنید و نتیجه را ببینید.
#include
#include
// Wiring: SDA pin is connected to A4 and SCL pin to A5.
// Connect to LCD via I2C, default address 0x27 (A0-A2 not jumpered)
LiquidCrystal_I2C lcd = LiquidCrystal_I2C(0x27, 16, 2); /// Change to (0x27,20,4) for 20x4 LCD.
void setup() {
// Initiate the LCD:
lcd.init();
lcd.backlight(); /// turn the lcd backlight on/off
}
void loop() {
// Print 'Hello World!' on the first line of the LCD:
lcd.setCursor(2, 0); // Set the cursor on the third column and first row.
lcd.print("1602 LCD Display"); // Print the string "Hello World!"
lcd.setCursor(2, 1); //Set the cursor on the third column and the second row (counting starts at 0!).
lcd.print("2 Lines 16 Chars");
}