Bài toán lập trình với Arduino
Nếu trời sáng mạnh thì LED xanh dương sáng, nếu trời sáng vừa thì LED màu xanh lá cây sáng, trời tối thì LED đỏ sáng.Chuẩn bị
Để thực hiện được bài toán trên các bạn cần chuẩn bị :Module cảm biến cường độ ánh sáng
Module LED RGB
Breadboard
Dây cắm male-female
Board IoT Maker Unox
Giới thiệu về module cảm biến ánh sáng
Module cảm biến ánh sáng |
Nguyên lí làm việc:
Module cảm biến ánh sáng hoạt động dựa vào sự thay đổi của cường độ sáng môi trường. Nếu trời tối thì cường độ sáng yếu, điện trở trên cảm biến sẽ tăng và ngược lại khi cường độ ánh sáng tăng thì điện trở của cảm biến giảm.
Sơ đồ đấu dây
Sơ đồ đấu dây |
Hướng dẫn lập trình
#define pinLedBlue 11 // Chân kết nối với pin B của module LED-RGB
#define pinAnaLight A0 // Chân kết nối với A0 của module cảm biến ánh sáng
void setup()
{
// Cài đặt hướng cho các chân
pinMode(pinLedRed, OUTPUT);
pinMode(pinLedGreen, OUTPUT);
pinMode(pinLedBlue, OUTPUT);
// LED RGB OFF
digitalWrite(pinLedRed, LOW);
digitalWrite(pinLedGreen, LOW);
digitalWrite(pinLedBlue, LOW);
pinMode(pinAnaLight, INPUT);
// Khởi tạo serial
Serial.begin(115200);Serial.println("Initial serial");}void loop(){unsigned int AnalogValue;AnalogValue = analogRead(pinAnaLight); // Đọc trạng thái chân A0 của module cảm biến ánh sáng
Serial.println(AnalogValue); // In ra giá trị điện áp Analog
if (AnalogValue < 350) {
digitalWrite(pinLedRed, HIGH);
digitalWrite(pinLedGreen, LOW);
digitalWrite(pinLedBlue, LOW);
Serial.println("The light intensity: HIGH");
}else if (AnalogValue > 350 && AnalogValue < 800) {digitalWrite(pinLedRed, LOW);
digitalWrite(pinLedGreen, HIGH);
digitalWrite(pinLedBlue, LOW);
Serial.println("The light intensity: MEDIUM");
}
else if (AnalogValue > 800) {
digitalWrite(pinLedRed, LOW);
digitalWrite(pinLedGreen, LOW);
digitalWrite(pinLedBlue, HIGH);
Serial.println("The light intensity: LOW");
}
delay(100);
}
Giải thích:
Các câu lệnh điều kiện if- else if ở phía dưới nhằm setup giá trị cường độ ánh sáng để điều khiển LED RGB sáng các màu đỏ, xanh lá và xanh dương.
Nếu giá trị Analog đọc được nhỏ hơn 350, LED đỏ sáng (cường độ ánh sáng yếu)
Nếu giá trị Analog đọc được lớn hơn 350 và nhỏ hơn 800, LED đỏ sáng (cường độ ánh sáng vừa).
Nếu giá trị Analog đọc được lớn hơn 800, LED đỏ sáng (cường độ ánh sáng mạnh).
Linh kiện điện tử 3M chúc các bạn thành công.
Hướng Dẫn Sử Dụng Arduino Điều Khiển Led RGB Theo Cường Độ Ánh Sáng Môi Trường
Reviewed by Linh Kiện Điện Tử 3M
on
tháng 8 24, 2019
Rating:
Không có nhận xét nào: