Đã được đăng vào 10/12/2020 @ 14:49
Đèn tự sáng khi mất điện dùng Arduino
Đây là mạch điều khiển đèn tự động sáng khi trời tối, có pin dự phòng khi mất điện.
Dùng một Adapter 5V để cấp nguồn và sạc pin, cảm biến ánh sáng phân biệt sáng – tối, bật tắt bằng relay và lập trình bằng Arduino.
Các bạn có thể ứng dụng mạch này trong nhiều trường hợp khác.
Chức năng chính là tự động bật đèn khi trời tối, năng lượng cấp cho đèn từ adapter 5V, pin Lithium 18650 sẽ sử dụng khi bị mất điện
Lúc có điện thì pin quay về chế độ sạc tự động bằng nguồn điện từ adapter 5V.
Xem thêm:
Trong trường hợp không muốn lập trình Arduino, các bạn có thể đọc bài này (Chạy hoàn toàn không dùng code):
Sơ lược về cảm biến ánh sáng quang trở (CDS)
Cảm biến ánh sáng quang trở thay đổi điện trở dựa vào cường độ ánh sáng chiếu vào
Cảm biến sử dụng Photoresistor nên cho độ nhạy cao, tín hiệu ổn định.
Ưu điểm
- Mạch thiết kế nhỏ gọn.
- Độ chính xác cao.
- Linh hoạt trong việc điều chỉnh độ nhạy của cảm biến (thông qua biến trở được tích hợp trên mạch).
- Lưu ý: Khi xoay biến trở theo chiều kim đồng hồ thì sẽ làm giảm cường độ nhận biết của cảm biến, tức là môi trường phải ít ánh sáng thì cảm biến mới đọc giá trị digitalRead() là 1.
- Để hiểu hơn về cách thức làm việc của hàm digitalRed() các bạn xem bài viết này nhé: Xem ngay.

Khối nguồn 5V – 1A
Bình thường sẽ cấp nguồn cho đèn qua Adapter 5v.
Adapter được cắm thẳng vào điện lưới 220V.
Khi có điện, nó vừa sạc pin và vừa cấp nguồn cho mạch Arduino và đèn hoạt động.

Khối mạch sạc Pin và nâng áp
Ở đây mình sử dụng 1 mạch sạc pin 3.7V và 1 mạch nâng áp 3.7V ->>> 5V.
Mục đích nâng áp lên để đủ điện áp cấp cho mạch Arduino và đèn.


Các linh kiện cần thiết cho dự án
- Arduino Nano
- Module cảm biến ánh sáng
- Module Relay 1 kênh (5VDC)
- Module sạc pin TP4056
- Module nâng áp 5v
- Đổi nguồn Adapter 5V
- Đèn LED 5V
- Pin Lithium 18650
Sơ đồ nguyên lý
Bình thường khi trời sáng, đèn sẽ tắt, pin được sạc bằng Adapter.
Khi tối, relay được Arduino điều khiển bật ON -> Đèn LED sáng! Mạch sử dụng năng lượng từ adapter 5V, pin Lithium 18650 sẽ sử dụng khi bị mất điện
Lúc có điện thì pin quay về chế độ sạc tự động bằng nguồn điện từ adapter.
CODE
#define LIGHT 7 // define pint 7 for sensor #define RELAY 4 // define pin 4 as for relay void setup() { // Light LDR Sensor Code Serial.begin(9600);// setup Serial Monitor to display information pinMode(LIGHT, INPUT_PULLUP);// define pin as Input sensor pinMode(RELAY, OUTPUT);// define pin as OUTPUT for relay } void loop() { // Light LDR Sensor Code int L =digitalRead(LIGHT);// read the sensor if(L == 1){ Serial.println(" light is ON"); digitalWrite(RELAY,HIGH);// turn the relay ON }else{ Serial.println(" === light is OFF"); digitalWrite(RELAY,LOW);// turn the relay OFF } delay(500); // Light LDR Sensor Code }
Giải thích Code
Như mọi khi, bước đầu tiên chúng ta đi vào khai báo chân cho từng thiết bị.
#define LIGHT 7 // define pint 7 for sensor #define RELAY 4 // define pin 4 as for relay
Tiếp theo, trong Vòng lặp loop() ta đặt biến L làm giá trị để đọc cảm biến.
Nếu cảm biến ánh sáng quang trở nhận được giá trị là mức 1.
Chú ý: Lúc này cảm biến ánh sáng sẽ nhận giá trị mức 1 khi đang ở môi trường ánh sáng thấp.
Thì lúc này rơ le sẽ đóng và làm đèn sáng và ngược lại.
void loop() { // Light LDR Sensor Code int L =digitalRead(LIGHT);// read the sensor if(L == 1){ Serial.println(" light is ON"); digitalWrite(RELAY,HIGH);// turn the relay ON }else{ Serial.println(" === light is OFF"); digitalWrite(RELAY,LOW);// turn the relay OFF } delay(500); // Light LDR Sensor Code }
Để lại một bình luận