ĐĂNG KÍ NHẬN TIN TỰ ĐỘNG

Nhập địa chỉ E-mail vào ô phía trên để nhận tin mới liên tục từ Tự Tay Làm

Tạo đèn LED trộn màu RGB từ cảm biến máy scan và Arduino

Đăng lúc: Thứ sáu - 02/01/2015 09:03 - Người đăng bài viết: Ban Biên Tập
Chia sẻ lên Facebook Chia sẻ lên Twitter Chia sẻ lên Yahoo Chia sẻ lên Zing Me Chia sẻ lên Yume Chia sẻ lên Link hay Chia sẻ lên Google+
mạch Arduino

mạch Arduino

Đây là một sản phẩm được thực hiện từ vật liệu có thể tái chế được như một chiếc máy scan cũ, máy in cũ. Trong một chiếc máy scan cũ, bạn có thể tận dụng các động cơ, nguồn, cảm biến ánh sáng và một số thứ khác.
Khi đó, 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.
Các bước thực hiện:
Bước 1: Làm thế nào để kết nối các LED RGB
Với bộ cảm biến ở 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 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 là anode thông thường, tức 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.

kết nối các LED RGB
 
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 cách này, bạn có thể sử dụng điện trở 330ohm trong mỗi pin cathode. Do đó, bạn 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.

Kết nối cảm biến máy scan với mạch Arduino
 
Có thể bạn quan tâm: Làm đồng hồ số với mạch Arduino và giấy PaperCraft

Bước 3: Viết code

Để 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ể thay đổi một số 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().
Đây là video trình diễn hoạt động của LED RGB sau khi đã hoàn thành.
Tác giả bài viết: Dr@gon
Nguồn tin: www.tutaylam.com
Từ khóa:

máy scan, mạch Arduino

Đánh giá bài viết
Tổng số điểm của bài viết là: 5 trong 1 đánh giá
Click để đánh giá bài viết
 

Thăm dò ý kiến

Tham khảo ý kiến về website Sản phẩm tự chế

Không nên mở thêm website này.

Ý tưởng tốt, tôi thích website này.

Giao diện website đẹp, dễ tương tác.

Giao diện website màu mè, dễ bị phân tán.