คำอธิบาย
OLED I2C คือ
OLED (Organic Light-Emitting Diode) คือจอแสดงผลชนิดหนึ่งที่ใช้ หลอด LED ขนาดจิ๋ว เป็นจุดพิกเซลในการแสดงผล โดยไม่ต้องมีแสงพื้นหลังเหมือน LCD
เมื่อนำมาใช้กับ Arduino มักจะมาในรูปแบบโมดูล ขนาดเล็ก (0.96 นิ้ว หรือ 1.3 นิ้ว) และใช้การสื่อสารแบบ I2C (สองสาย) ทำให้ต่อวงจรง่าย ใช้ขาน้อย
I2C (Inter-Integrated Circuit) คือโปรโตคอลสื่อสารที่ใช้เพียง 2 ขา คือ:
-
SDA (ข้อมูล)
-
SCL (สัญญาณนาฬิกา)
สเปคของ OLED I2C
รายการ
|
รายละเอียด
|
ขนาดจอ
|
0.96 นิ้ว (หรือ 1.3 นิ้ว)
|
ความละเอียด
|
128x64 พิกเซล (หรือ 128x32)
|
สีที่แสดง
|
โมโนโครม (ขาว / ฟ้า / เหลือง)
|
แรงดันไฟเลี้ยง
|
3.3V – 5V (ใช้กับ Arduino ได้โดยตรง)
|
โปรโตคอลสื่อสาร
|
I2C (ขา SDA / SCL)
|
ชิปควบคุมจอ
|
SSD1306 (นิยมที่สุด)
|
จำนวนขา
|
4 ขา: VCC, GND, SDA, SCL
|
กระแสที่ใช้
|
น้อยมาก (~20mA)
|
การใช้งานกับ Arduino
✅ การต่อสาย (กับ Arduino Uno/Nano)
OLED Pin Arduino Pin
VCC 5V
GND GND
SDA A4
SCL A5
ถ้าใช้ ESP8266/ESP32 ตำแหน่งขา SDA/SCL จะต่างออกไป
✅ การติดตั้งไลบรารีใน Arduino IDE:
ไปที่ Tools > Manage Libraries
ค้นหาและติดตั้ง:
Adafruit SSD1306
Adafruit GFX Library
✅ ตัวอย่างโค้ดแสดงข้อความ:
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);
void setup() {
if (!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) { // 0x3C = I2C address
Serial.println(F("OLED not found!"));
for (;;);
}
display.clearDisplay();
display.setTextSize(2);
display.setTextColor(SSD1306_WHITE);
display.setCursor(0, 10);
display.println("Hello!");
display.display();
}
void loop() {
// ทำงานอื่น ๆ ได้เลย จอจะค้างข้อความไว้
}
✅ การประยุกต์ใช้งาน:
-
แสดงค่าเซนเซอร์ เช่น อุณหภูมิ, ความชื้น, ค่าฝุ่น
-
ทำเมนูควบคุมระบบ
-
แสดงข้อความ/สถานะระบบ/ไอคอน
-
นาฬิกา, ตัวนับเวลา, สถานะ Wi-Fi ฯลฯ
📌 ข้อดีของ OLED I2C
