적외선(IR) 열화상 카메라는 원래 산업용 장비나 고가의 분석 장비에서나 볼 수 있는 기술이었습니다.

하지만 최근에는 센서 가격이 크게 낮아지면서, 개인 메이커나 IoT 개발자도 직접 열화상 시스템을 만들 수 있게 되었습니다.

 

이번 글에서는 Adafruit의 MLX90640 IR Thermal Camera Breakout 보드를 소개합니다.

이 센서는 작은 크기에도 불구하고, 실제로 주변의 “온도 분포”를 영상처럼 읽어낼 수 있는 매우 흥미로운 장치입니다.

특히 ESP32, Raspberry Pi, Arduino와 조합하면:

  • 사람 감지 시스템
  • 열화상 카메라
  • 발열 모니터링
  • 과열 감지
  • 과학 실험 데이터 기록

같은 프로젝트를 비교적 저렴한 비용으로 구현할 수 있습니다.


MLX90640이란?

MLX90640은 24x32 배열의 적외선(IR) 센서를 내장한 열화상 센서입니다.

즉, 단순히 “온도가 몇 도인지”만 측정하는 것이 아니라,

화면 전체의 온도 분포를 읽어들일 수 있습니다.

총 센서 수는:

24 × 32 = 768개

즉 한 프레임마다 768개의 온도 데이터를 얻을 수 있습니다.

사람의 눈처럼 실제 이미지를 보는 것은 아니고,

각 위치의 적외선 에너지를 측정해서 “열 지도(thermal map)”를 만드는 방식입니다.


주요 사양

해상도

  • 24 x 32 픽셀
  • 총 768개의 온도 측정 포인트

이 정도면 간단한 열화상 카메라로는 꽤 높은 수준입니다.

예를 들어:

  • 사람의 위치 감지
  • 손의 움직임 추적
  • 전자기기 발열 분석

등은 충분히 가능합니다.


시야각(Field of View)

이 모델은:

  • 55° × 35° 시야각

을 제공합니다.

즉 비교적 “좁은 시야”를 가지는 버전입니다.

반대로 더 넓은 공간을 보고 싶다면 110° 광각 버전도 존재합니다.


측정 온도 범위

측정 가능한 대상 온도 범위는:

  • -40°C ~ 300°C

입니다.

즉:

  • 사람 체온
  • 전자기기 발열
  • 히터
  • 모터
  • 전원 회로

같은 것들을 모두 측정할 수 있습니다.


정확도

0~100°C 범위에서는:

  • ±2°C 정도의 정확도

를 제공합니다.

고가 산업용 열화상 장비 수준은 아니지만,

메이커 프로젝트나 실험 용도로는 상당히 우수한 편입니다.


프레임 속도(Refresh Rate)

프레임 속도는:

  • 0.5Hz ~ 64Hz

까지 설정 가능합니다.

이론적으로는 32FPS 수준까지 가능하지만, 실제 프로젝트에서는 보통:

  • 약 16Hz 정도

로 사용하는 경우가 많습니다.


전원 요구사항

센서는:

  • 3V ~ 5V

전원에서 동작합니다.

그리고 보드 내부에:

  • 3.3V 레귤레이터
  • 레벨 시프터(Level Shifter)

가 포함되어 있어서:

  • 3.3V MCU
  • 5V Arduino

모두 안전하게 연결 가능합니다.

소비 전류는:

  • 23mA 이하

로 비교적 낮은 편입니다.


하드웨어 연결

STEMMA QT / Qwiic 지원

이 보드는:

  • STEMMA QT
  • Qwiic

커넥터를 지원합니다.

즉 납땜 없이 케이블만 연결해서 바로 사용할 수 있습니다.

특히 초보자 입장에서 상당히 편리합니다.


I2C 인터페이스 사용

통신은 I2C 방식입니다.

보통 연결은 아래처럼 합니다.

  • VCC
  • GND
  • SDA
  • SCL

