Đã được đăng vào 11/07/2020 @ 10:05
Phương pháp để đếm người ra vào bằng đèn Lazer sử dụng Arduino
Mục lục
hiện
Bạn đã từng quên tắt đèn khi không có ai ở trong phòng, điều này gây ra phiền toái khi hóa đơn tiền điện ngày một tăng. Vậy giải pháp là ở đâu?
Trong chuyên đề tự học Arduino, Arduino KIT giới thiệu với các bạn một dự án sẽ giúp bạn giải quyết vấn đề này, khi không có ai trong phòng tự động, nó cũng có thể được sử dụng cho đèn của phòng tắm, nhà vệ sinh, nhà bếp…
Xem thêm:
- Đếm số người ra vào phòng và Bật Tắt thiết bị sử dụng Arduino
- Đếm số người ra vào phòng và Bật Tắt thiết bị sử dụng Arduino – Phần 2
- Đếm số người ra – vào phòng hiển thị LCD 128×64
Sơ đồ đấu nối
Các linh kiện cần thiết cho dự án
Tên linh kiện | Số lượng |
Arduino Uno R3 | 1 |
Cảm biến ánh sáng | 2 |
Relay | 1 |
Dây cắm | 15 |
LCD16X2 | 1 |
Board I2C LCD16X2 | 1 |
Diode laser | 2 |
Code
#include <Wire.h> #include <LiquidCrystal_I2C.h> LiquidCrystal_I2C lcd(0x3F, 16, 2); #define in 11 #define out 12 #define relay 13 int count=0; void IN() { count++; lcd.clear(); lcd.print("Person In Room:"); lcd.setCursor(0,1); lcd.print(count); delay(1000); } void OUT() { count--; lcd.clear(); lcd.print("Person In Room:"); lcd.setCursor(0,1); lcd.print(count); delay(1000); } void setup() { lcd.begin(); lcd.print("Visitor Counter"); delay(2000); pinMode(in, INPUT); pinMode(out, INPUT); pinMode(relay, OUTPUT); lcd.clear(); lcd.print("Person In Room:"); lcd.setCursor(0,1); lcd.print(count); } void loop() { if(digitalRead(in)) IN(); if(digitalRead(out)) OUT(); if(count<=0) { lcd.clear(); digitalWrite(relay, LOW); lcd.clear(); lcd.print("Nobody In Room"); lcd.setCursor(0,1); lcd.print("Light Is Off"); delay(200); } else digitalWrite(relay, HIGH); }
Thư viện
Nguồn: arduinokit.vn
Để lại một bình luận