OLED i2c for Arduino

คำอธิบาย

OLED I2C คืออะไร? วิธีใช้งานกับ Arduino

OLED (Organic Light-Emitting Diode) คือเทคโนโลยีจอแสดงผลที่แต่ละพิกเซลสามารถเปล่งแสงได้ด้วยตัวเอง โดยใช้หลอด LED ขนาดเล็กจำนวนมากในการสร้างภาพ ทำให้ไม่ต้องอาศัยไฟส่องสว่างจากด้านหลัง (Backlight) เหมือนจอ LCD ทั่วไป ผลลัพธ์ที่ได้คือภาพที่คมชัด มี Contrast สูง และประหยัดพลังงานกว่า

สำหรับงาน DIY กับ Arduino จอ OLED มักจะมาในรูปแบบโมดูลขนาดเล็ก (เช่น 0.96 นิ้ว หรือ 1.3 นิ้ว) และนิยมใช้การสื่อสารแบบ I2C (Inter-Integrated Circuit) ซึ่งใช้สายสัญญาณเพียง 2 เส้น (SDA และ SCL) ทำให้การต่อวงจรนั้นง่ายและประหยัดขาของไมโครคอนโทรลเลอร์อย่างมาก

สเปคของ OLED I2C Module (0.96 นิ้ว)

ขนาดจอ 0.96 นิ้ว (หรือ 1.3 นิ้ว)
ความละเอียด 128x64 พิกเซล (หรือ 128x32)
สีที่แสดง โมโนโครม (ส่วนใหญ่เป็นสีขาว, ฟ้า, หรือเหลือง)
แรงดันไฟเลี้ยง 3.3V – 5V (ใช้กับ Arduino ได้โดยตรง)
โปรโตคอลสื่อสาร I2C (ขา SDA / SCL)
ชิปควบคุมจอ SSD1306 (เป็นรุ่นที่นิยมที่สุด)
จำนวนขา 4 ขา: VCC, GND, SDA, SCL
กระแสที่ใช้ น้อยมาก (ประมาณ 20mA)

การใช้งานกับ Arduino

การเริ่มต้นใช้งานจอ OLED กับ Arduino มี 3 ขั้นตอนหลักๆ คือ ติดตั้งไลบรารี, ต่อสาย, และอัปโหลดโค้ด

✅ 1. การติดตั้งไลบรารี (Library Installation)

ก่อนจะเขียนโค้ดได้ เราต้องติดตั้งไลบรารีที่จำเป็นก่อนผ่านโปรแกรม Arduino IDE:

  1. ไปที่เมนู Tools > Manage Libraries...
  2. ในช่องค้นหา พิมพ์ "Adafruit SSD1306" แล้วกด Install
  3. โปรแกรมจะถามให้ติดตั้งไลบรารีที่เกี่ยวข้อง (Dependencies) คือ "Adafruit GFX Library" ให้กด Install all

✅ 2. การต่อสาย (กับ Arduino Uno/Nano)

ขาบนจอ OLED ต่อกับขาบน Arduino
VCC 5V
GND GND
SDA A4
SCL A5

(หมายเหตุ: หากใช้บอร์ดรุ่นอื่น เช่น ESP8266/ESP32 ตำแหน่งของขา SDA/SCL อาจแตกต่างออกไป กรุณาตรวจสอบ Pinout ของบอร์ดนั้นๆ)

✅ 3. ตัวอย่างโค้ดแสดงข้อความ

โค้ดนี้จะแสดงคำว่า "Hello!" บนจอ OLED:

#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

// กำหนดขนาดจอ
#define SCREEN_WIDTH 128 
#define SCREEN_HEIGHT 64

// สร้าง object ของจอ โดยระบุขนาดและขา I2C
// -1 หมายถึงใช้ขา Reset ของ Hardware
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);

void setup() {
  Serial.begin(9600);

  // เริ่มต้นการทำงานของจอ ที่ I2C address 0x3C
  if (!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) { 
    Serial.println(F("SSD1306 allocation failed"));
    for (;;); // วนลูปไม่รู้จบหากหาจอไม่เจอ
  }

  // ล้างค่าในหน้าจอ
  display.clearDisplay();

  // ตั้งค่าการแสดงผล
  display.setTextSize(2);             // ขนาดตัวอักษร
  display.setTextColor(SSD1306_WHITE); // สีตัวอักษร
  display.setCursor(0, 10);           // ตำแหน่งเริ่มต้น (x, y)
  
  // พิมพ์ข้อความลงใน buffer
  display.println("Hello!");

  // แสดงผลจาก buffer ออกมาที่หน้าจอจริง
  display.display();
}

