การใช้งาน ESP32 กับจอแสดงผล LCD ผ่านการเชื่อมต่อ I2C

การพัฒนางานด้วย ESP32 ซึ่งเป็นไมโครคอนโทรลเลอร์ที่ทรงพลังและยืดหยุ่น สามารถช่วยให้งานของคุณสะดวกขึ้น โดยเฉพาะเมื่อใช้งานร่วมกับจอ LCD ผ่านการเชื่อมต่อแบบ I2C วันนี้เราจะมาแนะนำวิธีการตั้งค่าและการเขียนโค้ดเพื่อใช้งาน LCD แบบ I2C บน ESP32 อย่างละเอียด

1. การเชื่อมต่อฮาร์ดแวร์

จากแผนภาพที่แสดง การเชื่อมต่อระหว่าง ESP32 กับจอ LCD มีดังนี้:

  • VIN (5V) จาก ESP32 -> VCC ของจอ LCD
  • GND จาก ESP32 -> GND ของจอ LCD
  • D21 จาก ESP32 -> SDA ของจอ LCD
  • D22 จาก ESP32 -> SCL ของจอ LCD

หมายเหตุ: การเชื่อมต่อนี้อ้างอิงตามการตั้งค่าขา I2C มาตรฐานของ ESP32 หากคุณเปลี่ยนขา I2C จะต้องแก้ไขโค้ดให้ตรงกับการเชื่อมต่อใหม่

2. ไลบรารีที่ต้องใช้

คุณจะต้องติดตั้งไลบรารีสองตัวดังนี้:

  1. Wire.h – ใช้สำหรับการสื่อสารกับอุปกรณ์ I2C
  2. LiquidCrystal_I2C.h – ใช้ควบคุมจอ LCD แบบ I2C

คุณสามารถติดตั้งไลบรารีเหล่านี้ผ่าน Arduino IDE โดยไปที่ Tools > Manage Libraries แล้วค้นหาไลบรารีที่ต้องการ

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

ด้านล่างเป็นตัวอย่างโค้ดที่ใช้ควบคุมจอ LCD:

#include <Wire.h>                 // เรียกใช้ไลบรารี Wire เพื่อสื่อสารกับอุปกรณ์ I2C
#include <LiquidCrystal_I2C.h>    // เรียกใช้ไลบรารี LiquidCrystal_I2C สำหรับควบคุมจอ LCD แบบ I2C

// ตั้งค่าที่อยู่ของ LCD เป็น 0x27 (หรือ 0x3F) สำหรับจอขนาด 16 ตัวอักษรใน 2 แถว
LiquidCrystal_I2C lcd(0x27, 16, 2);

void setup()
{
  // เริ่มต้นการใช้งานจอ LCD
  lcd.begin();

  // เปิดไฟ backlight และพิมพ์ข้อความ
  lcd.backlight();              // เปิดไฟ backlight ของจอ LCD
  lcd.setCursor(0, 0);          // ตั้งตำแหน่งตัวอักษรไปที่ตำแหน่งแรกของแถวแรก
  lcd.print("Welcome To");      // พิมพ์ข้อความ "Welcome To" บนแถวแรกของจอ LCD

  lcd.setCursor(7, 1);          // ตั้งตำแหน่งตัวอักษรไปที่ตำแหน่งที่ 7 ของแถวที่สอง
  lcd.print("Damrong");         // พิมพ์ข้อความ "Damrong" บนแถวที่สองของจอ LCD
}

void loop() {
  // ไม่มีการกระทำในฟังก์ชัน loop สำหรับโค้ดนี้
}

4. การทำงานของโค้ด

  1. ตั้งค่าที่อยู่ I2C: ในตัวอย่างนี้เราใช้ที่อยู่ 0x27 ซึ่งเป็นค่าที่อยู่ทั่วไปของโมดูล I2C LCD หากโมดูลของคุณใช้ที่อยู่อื่น ให้เปลี่ยนให้ตรงกับอุปกรณ์ของคุณ
  2. ตั้งค่าขนาดจอ LCD: ตัวอย่างนี้ตั้งค่าขนาดจอ LCD เป็น 16 คอลัมน์ และ 2 แถว
  3. การแสดงข้อความ:
    • บรรทัดแรก (lcd.setCursor(0, 0)) พิมพ์ข้อความ “Welcome To”
    • บรรทัดที่สอง (lcd.setCursor(7, 1)) พิมพ์ข้อความ “Damrong”

5. คำแนะนำเพิ่มเติม

  • หากจอ LCD ไม่แสดงผล ลองตรวจสอบที่อยู่ I2C ของโมดูล LCD โดยใช้ I2C Scanner (โค้ด Scanner หาได้จากอินเทอร์เน็ต)
  • ระวังการเชื่อมต่อผิดขั้ว เช่น VCC และ GND เพื่อป้องกันความเสียหายต่ออุปกรณ์

สรุป

การใช้งาน ESP32 ร่วมกับจอ LCD ผ่าน I2C นั้นช่วยลดจำนวนสายที่ต้องเชื่อมต่อและทำให้ง่ายต่อการพัฒนาโปรเจกต์ นอกจากนี้ คุณยังสามารถประยุกต์ใช้งานได้หลากหลาย เช่น การแสดงผลข้อความหรือข้อมูลเซ็นเซอร์ในโปรเจกต์ IoT

หวังว่าบทความนี้จะช่วยให้คุณสามารถเริ่มต้นใช้งาน ESP32 กับจอ LCD ได้ง่ายขึ้น! 😊

หากมีคำถามหรือปัญหาเพิ่มเติม สามารถแสดงความคิดเห็นใต้บทความเพื่อพูดคุยและสอบถามได้!

Scroll to Top