Bài 5: Thay đổi Màu Sắc Led RGB Sử Dụng Arduino
Có thể bạn quan tâm
Trong bài học ngày hôm nay mình và các bạn sẽ đi tìm hiểu cách để điều chỉnh một bóng đèn Led RGB như thế nào và cách trộn màu ra sao?
Qua bài học số 5 này các bạn sẽ tìm hiểu thêm cách thức làm việc của 2 hàm mới là constrain(x, a, b) và random(min, max).
Sơ lược về LED RGB
Có bao giờ các bạn tự hỏi cấu tạo của một con LED RGB là như thế nào?
Ứng của nó để được làm gì?
Thực ra, Led RGB được cấu tạo thành từ 3 con LED đơn được đúc chung lại với nhau, những con LED được sử dụng từ những bài trước nhé.
Vì sao chúng lại đúc chung lại với nhau?
….để thuận tiện cho việc đấu nối và sử dụng.

Có 2 loại RGB: Anode chung và Catode chung.
Từ 3 màu chủ đạo là Red, Blue, Green các bạn có thể thay đổi các giá trị với nhau thông qua hàm analogWrite() để có những màu mà các bạn muốn.
—–>> Xem lại Bài 4 để hiểu hơn cách sử dụng hàm analogWrite():
- Bài 4: PWM | Thay đổi ánh sáng của LED trên Arduino

Các bạn cũng có thể cấu hình các màu sắc bằng gán các giá trị thông qua bảng bên dưới.
| Red | Green | Blue | Colour |
| 255 | 0 | 0 | Red |
| 0 | 255 | 0 | Green |
| 0 | 0 | 255 | Blue |
| 255 | 255 | 0 | Yellow |
| 0 | 255 | 255 | Blueish Green |
| 255 | 0 | 255 | Purplish Red |
| 255 | 255 | 255 | While |
Sơ đồ đấu nối

Các linh kiện cần thiết
- Arduino Uno:
- LED RGB:
- Dây cắm Breadboard:
- Điện trở 220R:
Code mẫu
/* RGB LED */ int redPin = 11; // the pin that the red LED is attached to int greenPin = 10; // the pin that the green LED is attached to int bluePin = 9; // the pin that the blue LED is attached to void setup(){ pinMode(redPin, OUTPUT); pinMode(greenPin, OUTPUT); pinMode(bluePin, OUTPUT); } void loop(){ // call the function to change the colors of LED randomly. colorRGB(random(0,255),random(0,255),random(0,255)); //R:0-255 G:0-255 B:0-255 delay(1000); } void colorRGB(int red, int green, int blue){ analogWrite(redPin,constrain(red,0,255)); analogWrite(greenPin,constrain(green,0,255)); analogWrite(bluePin,constrain(blue,0,255)); }Giải thích code
Bước đầu tiên như mọi khi chúng ta đi vào khai báo các chân cho từng led.
int redPin = 11; // the pin that the red LED is attached to int greenPin = 10; // the pin that the green LED is attached to int bluePin = 9; // the pin that the blue LED is attached toTiếp theo, chúng ta cùng nhau tìm hiểu một hàm mới là constrain(x, a, b)
Hàm “constrain” có 3 tham số: x, a và b.
Trong đó:
“x”: được hiểu là giá trị không thể thay đổi khi đã được định nghĩa.
“a”: là mức tối thiểu.
“b”: là mức tối đa.
void colorRGB(int red, int green, int blue){ analogWrite(redPin,constrain(red,0,255)); analogWrite(greenPin,constrain(green,0,255)); analogWrite(bluePin,constrain(blue,0,255)); }Hàm random(min, max)
Trả về một giá trị nguyên ngẫu nhiên trong khoảng giá trị cho trước.
Trong đó:
“min” và “max” là giá trị đầu và cuối của khoảng giá trị mà random() trả về.
Trong trường hợp min không được đưa vào thì nó sẽ hiểu ngầm là giá trị 0.
void loop(){ // call the function to change the colors of LED randomly. colorRGB(random(0,255),random(0,255),random(0,255)); //R:0-255 G:0-255 B:0-255 delay(1000); }Chúc các bạn thành công.
Trân trọng.
Bài viết liên quan
- Bài 4: PWM | Thay đổi ánh sáng của LED trên Arduino
- Bài 3: Sử dụng Arduino làm hệ thống đèn giao thông
- Bài 2: Chớp tắt LED trên Arduino Uno (Phần 2)
- Bài 1: Chớp tắt LED trên Arduino Uno
- Mạch Arduino Uno là gì ?
Từ khóa » điều Khiển Led Rgb Arduino
-
Làm Thế Nào để điều Khiển LED RGB - Led 3 Màu
-
Hướng Dẫn Sử Dụng Chân PWM Thông Qua Lập Trình LED RGB Với ...
-
Điều Khiển Vòng 8/12/16 LED RGB - Lập Trình ESP8266 Arduino
-
Tự Học Arduino: Bài 9 - Arduino điều Khiển LED RGB - YouTube
-
Hướng Dẫn Làm đèn LED RGB Với Arduino Trên Tinkercad
-
Bài 3. Điều Khiển LED RGB - OpenBuilds Vietnam
-
Bộ Điều Khiển Đèn Led Rgb Cho For Arduino Stm32 Avr V1.0 - Shopee
-
Hướng Dẫn điều Khiển đèn LEG RGB Trong Arduino
-
Bộ Mạch Khiển Led Rgb 5v Chất Lượng, Giá Tốt 2021
-
Vòng Đèn LED RGB 12 Bit WS2812 WS2812B Mô-đun Nối Tiếp ...
-
CHƯƠNG 2. ỨNG DỤNG ĐÈN LED RGB VÀ TỰ ĐỘNG HÓA MÔ ...
-
WS2812B: Dải LED RGB Huyền Diệu