การแสดงผลของจอ LCD ถ้ามองชัด ๆ แล้วจะเห็นว่าข้อความเกิดจากช่องสี่เหลี่ยมเล็ก ๆ มีสถานะเปิดกับปิดรวมกันหลาย ๆ ช่องกลายเป็น 1 ตัวอักษร ซึ่งเราสามารถสร้างอักษรของเราขึ้นมาเองได้ อาจจะใช้เว็บนี้ในการช่วยสร้างข้อความ http://fusion94.org/lcdchargen/
1. รุ่น LCD 16x2 หรือรุ่น LCD 1602 สามารถแสดงข้อความได้ 16 ตัวอักษร 2 บรรทัด
2. รุ่น LCD 20x4 หรือรุ่น LCD 2004 สามารถแสดงข้อความได้ 20 ตัวอักษร 4 บรรทัด
วิธีการใช้งาน Arduino จอ LCD แบบ I2C แสดงข้อความ
ดาวน์โหลดไลบารี LCD คลิกที่่นี่ หลังจากติดตั้งไลบารีแล้ว ก็พร้อมใช้งานได้เลย
การต่อใช้งาน จอ LCD แบบ I2C
- Vcc -> 3.3-5V
- Gnd -> Gnd
- SDA -> 4
- SCL -> 5
#include <Wire.h> #include <LCD.h> #include <LiquidCrystal_I2C.h> #define I2C_ADDR 0x27 // กำหนดตำแหน่ง Address ของ I2C // #define I2C_ADDR 0x3F // ในบางกรณี Address ของ I2C เป็น 0x3f //ให้เปลี่ยน 0x27 เป็น 0x3F #define BACKLIGHT_PIN 3 LiquidCrystal_I2C lcd(I2C_ADDR,2,1,0,4,5,6,7); void setup() { // lcd.begin (20,4); lcd.begin (16,2); /* byte customChar0[8] = { 0b00000, 0b00000, 0b00000, 0b11111, 0b11111, 0b11111, 0b11111, 0b00000 }; byte customChar1[8] = { 0b11100, 0b11100, 0b11100, 0b11111, 0b11111, 0b11111, 0b11110, 0b00000 }; lcd.createChar(1, customChar0); lcd.createChar(2, customChar1);*/ // Switch on the backlight lcd.setBacklightPin(BACKLIGHT_PIN,POSITIVE); lcd.setBacklight(HIGH); lcd.home (); // ไปที่ตัวอักษรที่ 0 แถวที่ 1 lcd.setCursor(1,0); // ไปทตัวอักษรที่ 1 แถวที่ 1 lcd.print("Welcome ALL"); lcd.setCursor(3,1); // ไปที่ตัวอักษรที่ 5 แถวที่ 2 lcd.print("ArduinoAll"); // lcd.write(1); // lcd.write(2); } void loop() { }จอ LCD 16x2 with I2C ทางร้านตรวจสอบให้อย่างละเอียด ทุกจุด ทุก pixel ถ้ามีปัญหาแม้เแต่จุด pixel เดียว ก็จะไม่ส่งให้ลูกค้า
I2C มี 2 เบอร์ PCF8574T/PCF8574AT
Datasheet บอกไว้ชัดเจนตามนี้ http://www.nxp.com/documents/data_sheet/PCF8574_PCF8574A.pdf
และ แต่ละเบอร์เปลี่้ยน address ได้ 8 แบบ มีความเป็นไปได้ 16 address แบบ ซึ่งทำให้เราสามารถต่อ LCD แบบ I2C ได้ถึง 16 ตัวพร้อมกันบนบอร์ดเดียว โดยใช้ขาควบคุมเพียง 2 เส้น
ไม่มีความคิดเห็น:
แสดงความคิดเห็น