void loop() {
  // ไม่ต้องทำอะไรใน loop เพราะข้อความจะค้างอยู่บนจอ
}
หมายเหตุ: I2C Address ของจอ OLED ส่วนใหญ่คือ 0x3C แต่บางรุ่นอาจเป็น 0x3D หากโค้ดไม่ทำงาน ให้ลองเปลี่ยนค่าในบรรทัด display.begin(...) ดู

การประยุกต์ใช้งาน

  • แสดงค่าที่อ่านได้จากเซนเซอร์ต่างๆ เช่น อุณหภูมิ, ความชื้น, คุณภาพอากาศ (ค่าฝุ่น PM2.5)
  • ใช้เป็นหน้าจอสำหรับสร้างเมนู เพื่อควบคุมการทำงานของโปรเจกต์
  • แสดงสถานะการทำงานของระบบ เช่น สถานะการเชื่อมต่อ Wi-Fi, IP Address, หรือข้อความแจ้งเตือน
  • สร้างนาฬิกาดิจิทัล, ตัวนับเวลา, หรือสกอร์บอร์ดขนาดเล็ก

ข้อดีของ OLED I2C

  • ภาพคมชัดมาก: เนื่องจากแต่ละพิกเซลเปล่งแสงเอง ทำให้มี Contrast สูง ตัวหนังสือคมชัดแม้มองในที่มืด
  • ประหยัดพลังงาน: เพราะไม่ต้องใช้ไฟ Backlight เหมือนจอ LCD พิกเซลสีดำคือการ "ไม่เปล่งแสง" จึงกินไฟน้อยมาก
  • ใช้สายน้อย: การสื่อสารแบบ I2C ใช้เพียง 2 เส้น (SDA, SCL) ทำให้เหลือขา GPIO ของ Arduino ไปใช้งานกับอุปกรณ์อื่นได้อีกเยอะ

OLED i2c for Arduino

รูปแบบสินค้า

รหัสสินค้า: NF73855+SSNF01116

