Đếm số người ra vào phòng và Bật Tắt thiết bị sử dụng Arduino

02 Tháng 10 2019 | Đăng bởi: Cao Thanh Hùng

 

Nội dung bài viết hôm nay mình sẽ hướng dẫn cho các bạn một dự án đếm số người ra vào phòng và bật tắt thiết bị sử dụng Arduino. Đâ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.

Để hiểu hơn về cấu tạo và cách hoạt động của Cảm Biến Vật Cản Hồng Ngoại các bạn có thể tìm đọc bài viết về Arduino miễn phí dành cho người mới nhập môn.

Sơ đồ đấu nối

Các linh kiện cần thiết cho dự án

Tên linh kiện Số lượng
Shield Arduino Uno 1
Arduino Nano 1
Relay 1
Dây cắm 15
Cảm biến vật cản hồng ngoại 2
LCD16X2 1
Board I2C LCD16X2 1
   

Code

#include <Wire.h> 
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x3F, 16, 2);
#define in 14
#define out 17
#define relay 3
int count=0;
void IN()
{
    count++;
    lcd.clear();
    lcd.print("SO NGUOI:");
    lcd.setCursor(0,1);
    lcd.print(count);
    delay(1000);
}
void OUT()
{
  count--;
    lcd.clear();
    lcd.print("SO NGUOI:");
    lcd.setCursor(0,1);
    lcd.print(count);
    delay(1000);
}
void setup()
{
  lcd.begin();
  lcd.backlight();
  Serial.begin(9600);
  lcd.setCursor(0,2);
  lcd.print(" HELLO ");
  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(out))
    IN();
   if(!digitalRead(in))
    OUT();
  Serial.print(count);
  Serial.println("");
  
  if(count<=0)
  {
    lcd.clear();
    digitalWrite(relay, LOW);
    lcd.clear();
    lcd.print("KO CO NGUOI:");
    lcd.setCursor(0,1);
    lcd.print("Den Tat");
    delay(200);
  }
  else
    digitalWrite(relay, HIGH);
}

Thư viện

  • Các bạn có thể tải code tìm địa chỉ bus ở đây. Tải ngay.

  • Thư viện LiquidCrystal_I2C.h: Tải ngay.

Lời kết

Tham gia cộng đồng Arduino KIT

  • Để nhận được nhiều kiến thức bổ ích, các bạn Đăng ký để nhận thông báo khi có bài viết mới nhé.

  • Tham gia Cộng đồng Arduino KIT để cùng nhau thảo luận và chia sẽ kiến thức về lập trình Arduino.

Nếu các bạn thấy bài viết bổ ích nhớ LikeShare cho mọi người cùng học nhé.

Bài viết liên quan

 

Bình luận
2 bình luận:
binh-luan

dang phương

04/06/2020

bạn cho mình hỏi, khi mình nạp code cho mạch (lắp như sơ đồ của bạn thì mạch chỉ đếm vào suốt vậy nhỉ, còn đầu ra dù mình che đi để tạo vật cản (tức là 2 đèn báo trên cảm biến ra đều sáng) thì lcd vẫn không hiển thị giá trị sau khi giảm mà vẫn tiếp tục đếm mãi. chờ câu trả lời của bạn ạ.

binh-luan

Phan Thanh Toàn

16/05/2020

Cho e hỏi cái mạch đếm người này mk có thể đổi code thành đếm sản phẩm được phải k Và cái mạch này k cần lắp tủ j chỉ làm đúng thiết kế như trên là chạy ạ

Viết bình luận: