การเชื่อมต่อ บอร์ด Arduino UNO R3 กับ LCD1602 i2C



 การเชื่อมต่อ บอร์ด Arduino UNO R3 กับ LCD1602 i2C  

อธิบาย LCD1602 I2C 

LCD1602 เป็นจอแสดงผลคริสตัลเหลว (Liquid Crystal Display) ขนาดเล็ก 

นิยมใช้กับโครงงานอิเล็กทรอนิกส์ต่าง ๆ เช่น Arduino หรือ Raspberry Pi โดยมีขนาด

16 ตัวอักษรต่อแถว และ 2 แถว ทำให้สามารถแสดงผลข้อความได้สูงสุด 2 บรรทัด


I2C คืออะไร ?

I2C (Inter-Integrated Circuit) เป็นโปรโตคอลการสื่อสารแบบอนุกรม 

ที่ใช้ในการเชื่อมต่ออุปกรณ์อิเล็กทรอนิกส์ต่างๆ เข้าด้วยกัน  โดยมีจุดเด่นคือใช้สายสัญญาณเพียง 2 เส้น

SDA และ SCL) ทำให้การเดินสายง่ายขึ้น และประหยัดพินของไมโครคอนโทรลเลอร์


LCD1602 I2C เป็น LCD1602 ที่มีการเพิ่มโมดูล I2C เข้ามา ทำให้สามารถสื่อสาร

กับไมโครคอนโทรลเลอร์ได้โดยตรงผ่านโปรโตคอล I2C โดยไม่ต้องใช้พินควบคุมจอ LCD 

จำนวนมากเหมือนแบบทั่วไป ทำให้การเขียนโปรแกรมง่ายขึ้น และประหยัดพินของไมโครคอนโทรลเลอร์


ข้อดีของ LCD1602 I2C

เชื่อมต่อง่าย: ใช้สายสัญญาณเพียง 2 เส้น (SDA และ SCL)

ประหยัดพิน: ไม่ต้องใช้พินควบคุมจอ LCD จำนวนมาก

ใช้งานง่าย: มีไลบารีสำหรับควบคุมจอ LCD ผ่าน I2C พร้อมใช้งาน

สามารถต่อเชื่อมได้หลายจอ: สามารถต่อเชื่อม LCD1602 I2C ได้หลายจอเข้ากับไมโครคอนโทรลเลอร์ตัวเดียวกัน

การใช้งาน LCD1602 I2C

โดยทั่วไปการใช้งาน LCD1602 I2C จะประกอบด้วยขั้นตอนดังนี้


เชื่อมต่อจอ LCD เข้ากับ Arduino UNO R3 ผ่านสายสัญญาณ I2C

I2C module Arduino UNO R3

VCC  ------> 5V Pin

GND  ------> Ground Pin

SDA  ------> A4 Pin

SCL  ------> A5 Pin


ติดตั้งไลบารีสำหรับควบคุมจอ LCD ผ่าน I2C 

ติดตั้งไลบรารี LiquidCrystal ให้ไปที่ Arduino IDE:

ไปที่เมนู Sketch > Include Library > Manage Libraries...

ค้นหา LiquidCrystal I2C และติดตั้ง



เขียนโปรแกรมเพื่อสั่งให้จอ LCD แสดงผล

//ตัวอย่างโค้ด

#include <Wire.h> 

#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27,16,2);  


void setup()

{

  lcd.begin(16,2);                      

  lcd.init();                      

  lcd.backlight();

  lcd.clear();  

  lcd.setCursor(0,0);

  lcd.print("Arduino UNO R3");

  delay(3000);

  lcd.setCursor(0,1);

  lcd.print("LCD1602 I2C");

  delay(3000);

}



void loop()

{

  lcd.clear();

  lcd.print("Hello World");

  delay(5000);

  lcd.clear();

  lcd.setCursor(0,0);

  lcd.print("Welcome To Omit");

  delay(3000);

  lcd.clear();

  lcd.setCursor(0,0);

  lcd.print("Arduino UNO R3 Board");

  delay(5000);

  lcd.clear();

  lcd.setCursor(0,0);

  lcd.print("Please Subscribe!");

  delay(5000);

  lcd.clear();

  lcd.setCursor(0,0);

  lcd.print("Thank You!");

  delay(5000);

}


ความคิดเห็น