Đã được đăng vào 12/12/2019 @ 15:34
Nội dung bài viết hôm nay mình sẽ hướng dẫn cho các bạn mô hình hóa từ dự án đếm số người ra vào phòng và bật tắt thiết bị sử dụng Arduino trong bài viết trước đó.
Đây là một dự án rất thú vị cho những người có sở thích và sinh viên để vui chơi cũng như học tập.
Hệ thống sẽ đếm số người hiển thị lên LCD khi cảm biến phát hiện người đi vào phòng và đèn sẽ bật lên.Khi người ra khỏi phòng đèn sẽ tắt.
Sơ đồ đấu nối

Các linh kiện cần thiết cho dự án
Chú ý: Bài này không cần module I2C cho LCD 16×2 mà nối thẳng vào các chân của LCD luôn.
Tên linh kiện | Số lượng |
Arduino Uno | 1 |
Relay | 1 |
Dây cắm | 15 |
Cảm biến vật cản hồng ngoại | 2 |
LCD16X2 | 1 |





Code
#include <LiquidCrystal.h> #define in 8 #define out 9 #define relay 10 #define led 11 int count =0; LiquidCrystal lcd(2, 3,4,5, 6,7); void IN() { count++; lcd.clear(); lcd.print("Persons Inside :"); lcd.setCursor(0,1); lcd.print(count); delay(500); } void OUT() { if(count>=1) { count--;} lcd.clear(); lcd.print("Persons Inside :"); lcd.setCursor(0,1); lcd.print(count); delay(500); } void setup() { lcd.begin(16, 2); pinMode(in, INPUT); pinMode(out, INPUT); pinMode(relay, OUTPUT); pinMode(led,OUTPUT); pinMode(12,INPUT); lcd.clear(); lcd.print(" ARDUINIO "); lcd.setCursor(0,1); lcd.print(" PROJECT "); delay(2000); lcd.clear(); lcd.print(" Automatic Room"); lcd.setCursor(0,1); lcd.print(" Light & "); delay(2000); lcd.clear(); lcd.print(" Bi-Direction "); lcd.setCursor(0,1); lcd.print(" Counter "); delay(2000); 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("No One in Room"); lcd.setCursor(0,1); lcd.print("Light's Off"); delay(200); } else { digitalWrite(relay, HIGH); } if (map(analogRead(A0), 0, 1023, 0, 255) >30) { digitalWrite(led, LOW); } else { digitalWrite(led, HIGH); } }
Thư viện sử dụng: Tải về LiquidCrystal
Cách thêm thư viện xem ở bài này nhé:
Mô hình dựng thực tế dự án đếm số người (Dành cho bạn nào muốn làm đồ án):





Mô hình trên có sử dụng thêm mạch Tự động bật đèn khi trời tối . Mình thêm mạch đó cho nó giống với hệ thống chiếu sáng công cộng. Việc tùy biến là ở các bạn!
Nguồn: davindermahi.com
Bạn cho mình hỏi nếu mình muốn tới 7h hệ thống sẽ lưu lại thông tin và gửi vào tin nhắn thì làm thế nào ạ. mình mới nghiên cứu về arduino nên nhiều cái chưa rõ. Mong admin giúp mình với ạ.
Có 2 vấn đề:
– Thứ nhất: Bạn muốn hệ thống lưu lại thông tin gì? Lưu vào bộ nhớ hay lưu ra ngoài?
– Thứ hai : Bạn gửi tin nhắn dạng SMS hay chỉ đơn thuần hiện lên LCD?
Cần làm rõ những vấn đề đó trước khi mình giải đáp cho bạn!
mình muốn số người vẫn được hiển thị trên LCD, nhưng tại một thời điểm nào đó (giả sử 7h sáng) thì số người được lưu lại và báo số người này tới điện thoại bằng tin nhắn sms với mục đích là muốn điểm danh và thông báo cho giáo viên chủ nhiệm biết. mong bạn giúp mình.
Bạn hãy trao đổi kỹ hơn qua Zalo nhé! Admin: 0989.273.803 – Zalo: 0989.273.803
mình ở TP HCM, mình cần được hỗ trợ về đề tài này.mong được liên hệ sớm
Mình cần hỗ trợ thêm về đề tài này mong được admin liên hệ sớm. Thanks
OK bạn. Check inbox
Nguyên lý hđ của mạch này là gì vậy ạ