비접촉 자동문 오프너: 체온 감지로 문 열기 제어
부품 및 소모품
| 부품 | 수량 |
| Arduino UNO | 1 |
| 2004 I2C LCD 디스플레이 | 1 |
| GY-906-BCC IR 적외선 온도계 모듈 (MLX90614) | 1 |
| Tower Pro MG90S 서보 모터 2개 | 1세트 |
| 부저 | 1 |
| HC-SR501 인체 감지 적외선 센서 (PIR) | 1 |
프로젝트 개요
체온을 감지해 자동으로 문을 열어주는 시스템입니다. 코로나19(신종 코로나바이러스) 환자의 출입을 차단해 생활 공간의 안전을 지키는 것이 목적입니다.
작동 원리
- PIR 센서가 사람 접근을 감지
- MLX90614 비접촉 적외선 온도계로 체온 측정
- LCD에 온도 표시
- 판단 로직:
- 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