Bài 9: Cảm biến ánh sáng (Quang trở) cách chia điện áp trong môi trường Arduino

06 Tháng 05 2019 | Đăng bởi: Lực Nguyễn

 

Tiếp tục bài viết trong khóa học lập trình Arduino. Hôm nay mình sẽ gửi đến các bạn một chủ đề mới là cảm biến ánh sáng (quang trở).

Vậy cảm biến quang trở có cấu tạo và nguyên lý hoạt động như thế nào?

Ứng dụng thực tiễn trong đời sống ra sao?

Chúng ta đi vào tìm hiểu ngay nhé.

Cảm biến ánh sáng (Quang trở)

Trong chuỗi bài viết về lập trình Arduino mình đã nói về cảm biến ánh sáng nhưng chưa giải thích thực sự chi tiết, trong bài hôm nay mình sẽ giải thích chi tiết hơn cho những phần còn thiếu từ bài trước. Để có thể tiếp thu một cách tốt nhất các bạn xem lại bài trước để hiểu rõ hơn.

cam-bien-anh-sang-quang-tro

Cảm biến ánh sáng quang trở.

 

Cảm biến ánh sáng quang trở hoạt động theo nguyên lý: điện trở thay đổi khi có ánh sáng chiếu vào (0 - 1023 tương tự từ 0 - 5V) quang trở có điện trở đến vài MΩ, khi có ánh sáng chiếu vào điện trở giảm xuống mức một vài trăm Ω.

Cách chia điện áp trong môi trường Arduino

chia-dien-ap-arduino

 

Trong bài viết mình sẽ cho điện trở R1 = 10K và R2 ở đây sẽ là cảm biến quang trở. Mục đích ở đây mình dùng điện trở cố định 10K là để xác định được tỉ lệ chia điện áp Vout một các chính xác nhất. Để tính được điện áp Vout các bạn áp dụng công thức như hình, bên dưới mình chia sẽ một phần mền điện tử khá hay các bạn có thể tải về và vọc trên này nhé.

 

Sơ đồ đấu nối

cam bien anh sang arduino

Các linh kiện cần thiết cho dự án

Các linh kiện

Arduino KIT

Shoppe

Board Arduino Uno R3

Xem ngay

Xem ngay

Cảm biến ánh sáng

Xem ngay

Xem ngay

LED 5mm

 

 

Điện trở 220R

 

 

Dây nối

 

Xem ngay

BreadBoard

 

Xem ngay

Code mẫu

/*
  Ambient Light controlled LED 
*/
int LED = 13;                     //Led pin
int val = 0;                      

void setup(){
     pinMode(LED,OUTPUT);         
     Serial.begin(9600);        
}

void loop(){
     val = analogRead(0);
     Serial.println(val);        
     if(val<1000){
          digitalWrite(LED,LOW);
     }else{
          digitalWrite(LED,HIGH);
     }
     delay(10);                   
}

Giải thích code

Trong phần code của bài hôm nay từ phần khai báo đến cách sử dụng các hàm analogRead() thì mình đã giải thích rất chi tiết trong chuỗi khóa học lập trình Arduino Miễn Phí. Các bạn có thể xem lại Bài 7 trong khóa học nhé.

Lời kết

Bài viết hôm nay khá ngắn gọn và dễ hiểu qua bài học chúng ta tìm hiểu thêm về một linh kiện mới là cảm biến ánh sáng (quang trở). Để bài viết có thể tiếp cận đến nhiều người hơn rất mong các bạn dành ít thời gian Like và Share bài viết nhé.

 

Chúc các bạn thành công.

Trân trọng.

Bài viết liên quan

Viết bình luận: