KY-016 RGB LED Module คืออะไร?
KY-016 RGB LED Module เป็นโมดูลหลอดไฟ LED แบบ 3 สี (RGB: Red, Green, Blue) ที่ได้รับความนิยมอย่างมากในงาน Arduino, ESP32, ESP8266 และระบบ IoT ต่าง ๆ โดยภายในประกอบด้วย LED RGB 1 ดวง พร้อมตัวต้านทานจำกัดกระแสบนบอร์ด ทำให้สามารถนำไปใช้งานได้ทันทีโดยไม่ต้องต่อตัวต้านทานเพิ่มเติม
โมดูลนี้สามารถสร้างสีได้หลากหลายโดยการผสมความเข้มของแสงสีแดง สีเขียว และสีน้ำเงินเข้าด้วยกัน จึงมักใช้เป็นไฟแสดงสถานะ (Status Indicator) ของระบบต่าง ๆ เช่น
- แสดงสถานะ WiFi
- แสดงสถานะแบตเตอรี่
- แสดงคุณภาพอากาศ (AQI)
- แสดงระดับอุณหภูมิ
- แสดงสถานะเครื่องจักร
- แสดงสถานะ Smart Home
- แสดงผลการทำงานของ AIoT
สำหรับโปรเจกต์ KY-016 ตัวอย่างเช่น สำหรับใช้แสดงสถานะ PM2.5 และคุณภาพอากาศ
คุณสมบัติทางเทคนิค
| รายการ | ค่า |
|---|---|
| โมดูล | KY-016 |
| ประเภท LED | RGB LED |
| สีพื้นฐาน | Red, Green, Blue |
| แรงดันทำงาน | 3.3V – 5V |
| กระแสต่อสี | 10-20mA |
| จำนวนขา | 4 ขา |
| รองรับ PWM | Yes |
| ใช้กับ ESP32 | Yes |
| ใช้กับ Arduino UNO | Yes |
| ใช้กับ ESP8266 | Yes |
หลักการทำงานของ RGB LED
RGB ย่อมาจาก
R = Red
G = Green
B = Blue
ภายใน LED หนึ่งดวงประกอบด้วย
RGB LED
Red
●
/ \
/ \
●-----●
Green Blue
เมื่อเปิดแต่ละสีจะได้ผลดังนี้
| R | G | B | สีที่ได้ |
|---|---|---|---|
| 255 | 0 | 0 | แดง |
| 0 | 255 | 0 | เขียว |
| 0 | 0 | 255 | น้ำเงิน |
| 255 | 255 | 0 | เหลือง |
| 0 | 255 | 255 | ฟ้า |
| 255 | 0 | 255 | ม่วง |
| 255 | 255 | 255 | ขาว |
โครงสร้างโมดูล KY-016
โมดูลมาตรฐานจะมีลักษณะดังนี้
KY-016
┌─────────────┐
│ │
│ RGB LED │
│ │
└─────────────┘
R G B GND
รายละเอียดขา (Pinout)
| ขา | หน้าที่ |
|---|---|
| R | ควบคุม LED สีแดง |
| G | ควบคุม LED สีเขียว |
| B | ควบคุม LED สีน้ำเงิน |
| – | GND |
ตัวอย่างการต่อกับ ESP32
| KY-016 | ESP32 |
|---|---|
| R | GPIO25 |
| G | GPIO26 |
| B | GPIO27 |
| GND | GND |
หลักการผสมสี
RGB LED ใช้หลักการ Additive Color Mixing
Red + Green = Yellow
Red + Blue = Magenta
Green + Blue = Cyan
Red + Green + Blue = White
ตัวอย่าง
setColor(255,0,0);
ได้สีแดง
setColor(0,255,0);
ได้สีเขียว
setColor(0,0,255);
ได้สีน้ำเงิน
setColor(255,255,0);
ได้สีเหลือง
setColor(0,255,255);
ได้สีฟ้า (Cyan)
การควบคุมความสว่างด้วย PWM
ESP32 สามารถสร้างสัญญาณ PWM เพื่อปรับความสว่างของแต่ละสีได้
ตัวอย่าง
setColor(255,0,0);
แดงสว่างสุด
setColor(100,0,0);
แดงสว่างประมาณ 40%
setColor(20,0,0);
แดงสว่างน้อย
จึงสามารถสร้างสีได้มากกว่า
256 × 256 × 256
=
16,777,216 สี
หรือประมาณ 16.7 ล้านสี
การประยุกต์ใช้งาน
1. Smart Air Quality Monitor
ใช้แสดงค่า AQI
| AQI | สี |
|---|---|
| 0-50 | ฟ้า |
| 51-100 | เขียว |
| 101-200 | เหลือง |
| 201-300 | ส้ม |
| 301+ | แดง |
2. Smart Home
| สถานะ | สี |
|---|---|
| ระบบพร้อมใช้งาน | เขียว |
| กำลังเชื่อมต่อ | น้ำเงิน |
| แจ้งเตือน | เหลือง |
| ข้อผิดพลาด | แดง |
3. AI Assistant Robot
สำหรับ
| สถานะ | สี |
|---|---|
| รอฟังคำสั่ง | น้ำเงิน |
| กำลังประมวลผล | เหลือง |
| ตอบกลับ | เขียว |
| Error | แดง |
4. ระบบวัดอุณหภูมิ
| อุณหภูมิ | สี |
|---|---|
| ต่ำ | น้ำเงิน |
| ปกติ | เขียว |
| สูง | แดง |
5. Smart Factory
ใช้แสดงสถานะเครื่องจักร
| สถานะ | สี |
|---|---|
| Running | เขียว |
| Standby | น้ำเงิน |
| Warning | เหลือง |
| Alarm | แดง |
ข้อดีของ KY-016
- ราคาถูก
- ใช้งานง่าย
- มีตัวต้านทานบนบอร์ดแล้ว
- ใช้ได้ทั้ง 3.3V และ 5V
- รองรับ PWM
- สร้างสีได้มากกว่า 16 ล้านสี
- เหมาะกับ Arduino และ ESP32
- ใช้ GPIO เพียง 3 ขา
- เหมาะกับงาน IoT และ Smart City
ข้อจำกัด
- ไม่สามารถให้แสงสว่างได้มากเหมือนหลอด LED กำลังสูง
- มองเห็นชัดในระยะใกล้เท่านั้น
- ใช้เป็นไฟแสดงสถานะมากกว่าการส่องสว่าง
- หากใช้ PWM หลายช่องพร้อมกันอาจต้องจัดการ Timer ของ ESP32 ให้เหมาะสม
ตัวอย่างการใช้งาน กับ esp32

