Đế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

 

Viết bình luận: