산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 제조공정

비접촉 자동문 오프너: 체온 감지로 문 열기 제어

부품 및 소모품

부품수량
Arduino UNO1
2004 I2C LCD 디스플레이1
GY-906-BCC IR 적외선 온도계 모듈 (MLX90614)1
Tower Pro MG90S 서보 모터 2개1세트
부저1
HC-SR501 인체 감지 적외선 센서 (PIR)1

프로젝트 개요

체온을 감지해 자동으로 문을 열어주는 시스템입니다. 코로나19(신종 코로나바이러스) 환자의 출입을 차단해 생활 공간의 안전을 지키는 것이 목적입니다.

작동 원리

  1. PIR 센서가 사람 접근을 감지
  2. MLX90614 비접촉 적외선 온도계로 체온 측정
  3. LCD에 온도 표시
  4. 판단 로직:
    • 31°C 미만: "Not detected, retest!" (미감지, 재시도)
    • 30~37°C: "body temperature ok" → 서보 모터로 문 열기 (5초 후 자동 닫힘)
    • 37°C 초과: "Keep out!" 경고 메시지 + 빨간 LED 점등 + 부저 경보

코드 (autodoor.ino)

#include <LiquidCrystal_I2C.h>
#include <Servo.h>
#include <Wire.h>
#include <Adafruit_MLX90614.h>

Adafruit_MLX90614 mlx = Adafruit_MLX90614();
LiquidCrystal_I2C lcd(0x27, 20, 4);
Servo myservo1;
Servo myservo2;
#define red 13
#define haha 4  // PIR 센서 핀
int pos1, pos2;

void setup() {
  Serial.begin(9600);
  pinMode(red, OUTPUT);
  pinMode(haha, INPUT);
  myservo1.attach(7);
  myservo2.attach(8);
  myservo1.write(90);
  myservo2.write(90);
  mlx.begin();
  lcd.init();
  lcd.backlight();
}

void loop() {
  int motion = digitalRead(haha);
  if(motion == 1) {
    Serial.print("motion detected\n");
    lcd.setCursor(0,0);
    lcd.print("ObjectTemp:");
    lcd.setCursor(13,3);
    lcd.print("-DKARDU");
    checkTemp();
  }
}

void checkTemp() {
  int temp_obj = mlx.readObjectTempC();
  Serial.print(temp_obj);
  Serial.print("\n");
  
  if(temp_obj < 31) {
    lcd.setCursor(0,1);
    lcd.print(temp_obj);
    lcd.setCursor(0,2);
    lcd.print("Not detected, retest!");
  }
  if(temp_obj > 30 && temp_obj < 38) {
    lcd.setCursor(0,1);
    lcd.print(temp_obj);
    lcd.setCursor(0,2);
    lcd.print("body temperature ok ");
    // 문 열기 (서보 90° → 180°)
    for(pos1 = 90; pos1 <= 180; pos1 += 1) {
      myservo1.write(pos1);
      myservo2.write(180 - pos1);
      delay(15);
    }
    delay(5000); // 5초 대기
    // 문 닫기 (서보 180° → 90°)
    for(pos1 = 180; pos1 >= 90; pos1 -= 1) {
      myservo1.write(pos1);
      myservo2.write(180 - pos1);
      delay(15);
    }
  }
  if(temp_obj > 37) {
    digitalWrite(red, HIGH);
    lcd.setCursor(0,1);
    lcd.print(temp_obj);
    lcd.setCursor(0,2);
    lcd.print(" Keep out! ");
    delay(500);
  }
  digitalWrite(red, LOW);
}

GitHub 저장소: https://github.com/DKARDU/AutomaticDoor

회로도

비접촉 자동문 오프너: 체온 감지로 문 열기 제어

Stay home and Be safe... Have a great day! #Arduino #ArduinoProject #Covid-19

제조공정

  1. 라즈베리 파이와 아두이노로 로봇 만들기: 단계별 통합 가이드
  2. 유리 섬유 생산 공정 완벽 가이드
  3. SolidWorks에서 프로그레시브 컷어웨이 애니메이션 만들기 - 단계별 튜토리얼
  4. 성공적인 프로토타입 구축: 신속 제품 개발을 위한 단계별 가이드
  5. 안전 확보: 중장비 브레이크 효과적으로 점검하는 방법
  6. 중장비 브레이크 점검: 안전한 정지 및 OSHA 준수 보장
  7. 수동 및 자동 변속기 동력 전달 원리: 알기 쉬운 개요
  8. 자동 변속기 시스템 종합 가이드: 종류, 부품, 작동 원리
  9. 자동 급유 시스템(ALS) 완벽 가이드: 종류·구성·작동·장단점 총정리
  10. 자동차 도어 핸들 수리 단계별 가이드: 직접 교체하고 비용 절약하기