FPT telecom hướng dẫn bạn cách chế tạo đèn LED RGB từ Arduino và cảm biến máy Scan. Đây là vật liệu có thể kiếm được trong các máy in cũ dễ dàng để tái sử dụng lại, bạn có thể kết hợp cảm biến ánh sáng của máy scan với mạch điều khiển Arduino để tạo ra dãy đèn LED có khả năng trộn màu RGB.
Chế tạo đèn LED RGB từ Arduino và cảm biến máy Scan

Việc chế tạo đèn LED RGB từ Arduino và cảm biến máy Scan khá là phức tạp cho người không có nhiều kinh nghiệm trong công tác chế tạo và biết viết code điện tử, do đó nếu quá khó, hãy đừng đọc bài này vì nó sẽ không giúp bạn làm tốt hơn.

Bước 1: Làm thế nào để kết nối các LED RGB

Với bộ cảm biến ở Scan trên tay, bạn phải tìm cách để kết nối chúng với mạch điều khiển Arduino. Theo thử nghiệm, bạn có thể nối các đèn LED trực tiếp vào các header, không có điện trở, mỗi pin kết nối với LED terminal. LED RGB cũng chỉ là anode thông thường, nghĩa là cực dương terminal được chia sẻ với từng màu sắc để tạo ra ánh sáng, có thể kết nối cực âm tương ứng với ground.

Chế tạo đèn LED RGB từ Arduino và cảm biến máy Scan


Bước 2: Kết nối cảm biến máy scan với mạch Arduino

Các LED RGB bên trong cảm biến vẫn là một LED, nó được kết nối theo cách thông thường đến mạch Arduino, các chân pin của mỗi màu phải được kết nối với các chân PWM.

Do đó, có thể chọn số lượng màu đỏ, màu xanh lá cây, màu xanh dương mà muốn đèn muốn hiển thị. Sự khác biệt duy nhất của đèn LED này là anode thông thường và phải có pin thông thường kết nối đến 5V của GND.

Theo phương pháp này, bạn có thể sử dụng điện trở 330ohm trong mỗi pin cathode. Do đó, bạn phải tiến hành kết nối chân thứ 9, 10 và 11 của Arduino Nano PWM trực tiếp đến từng cực âm terminal của LED và cực dương đến 5V.

Chế tạo đèn LED RGB từ Arduino và cảm biến máy Scan


Bước 3: Viết code tạo màu cho ánh sáng đèn LED

Để có ánh sáng với màu sắc đẹp, bạn có thể viết code theo hướng tỏa sáng của đèn LED. Sau đây là đoạn code minh họa:

//pins definitions
#define blue 9
#define red 10
#define green 11
int bluevalue,greenvalue,redvalue,i,j,k; //variables to keep the values // of the waves in each pin

void setup(){
pinMode(blue,OUTPUT);//LED
pins as output pinMode(red,OUTPUT);
pinMode(green,OUTPUT);

redvalue=128; //first color -> red+green=yellow
greenvalue=128;
bluevalue=0;
i=-1;
j=1;
k=0; }

void loop(){ redvalue=redvalue+i;
//changing the wave in each pin every loop cycle greenvalue=greenvalue+j;
bluevalue=bluevalue+k;
analogWrite(red,255-redvalue);

//updating the PWM values analogWrite(green,255-greenvalue);
analogWrite(blue,255-bluevalue); delay(50);
//this can be changed to make the colors change faster or slower if(redvalue==255){ //test if an clor will be increased, decreased or turned off.
i=-1; //see the image in the instructable to understand better.
j=1;
k=0; } if(greenvalue==255){
i=0;
j=-1;
k=1; } if(bluevalue==255){
i=1;
j=0;
k=-1;
}
}

Bạn có thể điều chỉnh một vài thông số trong đoạn code trên. Ví dụ như: số lượng màu đỏ, xanh lá cây, xanh dương in LED bằng hàm analogWrite().

FPT telecom vừa hướng dẫn bạn Chế tạo đèn LED RGB từ Arduino và cảm biến máy Scan. Chúc các bạn thành công thông qua bài hướng dẫn mà fpt telecom giúp cho các bạn