Hướng dẫn Sử dụng Đèn LED RGB

Bạn đã bao giờ tò mò về cách một chiếc LED RGB có thể tạo ra hầu hết mọi màu sắc chưa? Trong bài viết này, chúng ta sẽ tìm hiểu về:

  • Cách hoạt động của LED RGB
  • Cách điều khiển LED RGB bằng Arduino

Huong dan RGB LEDs

LED RGB hoạt động như thế nào?

Một chiếc LED RGB kết hợp ba LED trong một gói duy nhất:

  • Một đèn LED màu đỏ
  • Một đèn LED màu xanh lá cây
  • Một đèn LED màu xanh dương

Bạn có thể tạo ra hầu hết mọi màu sắc bằng cách kết hợp ba màu này. Dưới đây là hình ảnh của một chiếc LED RGB:

Cách tạo ra các màu khác nhau?

Với một chiếc LED RGB, bạn có thể tạo ra đèn màu đỏ, xanh lá cây và xanh dương. Bằng cách điều chỉnh độ sáng của từng LED, bạn cũng có thể tạo ra các màu khác.

Ví dụ, để tạo ra đèn màu xanh dương tinh khiết, bạn cần đặt đèn LED xanh dương ở độ sáng cao nhất và đèn LED xanh lá cây và đèn LED đỏ ở độ sáng thấp nhất. Đối với đèn trắng, bạn cần đặt cả ba LED ở độ sáng cao nhất.

Kết hợp màu sắc

Để tạo ra các màu khác nhau, bạn có thể kết hợp ba màu sắc với độ sáng khác nhau. Để điều chỉnh độ sáng của từng LED, bạn có thể sử dụng tín hiệu PWM.

Do ba đèn LED rất gần nhau, mắt chúng ta nhìn thấy kết quả của sự kết hợp màu sắc, chứ không phải ba màu sắc riêng biệt.

Dưới đây là một biểu đồ đơn giản về cách kết hợp các màu sắc. Đây là biểu đồ kết hợp màu sắc đơn giản nhất, nhưng nó sẽ giúp bạn hiểu cách nó hoạt động và tạo ra các màu sắc khác nhau.

Biểu đồ kết hợp màu sắc

LED RGB với chân anode chung và chân cathode chung

Có hai loại LED RGB: LED RGB chân cathode chung và LED RGB chân anode chung. Hình ảnh dưới đây minh họa một LED RGB chân cathode chung và một LED RGB chân anode chung.

LED RGB

Trong LED RGB chân cathode chung, ba đèn LED chia sẻ một đầu nối âm (cathode). Trong LED RGB chân anode chung, ba đèn LED chia sẻ một đầu nối dương (anode).

Điều này dẫn đến việc LED có 4 chân, một cho mỗi LED và một chân chung cathode hoặc chân chung anode.

XEM THÊM:  Hướng dẫn cách chơi Astra trong Valorant

Chân của LED RGB

LED RGB có bốn chân – một cho mỗi LED và một chân chung anode hoặc cathode. Bạn có thể nhận biết từng chân bằng độ dài của nó, như hình ảnh dưới đây.

Chân của LED RGB

Khi nhìn thẳng vào LED với chân anode hoặc cathode (chân dài) ở vị trí thứ hai từ trái sang, các chân phải theo thứ tự sau: đỏ, anode hoặc cathode, xanh lá cây và xanh dương.

Phân biệt giữa LED RGB chân anode và LED RGB chân cathode

Cách tốt nhất để phân biệt LED RGB chân anode và LED RGB chân cathode là sử dụng một đồng hồ vạn năng.

Đặt đồng hồ vạn năng vào chế độ tiếp điểm.

Đặt đầu đo đỏ của đồng hồ vạn năng lên chân LED dài nhất. Sau đó, đặt đầu đo đen lên một trong các chân còn lại.

Nếu LED sáng lên, điều này có nghĩa bạn đang có một LED RGB chân anode.

Phân biệt LED RGB chân anode

Ngược lại, nếu bạn có một LED RGB chân cathode, bạn cần đặt đầu đo đen lên chân dài và đầu đo đỏ lên một trong các chân còn lại (xem hình dưới đây).