80.00 ฿ 60.00 ฿ ไม่รวมภาษีมูลค่าเพิ่ม

      คำอธิบาย

      OLED I2C คืออะไร? วิธีใช้งานกับ Arduino

      OLED (Organic Light-Emitting Diode) คือเทคโนโลยีจอแสดงผลที่แต่ละพิกเซลสามารถเปล่งแสงได้ด้วยตัวเอง โดยใช้หลอด LED ขนาดเล็กจำนวนมากในการสร้างภาพ ทำให้ไม่ต้องอาศัยไฟส่องสว่างจากด้านหลัง (Backlight) เหมือนจอ LCD ทั่วไป ผลลัพธ์ที่ได้คือภาพที่คมชัด มี Contrast สูง และประหยัดพลังงานกว่า

      สำหรับงาน DIY กับ Arduino จอ OLED มักจะมาในรูปแบบโมดูลขนาดเล็ก (เช่น 0.96 นิ้ว หรือ 1.3 นิ้ว) และนิยมใช้การสื่อสารแบบ I2C (Inter-Integrated Circuit) ซึ่งใช้สายสัญญาณเพียง 2 เส้น (SDA และ SCL) ทำให้การต่อวงจรนั้นง่ายและประหยัดขาของไมโครคอนโทรลเลอร์อย่างมาก

      สเปคของ OLED I2C Module (0.96 นิ้ว)

      ขนาดจอ 0.96 นิ้ว (หรือ 1.3 นิ้ว)
      ความละเอียด 128x64 พิกเซล (หรือ 128x32)
      สีที่แสดง โมโนโครม (ส่วนใหญ่เป็นสีขาว, ฟ้า, หรือเหลือง)
      แรงดันไฟเลี้ยง 3.3V – 5V (ใช้กับ Arduino ได้โดยตรง)
      โปรโตคอลสื่อสาร I2C (ขา SDA / SCL)
      ชิปควบคุมจอ SSD1306 (เป็นรุ่นที่นิยมที่สุด)
      จำนวนขา 4 ขา: VCC, GND, SDA, SCL
      กระแสที่ใช้ น้อยมาก (ประมาณ 20mA)

      การใช้งานกับ Arduino

      การเริ่มต้นใช้งานจอ OLED กับ Arduino มี 3 ขั้นตอนหลักๆ คือ ติดตั้งไลบรารี, ต่อสาย, และอัปโหลดโค้ด

      ✅ 1. การติดตั้งไลบรารี (Library Installation)

      ก่อนจะเขียนโค้ดได้ เราต้องติดตั้งไลบรารีที่จำเป็นก่อนผ่านโปรแกรม Arduino IDE:

      1. ไปที่เมนู Tools > Manage Libraries...
      2. ในช่องค้นหา พิมพ์ "Adafruit SSD1306" แล้วกด Install
      3. โปรแกรมจะถามให้ติดตั้งไลบรารีที่เกี่ยวข้อง (Dependencies) คือ "Adafruit GFX Library" ให้กด Install all

      ✅ 2. การต่อสาย (กับ Arduino Uno/Nano)

      ขาบนจอ OLED ต่อกับขาบน Arduino
      VCC 5V
      GND GND
      SDA A4
      SCL A5

      (หมายเหตุ: หากใช้บอร์ดรุ่นอื่น เช่น ESP8266/ESP32 ตำแหน่งของขา SDA/SCL อาจแตกต่างออกไป กรุณาตรวจสอบ Pinout ของบอร์ดนั้นๆ)

      ✅ 3. ตัวอย่างโค้ดแสดงข้อความ

      โค้ดนี้จะแสดงคำว่า "Hello!" บนจอ OLED:

      #include <Wire.h>
      #include <Adafruit_GFX.h>
      #include <Adafruit_SSD1306.h>
      
      // กำหนดขนาดจอ
      #define SCREEN_WIDTH 128 
      #define SCREEN_HEIGHT 64
      
      // สร้าง object ของจอ โดยระบุขนาดและขา I2C
      // -1 หมายถึงใช้ขา Reset ของ Hardware
      Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);
      
      void setup() {
        Serial.begin(9600);
      
        // เริ่มต้นการทำงานของจอ ที่ I2C address 0x3C
        if (!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) { 
          Serial.println(F("SSD1306 allocation failed"));
          for (;;); // วนลูปไม่รู้จบหากหาจอไม่เจอ
        }
      
        // ล้างค่าในหน้าจอ
        display.clearDisplay();
      
        // ตั้งค่าการแสดงผล
        display.setTextSize(2);             // ขนาดตัวอักษร
        display.setTextColor(SSD1306_WHITE); // สีตัวอักษร
        display.setCursor(0, 10);           // ตำแหน่งเริ่มต้น (x, y)
        
        // พิมพ์ข้อความลงใน buffer
        display.println("Hello!");
      
        // แสดงผลจาก buffer ออกมาที่หน้าจอจริง
        display.display();
      }
      
      void loop() {
        // ไม่ต้องทำอะไรใน loop เพราะข้อความจะค้างอยู่บนจอ
      }
      
      หมายเหตุ: I2C Address ของจอ OLED ส่วนใหญ่คือ 0x3C แต่บางรุ่นอาจเป็น 0x3D หากโค้ดไม่ทำงาน ให้ลองเปลี่ยนค่าในบรรทัด display.begin(...) ดู

      การประยุกต์ใช้งาน

      • แสดงค่าที่อ่านได้จากเซนเซอร์ต่างๆ เช่น อุณหภูมิ, ความชื้น, คุณภาพอากาศ (ค่าฝุ่น PM2.5)
      • ใช้เป็นหน้าจอสำหรับสร้างเมนู เพื่อควบคุมการทำงานของโปรเจกต์
      • แสดงสถานะการทำงานของระบบ เช่น สถานะการเชื่อมต่อ Wi-Fi, IP Address, หรือข้อความแจ้งเตือน
      • สร้างนาฬิกาดิจิทัล, ตัวนับเวลา, หรือสกอร์บอร์ดขนาดเล็ก

      ข้อดีของ OLED I2C

      • ภาพคมชัดมาก: เนื่องจากแต่ละพิกเซลเปล่งแสงเอง ทำให้มี Contrast สูง ตัวหนังสือคมชัดแม้มองในที่มืด
      • ประหยัดพลังงาน: เพราะไม่ต้องใช้ไฟ Backlight เหมือนจอ LCD พิกเซลสีดำคือการ "ไม่เปล่งแสง" จึงกินไฟน้อยมาก
      • ใช้สายน้อย: การสื่อสารแบบ I2C ใช้เพียง 2 เส้น (SDA, SCL) ทำให้เหลือขา GPIO ของ Arduino ไปใช้งานกับอุปกรณ์อื่นได้อีกเยอะ

      Recently viewed products

      © 2025 บริษัท โกลบอลโทรนิค อินเตอร์เทรด จํากัด, ขับเคลื่อนโดย Shopify

      • PayPal

      เข้าสู่ระบบ

      ลืมรหัสผ่านใช่ไหม?

      ยังไม่มีบัญชีใช่ไหม?
      สร้างบัญชี