1. Đặc điểm của cảm biến LDR
Cảm biến LDR (Light Dependent Resistor) là một cảm biến ánh sáng dựa trên điện trở. Cảm biến LDR còn gọi là quang trở.
Cảm biến LDR nhận điện áp 5V để hoạt động. Tín hiệu ánh sáng được lấy ra từ LDR nằm trong khoảng 0-1023. Tín hiệu này là tín hiệu analog nên phải kết nối LDR với chân analog của Arduino (A0 – A5).
2. Thiết kế mạch giao tiếp với cảm biến LDR
Mạch giao tiếp LDR với Arduino gồm 1 board Arduino, 1 cảm biến LDR và 1 điện trở 10kΩ. Để hoạt động, cảm biến LDR phải được cấp nguồn ở 1 chân (LDR không phân biệt chân dương và chân âm). Chân còn lại nối với một chân analog của Arduino và có 1 điện trở 10kΩ nối vào chân này.
Có thể sử dụng mạch giao tiếp giả lập trên Proteus.
3. Chương trình bật tắt đèn tự động với cảm biến LDR
Sử dụng hàm analogRead()
để lấy giá trị ánh sáng từ cảm biến LDR. Giá trị này nằm trong khoảng 0 – 1023. Dựa vào giá trị này mà điểu khiển đèn sáng tắt theo yêu cầu.
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
int ldr = A0;//chân analog kết nối LDR
int led = 9;
void setup() {
lcd.begin(16, 2);
pinMode(ldr, INPUT);
pinMode(led, OUTPUT);
}
void loop() {
int ldrValue = analogRead(ldr);//lấy giá trị độ sáng từ 0 đến 1023
lcd.setCursor(0, 0);
lcd.print("LDR VALUE:");
lcd.print(ldrValue);
if(ldrValue <= 200){
digitalWrite(led, HIGH);
}else{
digitalWrite(led, LOW);
}
}
Kết quả
4. Bài tập
Bài tập 1: Thiết kế mạch gồm 1 Arduino kết nối với 1 LDR, 1 LCD. Cứ 1s thì sẽ in giá trị ánh sáng lên LCD 1 lần.
Bài tập 2: Thiết kế mạch quản lý đèn ở nhà, trời tối thì tự động bật đèn, trời sáng thì tự động tắt đèn (sinh viên dùng đèn led).
Bài tập 3: Thiết kế mạch gồm 1 Arduino, 1 LDR, 1 button điều khiển bật tắt cảm biến. Nếu công tác mở và cảm biến ánh sáng yếu thì mở đèn, ánh sáng mạnh thì tắt đèn. Nếu công tắc tắt thì đèn luôn mở.
cho em xin bài làm bài tập 3 được không ạ.