Phân biệt LED RGB chân cathode

Do đó, để phân biệt giữa LED RGB chân cathode và LED RGB chân anode:

  • Sử dụng đồng hồ vạn năng ở chế độ tiếp điểm
  • Nếu LED sáng lên khi đặt chân đỏ lên chân dài và đầu đen lên một trong các chân còn lại – bạn có một LED RGB chân anode
  • Nếu LED sáng lên khi đặt đầu đen lên chân dài và đầu đỏ lên một trong các chân còn lại – bạn có một LED RGB chân cathode

Điều khiển LED RGB bằng Arduino

Trong ví dụ này, chúng ta sẽ hướng dẫn bạn cách điều khiển màu sắc của một chiếc LED RGB bằng Arduino.

Dự án mà chúng ta sẽ xây dựng sử dụng ba cái potentiometers để điều chỉnh độ sáng của mỗi chân (LED) của LED RGB để tạo ra bất kỳ màu sắc nào bạn muốn.

LED RGB Control with Arduino

Các linh kiện cần thiết

Đối với ví dụ này, bạn cần các linh kiện sau:

  • Arduino UNO
  • LED RGB chân anode hoặc LED RGB chân cathode
  • 3 bộ điều chỉnh potentiometers 1k Ω
  • Breadboard
  • 3 resistor 220 Ω
  • Dây nối

Bạn có thể tìm các linh kiện cho dự án của mình với giá tốt nhất tại đường dẫn How To.

Schematic Diagram

Làm theo sơ đồ mạch dưới đây để kết nối mạch:

XEM THÊM:  Cách di chuyển bằng phương tiện công cộng ở Singapore

Schematic Diagram

Quan trọng: Nếu bạn sử dụng LED RGB chân cathode, bạn cần kết nối chân dài với GND thay vì 5V.

Code

Tải mã nguồn sau vào Arduino của bạn:

/* Tất cả tài liệu cho dự án này: https://randomnerdtutorials.com/ */
int redPin = 3; // Chân đèn LED đỏ -> D3
int greenPin = 5; // Chân đèn LED xanh lá cây -> D5
int bluePin = 6; // Chân đèn LED xanh dương -> D6
int potRed = A0; // Potentiometer điều khiển chân đèn LED đỏ -> A0
int potGreen = A1; // Potentiometer điều khiển chân đèn LED xanh lá cây -> A1
int potBlue = A2; // Potentiometer điều khiển chân đèn LED xanh dương -> A2

void setup() {
  pinMode(redPin, OUTPUT);
  pinMode(bluePin, OUTPUT);
  pinMode(greenPin, OUTPUT);
  pinMode(potRed, INPUT);
  pinMode(potGreen, INPUT);
  pinMode(potBlue, INPUT);
}

void loop() {
  // Đọc giá trị hiện tại của các potentiometer và chuyển đổi
  // thành giá trị từ 0 đến 255 để điều khiển chân LED RGB tương ứng bằng PWM
  // LED RGB chân anode
  analogWrite(redPin, 255-(255./1023.)*analogRead(potRed));
  analogWrite(greenPin, 255-(255./1023.)*analogRead(potGreen));
  analogWrite(bluePin, 255-(255./1023.)*analogRead(potBlue));

  // Hãy hoặc xóa chú thích cho LED RGB chân cathode
  /*
  analogWrite(redPin, (255./1023.)*analogRead(potRed));
  analogWrite(greenPin, (255./1023.)*analogRead(potGreen));
  analogWrite(bluePin, (255./1023.)*analogRead(potBlue));
  */

  delay(10);
}

Quan trọng: Nếu bạn sử dụng LED RGB chân cathode, bạn cần ghi chú và bỏ chú thích một số code trong hàm loop()

Cách hoạt động của mã nguồn

Code để điều khiển LED RGB rất đơn giản. Trong chương trình của chúng ta, chúng ta bắt đầu bằng việc định nghĩa ba biến số nguyên gọi là redPin, greenPin và bluePin để tham chiếu các chân mà các đèn LED đã được kết nối:

int redPin = 3; // Chân đèn LED đỏ -> D3
int greenPin = 5; // Chân đèn LED xanh lá cây -> D5
int bluePin = 6; // Chân đèn LED xanh dương -> D6

Sau đó, chúng ta cũng khai báo các biến để tham chiếu đến potentiometers. Biến potRed sẽ điều khiển đèn LED đỏ, và tương tự với các biến còn lại.

int potRed = A0; // Potentiometer điều khiển chân đèn LED đỏ -> A0
int potGreen = A1; // Potentiometer điều khiển chân đèn LED xanh lá cây -> A1
int potBlue = A2; // Potentiometer điều khiển chân đèn LED xanh dương -> A2

Potentiometers nên được kết nối với các chân analog của Arduino, vì chúng ta muốn đọc giá trị analog từ những con lắc.

Trong hàm setup(), bạn đặt các chân LED là đầu ra:

pinMode(redPin, OUTPUT);
pinMode(bluePin, OUTPUT);
pinMode(greenPin, OUTPUT);

Và các potentiometers là đầu vào:

pinMode(potRed, INPUT);
pinMode(potGreen, INPUT);
pinMode(potBlue, INPUT);

Trong hàm loop(), chúng ta đọc giá trị từ các potentiometers và điều khiển từng LED của LED RGB tương ứng.

XEM THÊM:  Làm thế nào để thoát khỏi ứng dụng bị đơ trên Windows

Để đọc giá trị từ một potentiometer, chúng ta cần sử dụng hàm analogRead(). Ví dụ, để đọc giá trị từ potRed:

analogRead(potRed)

Hàm analogRead() trả về một giá trị từ 0 đến 1023.

Để gửi tín hiệu PWM đến các LED, chúng ta sử dụng hàm analogWrite(). Hàm analogWrite() nhận hai đối số: chân mà chúng ta muốn điều khiển và một giá trị từ 0 đến 255, trong đó 0 tương ứng với độ sáng bằng 0 và 255 tương ứng với độ sáng tối đa. Tuy nhiên, LED RGB chân anode hoạt động ngược lại. Mức sáng mặc định của LED là tối đa (0) và mức sáng thấp nhất là 255 (tắt). Do đó, chúng ta cần trừ kết quả cho 255.

Vì chúng ta đọc giá trị từ 0 đến 1023 và cần đầu ra từ 0 đến 255, chúng ta cần nhân kết quả đọc lên (255/1023).

analogWrite(redPin, 255-(255./1023.)*analogRead(potRed));
analogWrite(greenPin, 255-(255./1023.)*analogRead(potGreen));
analogWrite(bluePin, 255-(255./1023.)*analogRead(potBlue));

Để điều khiển LED RGB chân cathode, hãy bỏ chú thích các dòng trước và gỡ chú thích các dòng sau:

analogWrite(redPin, (255./1023.)*analogRead(potRed));
analogWrite(greenPin, (255./1023.)*analogRead(potGreen));
analogWrite(bluePin, (255./1023.)*analogRead(potBlue));

Gửi 255 sẽ đặt các LED ở mức sáng tối đa và gửi 0 sẽ đặt ở mức sáng thấp nhất.

Demo

Xem video ngắn dưới đây để xem dự án này hoạt động:

Kết luận

Tóm lại:

  • Một LED RGB là sự kết hợp của ba LED trong một gói: đỏ, xanh lá cây và xanh dương.
  • Có hai loại LED RGB: LED RGB chân cathode và LED RGB chân anode.
  • Bạn tạo ra các màu sắc khác nhau bằng cách điều chỉnh độ sáng của ba LED trong LED RGB.
  • Để điều chỉnh độ sáng của từng LED, bạn sử dụng tín hiệu PWM.

Hy vọng bạn thấy hướng dẫn này hữu ích. Nếu bạn quan tâm đến chủ đề này, bạn có thể quan tâm đến các nguồn tài liệu sau:

Nếu bạn thích bài viết này, bạn có thể quan tâm đến các bài viết tiếp theo của tôi (nhấp vào đây để đăng ký blog).

Xin cảm ơn đã đọc.