아두이노프로세싱 프로그래밍

아두이노 MLX90614 적외선 온도 센서 ESP32 보드 배선

coding art 2020. 12. 28. 16:53
728x90

아두이노 호환 16비트 esp32 보드 상에 I2C 배선을 위한 핀들은 GPIO22 번의 SCL GPIO21 번의 SDA 핀이 지정되어 있다. MLX90614 온도센서를 esp32 보드에 아래와 같이 점퍼선을 배선한다.

Vin ->3V3, GND->GND, SCL->SCL, SDA->SDA

 

라이브러리 관리를 클릭하면 아래의 라이브러리 매니저 창이 뜬다. mlx90614를 검색 창에 입력 후 Adafruit MiniMLX90614... 가 뜬 후 More Info를 클릭하면 나타나는 설치 버튼을 누른다.

 

설치 후 아래와 같이 90614 라이브러리 설치 결과를 확인하자.

이와 같은 설치법을 따르게 되면 반드시 예제에 관련 실행 코드를 제공하게 된다. 파일 메뉴에서 예제를 열고 들어가 보면 Adafruit MLX90614 Library 탭에 mlstest 코드가 있음을 확인 가능하다. 바로 위의 Adafruit MiniMLX90614 는 적외선 온도 센서 외에 네오픽셀을 사용하는 예제이므로 MLX90614 만을 테스트하는 예제가 아님에 주의하자.

코드의 헤더 부분을 살펴보면 I2C 통신 인터페이스를 위해 Wire.h 라이브러리를 호출한다. 이어서 MLX90614 적오신 온도 센서 라이브러리를 설치하고 클라스 명령 사용을 위한 선언이 뒤따른다.

적외선 온도 측정을 위한 loop() 루틴을 살펴보면 주변온도(ambient temp) 와 대상 온도(object temp) 두 가지 측정이 가능함을 알 수 있다. 대상 온도 측정을 위해서는 센서 가까이에 인체를 접근시키면 35~36도의 체온 감지가 가능함을 알 수 있다. 예제코드에서 delay(500) 으로 되어 있으나 측정 반복이 너무 빠르므로 delay(2000) 으로 다소 늦춰서 출력하자.

주변온도와 대상온도가 동일하지만 적외선 온도 센서를 이마 근처에 접근시키면 35도 가까운 값을 준다.