무선 적외선 온도 스캐너: 아두이노 나노 + 블루투스 + MLX90614
필요한 부품 및 소모품
| 부품 |
수량 |
| 아두이노 나노 R3 (Arduino Nano R3) |
1 |
| HC-06 블루투스 모듈 |
1 |
| MLX90614 비접촉 온도 센서 모듈 |
1 |
| 9V 배터리 |
1 |
| 9V 배터리 커넥터 |
1 |
| 터미널 블록 |
1 |
| 로커 스위치 (비조명) |
1 |
| 범용 PCB |
1 |
| 연결 와이어 |
1 |
| 핀 헤더 암수 |
1 |
필요 도구
사용 앱 및 서비스
- 아두이노 IDE
- 안드로이드 앱: Wireless IR Temperature Scanner plus ULTRA (구글 플레이 스토어)
프로젝트 개요
상용 비접촉 적외선 체온계는 측정자가 대상자에게 가까이 접근해야 하므로 감염 위험이 있습니다. 이 장치는 블루투스(최대 9m)로 무선 측정하여 측정자의 안전을 확보하고, 저비용으로 상용 제품 대체가 가능합니다. "접촉 없이 더 많은 일을(Touch Less and Do More)."
배선 연결 (브레드보드/프리칭)
MLX90614 (I2C 통신)
- 아두이노 3.3V → MLX90614 Vin
- 아두이노 GND → MLX90614 GND
- 아두이노 A5 → MLX90614 SCL
- 아두이노 A4 → MLX90614 SDA
HC-06 블루투스 모듈
- 아두이노 D0 (TX) → HC-06 RXD
- 아두이노 D1 (RX) → HC-06 TXD
- 아두이노 GND → HC-06 GND
- 아두이노 5V → HC-06 VCC
라이브러리 설치 및 센서 테스트
- 아두이노 IDE → 도구 → 라이브러리 관리자 → "MLX90614" 검색 → Adafruit MLX90614 Library 설치
- 파일 → 예제 → Adafruit MLX90614 Library →
mlxtest 업로드
- 시리얼 모니터에서 주변 온도(Ambient) 및 물체 온도(Object) 확인 (섭씨/화씨)
MLX90614 사양: 동작 전압 3.6~5V, 소모 전류 1.5mA, 물체 온도 범위 -70~382.2°C, 주변 온도 -40~125°C, 정확도 0.02°C, 시야각 80°, 측정 거리 2~5cm
PCB 제작 및 회로도
프로토타입은 핀 헤더 소켓을 사용하여 부품 교체 가능하게 제작했습니다. 납땜 전 멀티미터로 연결 확인 권장.
주의: 코드 업로드 전 블루투스 모듈 TX/RX 핀을 반드시 분리하세요. 연결된 상태에서는 업로드 실패합니다.
아두이노 코드
/***************************************************
Adafruit MLX90614 라이브러리 예제 코드
****************************************************/
#include <Wire.h>
#include <Adafruit_MLX90614.h>
Adafruit_MLX90614 mlx = Adafruit_MLX90614();
void setup() {
Serial.begin(9600);
Serial.println("Adafruit MLX90614 test");
mlx.begin();
}
void loop() {
Serial.print(mlx.readAmbientTempC());
Serial.print("|");
Serial.print(mlx.readObjectTempC());
Serial.print("|");
delay(1000);
}
출력 형식: 주변온도|물체온도| (초당 1회 전송)
앱 설정 및 사용법
- 블루투스 설정에서 HC-06 검색 후 페어링 (기본 비밀번호: 1234 또는 0000)
- 앱 실행 → 블루투스 선택 → Connect
- 연결 성공 시 실시간 온도 데이터 표시
인체 측정 기준: 정상 34.8~37.3°C / 주의 37.4~38.0°C / 발열 38.1~42.9°C
향후 확장 계획
- 자동 도어락 연동: 정상 체온 시에만 문 열림
- 안면 인식 연동: 사용자 식별 및 접촉자 추적용 데이터 저장
블루투스 설정 변경
AT 명령어로 SSID/비밀번호 변경 가능: 깃허브 참고