Hướng Dẫn Sử Dụng Arduino Điều Khiển Led RGB Theo Cường Độ Ánh Sáng Môi Trường

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 pinLedRed 9 // Chân kết nối với pin R của module LED-RGB#define pinLedGreen 10 // Chân kết nối với pin G của module LED-RGB
#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 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: 5

Không có nhận xét nào: