[센서/온도] 접촉없는 원격 온도 측정, 적외선 기반 TM006 모듈
Texas Instrument의 TM006 모듈을 사용해 원격온도를 측정해보자.
▶ 이 가이드를 따라하면
- 비접촉 적외선(Infrared) 측정을 통해 온도를 구할 수 있는 TM006 모듈을 사용할 수 있다(I2C기반)
▶ 먼저 읽으면 좋은 글
- 라이브러리 설치 방법 : http://bbangpan.tistory.com/1
▶ 부품 설명 및 회로 구성
TMP006으로 불리는 작은 모듈이 Texas Instrument에서 보급된다. 이를 이용한 다양한 원격 온도 측정 모듈이 많은데 아래 Sparkfun의 제품도 그중 하나다. 통칭 TMP006 온도센서라고 부르자. 이 센서는 가운데 9개의 작은 격자모양 구멍을 가지고, 중앙에 반짝이는 적외선 센서가 탑재된 것이 전형적이다. 원격의 물체와 해당 보드 자체의 온도를 같이 측정할 수 있으며, 원격 측정을 위해서는 반사가 적은 물체가 효과적이라고 설명되어 있다. 즉 까만 물체의 온도를 정확하게 측정해준다고 한다. (측정 가능 온도 범위도 -40도~125도 정도 수준이다) 다만, 접근 거리가 멀어지면 온도가 조금씩 떨어지게 측정되므로 정확한 거리를 위해서는 측정 대상과 센서간 수 cm거리를 유지하는 것을 권고한다. 대개 원격온도 센서는 다른 센서대비 고가인데($10~), 추후에는 약간 더 저렴한 센서를 보도록 하자. 이 센서도 미국쪽 직구 가격이 $10~이고 국내에서는 2만원가량 지불해야 살 수 있다. 가격 저렴한 Aliexpress에서도 $20 이상 줘야한다.
<TMP006 모듈 그림>
<I2C를 지원하기 때문에 Vcc/GND/SCL/SDA를 아두이노 보드의 5V/GND/SCL/SDA로 연결한다.>
이 모듈의 가장 널리 알려진 설명 사이트는 https://learn.adafruit.com/infrared-thermopile-sensor-breakout/overview 이다. 여기서도 별도 코드없이 해당 공급되는 라이브러리 예제를 참조하도록 하자.
▶ 라이브러리 설치
상기 모듈 구동을 위해서는 2가지 라이브러리가 필요하다.
https://github.com/adafruit/Adafruit_Sensor : 다양한 센서를 통합 관리하기 위한 Adafruit의 각종 계산값 및 데이터 구조체를 담은 라이브러리
https://github.com/adafruit/Adafruit_TMP006 : TMP006센서로부터 값을 얻어올 수 있는 라이브러리
다운로드 받아 libraries폴더에 풀고 Arduino sketch를 재시작하자.
▶ 소스 코드 입력 및 구동
상기 라이브러리 설치 후 Adafruit_TMP006의 예제 tmp006을 불러와 실행하고, 시리얼 모니터를 구동한다.
<Adafruit TMP006 라이브러리의 tmp006예제>
센서를 원하는 물체에 접근시켜 향하도록 하면, 원격지 물체(Object)와 현재 센서 주변 온도(Die)를 알 수 있다. 사람 손이나 형광등에 가져다 대면 그 온도만큼의 결과를 볼 수 있다. 라이브러리의 코드를 발췌하여 해당 온도를 알아내 활용하는 것이 가능하다.
<시리얼 모니터 측정 화면>
▶ 구매 가이드
TMP006 모듈: http://www.artrobot.co.kr/front/php/product.php?product_no=943 (1.8만원) 이나 TMP006 sensor로 검색하자.
▶ 강의 키워드
Arduino remote temperature sensor, contactless temperature sensor, infrared thermopile sensor, TMP006 sensor, thermal sensor, IR sensor, 아두이노 원격 온도 센서, 적외선 온도 센서