ESP32나 Raspberry Pi에서도 쉽게 연결 가능합니다.


크기

보드 크기는 매우 작습니다.

약:

  • 25.7mm × 17.7mm

정도입니다.

소형 프로젝트에도 쉽게 탑재 가능합니다.


Arduino 사용 시 주의사항

이 센서는 768개의 온도 데이터를 한 번에 처리해야 하기 때문에 RAM 사용량이 꽤 큽니다.

따라서 최소:

  • 20KB 이상의 RAM

이 필요합니다.

추천되는 MCU는:

  • SAMD21 (M0)
  • SAMD51 (M4)

등입니다.

일부 메모리가 작은 Arduino에서는 사용이 어려울 수 있습니다.


ESP32와의 궁합

실제로는 ESP32와 매우 잘 어울리는 센서입니다.

이유는:

  • RAM이 충분하고
  • 처리 성능이 높으며
  • Wi-Fi/BLE 기능이 내장되어 있기 때문입니다.

예를 들어:

  • 열화상 데이터를 Wi-Fi로 전송
  • 모바일 앱에 실시간 표시
  • 사람 감지 알림
  • 클라우드 저장

같은 IoT 시스템 구축도 가능합니다.


Raspberry Pi / Python 활용

Raspberry Pi에서도 완벽하게 지원됩니다.

특히 Python에서는:

  • SciPy

라이브러리를 사용해서 보간(interpolation) 처리를 할 수 있습니다.


보간(interpolation)이란?

원래 센서는 24x32 해상도이기 때문에 화면이 다소 거칠게 보일 수 있습니다.

하지만 보간 처리를 하면:

  • 픽셀 사이를 계산으로 채워서
  • 더 부드러운 열화상 이미지

를 만들 수 있습니다.

즉 실제 해상도는 그대로지만, 사람이 보기에는 훨씬 고급스럽게 보입니다.


라이브러리 지원

Adafruit는:

  • Arduino 라이브러리
  • Python/CircuitPython 라이브러리

를 제공합니다.

따라서 몇 줄의 코드만으로도:

  • 전체 온도 배열 읽기
  • 열화상 이미지 생성

이 가능합니다.

초보자 입장에서는 상당히 큰 장점입니다.


사용 중 나타날 수 있는 현상

센서를 빠르게 움직이면 화면에:

  • 체커보드(checker-board) 패턴

같은 것이 나타날 수 있습니다.

하지만 이것은 정상 동작입니다.

센서가 프레임을 두 번에 나누어 읽는 구조 때문입니다.

천천히 움직이면 훨씬 자연스럽게 보입니다.


활용 예시

사람 감지 시스템

사람의 체온을 감지해서:

  • 자동 조명
  • 출입 감지
  • 보안 시스템

등에 활용할 수 있습니다.


미니 열화상 카메라

ESP32 + TFT LCD와 연결하면 간단한 휴대용 열화상 카메라도 만들 수 있습니다.


전자기기 발열 분석

예를 들어:

  • 전원 회로
  • 모터 드라이버
  • CPU
  • 배터리

의 발열 분포를 시각적으로 확인할 수 있습니다.

디버깅에도 매우 유용합니다.


과학 실험 및 데이터 기록

온도 분포 변화를 시간에 따라 기록하면:

  • 단열 실험
  • 열전달 분석
  • 냉각 특성 분석

같은 프로젝트도 가능합니다.


마무리

Adafruit MLX90640은 비교적 저렴한 가격으로 “열화상 비전”을 구현할 수 있는 매우 흥미로운 센서입니다.

특히:

  • ESP32
  • Raspberry Pi
  • Python
  • IoT 시스템

과 결합하면 단순 센서를 넘어 꽤 강력한 프로젝트를 만들 수 있습니다.

메이커 프로젝트에서 “눈에 보이지 않는 열”을 시각화하고 싶다면, 상당히 매력적인 선택지라고 할 수 있습니다.

+ Recent posts