Hướng Dẫn Thí Nghiệm Với LED RGB Trên Arduino

LED RGB là một loại LED đặc biệt có thể phát ra nhiều màu sắc khác nhau nhờ vào sự kết hợp của ba màu cơ bản: Red (Đỏ), Green (Xanh lá) và Blue (Xanh dương). Trong bài viết này, chúng ta sẽ tìm hiểu cách kết nối và lập trình LED RGB bằng Arduino.


1. LED RGB là gì?

🔹 LED RGB gồm 3 đi-ốt phát sáng trong một vỏ bọc duy nhất, mỗi đi-ốt phát ra một màu sắc khác nhau (Đỏ, Xanh lá, Xanh dương).
🔹 Có hai loại LED RGB phổ biến:
Loại Cathode chung (Common Cathode – CC): Chân GND chung, các chân R, G, B được cấp mức cao để bật LED.
Loại Anode chung (Common Anode – CA): Chân VCC chung, các chân R, G, B được kéo xuống mức thấp để bật LED.

💡 Trong bài này, chúng ta sử dụng LED RGB Cathode chung.


2. Chuẩn bị linh kiện

1 x LED RGB (Cathode chung)
3 x điện trở 220Ω (hạn chế dòng điện)
1 x Arduino Uno/Nano/Mega
Dây cắm Breadboard


3. Sơ đồ đấu nối LED RGB với Arduino

Chân LED RGBKết nối với Arduino
Chân GNDGND trên Arduino
Chân R (Red)Chân 9
Chân G (Green)Chân 10
Chân B (Blue)Chân 11

💡 Mỗi chân R, G, B cần nối với điện trở 220Ω để hạn chế dòng.


4. Lập trình điều khiển LED RGB

🔹 Chương trình đổi màu LED RGB đơn giản


void setup() {
  pinMode(9, OUTPUT);   // Chân điều khiển LED đỏ
  pinMode(10, OUTPUT);  // Chân điều khiển LED xanh lá
  pinMode(11, OUTPUT);  // Chân điều khiển LED xanh dương
}

void loop() {
  digitalWrite(9, HIGH);   // Bật màu đỏ
  digitalWrite(10, LOW);
  digitalWrite(11, LOW);
  delay(1000);

  digitalWrite(9, LOW);
  digitalWrite(10, HIGH);  // Bật màu xanh lá
  digitalWrite(11, LOW);
  delay(1000);

  digitalWrite(9, LOW);
  digitalWrite(10, LOW);
  digitalWrite(11, HIGH);  // Bật màu xanh dương
  delay(1000);
}

  

📌 Giải thích:

  • digitalWrite(9, HIGH); → Bật LED màu đỏ.
  • digitalWrite(10, HIGH); → Bật LED màu xanh lá.
  • digitalWrite(11, HIGH); → Bật LED màu xanh dương.
  • Thời gian chuyển đổi màu là 1 giây (1000ms).

5. Điều chỉnh màu sắc LED bằng PWM

Để tạo nhiều màu khác nhau, chúng ta có thể sử dụng PWM (Pulse Width Modulation) với hàm analogWrite().

🔹 Chương trình đổi màu mềm mượt bằng PWM


void setup() {
  pinMode(9, OUTPUT);
  pinMode(10, OUTPUT);
  pinMode(11, OUTPUT);
}

void loop() {
  for (int i = 0; i <= 255; i++) {
    analogWrite(9, i);    // Tăng dần cường độ màu đỏ
    analogWrite(10, 255-i); // Giảm dần màu xanh lá
    analogWrite(11, i/2);  // Điều chỉnh màu xanh dương
    delay(10);
  }
}
  



📌 Giải thích:

  • analogWrite(pin, value); → Điều chỉnh độ sáng của LED (giá trị từ 0 đến 255).
  • Vòng lặp for giúp thay đổi màu sắc từ từ để tạo hiệu ứng mượt hơn.

6. Ứng dụng mở rộng

Hiệu ứng chuyển màu mềm mượt bằng cách thay đổi giá trị PWM.
Cảm biến điều khiển LED RGB (ví dụ: thay đổi màu theo nhiệt độ hoặc ánh sáng).
Dùng module LED RGB WS2812B để tạo hiệu ứng ánh sáng chuyên nghiệp.


7. Kết luận

Bạn đã học cách điều khiển LED RGB bằng Arduino và tạo hiệu ứng chuyển màu bằng PWM. Trong bài tiếp theo, chúng ta sẽ tìm hiểu về đọc dữ liệu từ cảm biến nhiệt độ! 🚀

👉 Bạn đã thử nghiệm LED RGB chưa? Nếu gặp lỗi, hãy để lại bình luận để được hỗ trợ nhé! 🎯

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Chat Ngay