728x90
반응형

[아두이노]를 이용하여 온도 값을 0.91인치 OLED에 Display하는 작업을 진행합니다.

 

▲ MLX90614측정 값 OLED에 Display된 이미지

위 작업은 최종적으로 작업이 끝난 사진입니다. 아래 부터는 온도를 OLED에 Display하는 작업내용 입니다.

 

1-1. MLX90614 - I2C

Melexis업체에서 개발한 MLX90614입니다. 온도측정 용도로 사용되며 Measurement Resolution은 0.02°C입니다.

0.02°C면 의료용으로도 사용할 수 있을것으로 보입니다. 아마, 체온에 가까운 온도범위는 정확도가 높고 고온에서 범위는 정확도가 낮을 것으로 보입니다.

 

▲MLX90614제품 구성도

SCL,SDA를 이용한 I2C통신 방식이며, VDD와 VSS사이에 0.1uF와 I2C풀업저항 4.7K옴이 각각 달려있으니 외부에 따로 작업할 필요는 없습니다. 만약 단품으로 구입하신다면 외부에 회로를 따로 작업해주셔야 합니다. 

 

1-2. 0.91Inch OLED Module 128X32 - I2C

▲ 0.91inch OLED Module 128x32

0.91inch OLED Module이미지 입니다. 저는 2가지 Type중 저는 BLUE Type제품을 구매 하였습니다.

이 제품도 MLX90614와 마찬가지로 제품에 I2C라인 회로가 포함되어 있어 별도의 회로는 구성하지 않아도 됩니다.

 

(ARDUINO UNO)에 대한 설명은 많기 때문에 제외하겠습니다.

 

▲ Connection 구성도

 

Connection구성도는 I2C Line 풀업저항이 제품 내부에 있기에 비교적 간단합니다.

 

▲ Arduino UNO I2C Pin MAP

 

Arduino UNO Pin MAP은 위 이미지와 같이 A4는 SDA, A5는 SCL로 정의되어 있습니다.

MLX90614, OLED제품 VCC,GND(VSS),SDA,SCL을 Arduino UNO Board에 묶어주면 Connection은 끝입니다.

 

MLX90614와 OLED를 사용하기 위해서는 2가지의 라이브러리를 설치해줘야 합니다.

▲ 라이브러리 설치 작업

 

Arduino IDE를 실행시키고 Tool -> 라이브러리 관리를 실행 시킵니다.

 

▲ Adafruit_MLX90614 라이브러리 설치

먼저, 적외선 Sensor인 Adafruit_MLX90614라이브러리를 설치합니다.

 

▲ Adafruit SSD1306 라이브러리 설치

 

그 다음 작업으로 OLED 라이브러리  Adafruit SSD1306을 설치합니다. 저는 2개다 설치되어 있기에 옆에 초록색으로 INSTALLED라고 되어 있습니다.

 

▲ 최종 F/W 

 

설치한 라이브러리들을 불러온 후 F/W를 간단하게 필요한기능 만가져다가 사용했습니다. Error부분은 없어도 됩니다. 주석은 달았으니 필요하신분은 참고하여 수정하시면 되며, 추가적으로 궁금한 부분이 있을 것 같아서 소스에 대한 설명을 조금 추가합니다.

 

▲ Adafruit_MLX90614.CPP파일

다운받으신 Adafruit_MLX90614 라이브러리에 들어가시면 Adafruit_MLX90614.CPP, Adafruit_MLX90614.h파일이 있습니다.헤더파일은 정의된 내용이고 온도에 계산식을 보고싶은 분들은 .CPP파일이 있습니다. 여기서 Value가 TOBJ1과 TA가 있습니다.

 

 MLX90614제품에는 이 2가지가 측정이 가능한데 TOBJ1은 실제 측정 온도이고 TA는 외부온도 입니다.

위 이미지는 외부온도에 따라서 오차율이 다르다는 것을 나타낸 이미지 입니다.

 

제가 위에 작성안 소스도 TOBJ1만 사용한 이유가 그때문입니다. 외부온도 까지 확인하면서 외부온도에 따른 보상해주는 계산식을 넣을 만큼 중요한 작업을 진행하는게 아니기 때문입니다. DATASHEET와 다운받은 소스파일을 보시면 이외에도 많은 수식적 용어가 들어가있으니 필요하신분은 확인하고 응용하시면 됩니다.

 

▲ MLX90614 OLED 온도 측정 동작 영상

 

동작 검토 결과 종이컵 물에 온도 손에 온도를 측정한 영상입니다. 실제로 이마 쪽을 측정하면 대략 36~36.58정도 나옵니다. 아무래도 이마쪽에 측두동맥이 있어서 정확이 되는 것 같습니다.

 

적외선 온도측정에 원리에 대해서 자세히 알고싶은 분들은 아래 링크를 참고하시길 바랍니다.

https://partlist.tistory.com/34?category=1072841

반응형

+ Recent posts