#define POT_PIN 34
#define RED_PIN 25
#define GREEN_PIN 26
#define BLUE_PIN 27
int AQI = 0;
void setup() {
Serial.begin(115200);
pinMode(RED_PIN, OUTPUT);
pinMode(GREEN_PIN, OUTPUT);
pinMode(BLUE_PIN, OUTPUT);
Serial.println("AQI RGB Indicator");
}
void loop() {
int adcValue = analogRead(POT_PIN);
// แปลงค่า 0-4095 เป็น AQI 0-500
AQI = map(adcValue, 0, 4095, 0, 500);
Serial.print("ADC = ");
Serial.print(adcValue);
Serial.print(" AQI = ");
Serial.println(AQI);
if (AQI <= 50) {
// สีฟ้า
setColor(0, 255, 255);
Serial.println("คุณภาพอากาศดีมาก");
}
else if (AQI <= 100) {
// สีเขียว
setColor(0, 255, 0);
Serial.println("คุณภาพอากาศดี");
}
else if (AQI <= 200) {
// สีเหลือง
setColor(255, 255, 0);
Serial.println("ปานกลาง");
}
else if (AQI <= 300) {
// สีส้ม
setColor(255, 100, 0);
Serial.println("เริ่มมีผลกระทบต่อสุขภาพ");
}
else {
// สีแดง
setColor(255, 0, 0);
Serial.println("มีผลกระทบต่อสุขภาพ");
}
delay(500);
}
void setColor(int red, int green, int blue) {
analogWrite(RED_PIN, red);
analogWrite(GREEN_PIN, green);
analogWrite(BLUE_PIN, blue);
}
KY-016 RGB LED Module เป็นโมดูล LED แสดงสถานะแบบ 3 สีที่เหมาะสำหรับงาน Arduino และ ESP32 อย่างมาก เนื่องจากใช้งานง่าย ราคาประหยัด และสามารถสร้างสีได้หลากหลายผ่านการควบคุมแบบ PWM จึงนิยมนำไปใช้ในระบบ IoT, Smart Home, Smart Factory, Smart Farm และ AI Assistant โดยเฉพาะโปรเจกต์ YakYim ที่สามารถใช้ KY-016 เป็นตัวแสดงผลคุณภาพอากาศ PM2.5 และสถานะการทำงานของระบบ AI ได้อย่างมีประสิทธิภาพ
