과학

아두이노, 마이크로컨트롤러(mcu) 개발을 위한 센서 참고자료(4) - 비접촉식 적외선 온도 센서 GY-906, MLX90614

안녕하세욤.

 

좋은 센서 소개드리러 왔습니다.

 

앞서 소개했던 자료들은 아래 링크로 들어가시면 됩니당.

 

아두이노, 마이크로컨트롤러(mcu) 개발을 위한 센서 참고자료(1) - 적외선 인체감지 PIR 센서 

아두이노, 마이크로컨트롤러(mcu) 개발을 위한 센서 참고자료(2) - TCRT5000 적외선 감지 장애물 회피 센서 / 라인트레이서 센서

아두이노, 마이크로컨트롤러(mcu) 개발을 위한 센서 참고자료(3) - 음향 사운드 감지 센서 HS-SOUNDSM

 

 

 

이번에 소개할 센서는, 비접촉식 적외선 온도센서야.

 

 

1.PNG

 

(실제 센서 이름은 MLX90614 인데... 판매하시는 분이 오타를 내신듯..)

 

일반적으로 온도를 측정할 때 사용하는 온도계들은 직접 사물에 접촉을 한다던지, 수온을 재는 경우에는 물에 직접 담그는 경우도 있어.

 

위 설명 처럼 피 측정체에 직접 접촉을 하여 측정을 하는 경우, 접촉식 // 피 측정체에 닿지 않고 측정을 할 경우 비접촉식

 

으로 구분을 하고 있고.

 

비접촉식의 가장 좋은 예시로는, 신체 검사 할 때 사용하는 온도계나, 총처럼 생긴 온도측정기가 있어.

 

2.PNG

 

이 센서는 조금 특이하게 VCC(VIN), GND, SCL, SDA 총 4개의 핀으로 이루어져 있어.

 

제어 방식은 I2C 방식으로, 일반 AVR에서는 TWI 로 취급되는 2선을 이용한 통신 인터페이스인데, 이 I2C 인터페이스는 나중에 더 설명을 하도록 할게.

 

흔히 볼 수 있는 센서들은 ADC를 통해 직접 변환한 후 사용하는 것이 일반적이지만 요새는 모듈이 워낙 잘 나오고 있어서 굳이 사용자가 변환해주지 않더라도 이미 변환된 데이터를 보내주기 때문에 사용하기 편해졌어.

 

이 센서도 센서 내부에서 직접 측정한 뒤 정밀하게 계산된 데이터를 아두이노 혹은 타겟보드로 보내주는 형태야.

 

 

3.PNG

 

회로 연결은 I2C 통신을 위해 SCL, SDA 에 맞춰서 연결해줬어.

 

다행히 이 센서 자체의 입력 전압 범위가 3.3V -5V 이다 보니 보드에서 전원을 끌어다 쓰면 돼.

 


 

5.PNG

I2C 통신을 통해 센서에서 데이터를 보내달라는 명령을 보내고, 센서값을 받아온 뒤, 시리얼 모니터를 통해 섭씨 온도와 화씨 온도를 출력해주는 소스코드를 구성했어.

 

MLX90614모듈 보드에 대해서 Adafruit 에서 제공하고 있는 라이브러리가 있어서, 위 소스코드는 거기 있는 예제를 끌어다가 확인해봤어.

 

아두이노 스케치에서 'MLX90614' 로 라이브러리 검색을 하면 바로 나오니까 라이브러리 채로 다운받아서 예제를 확인해보면 돼.

<꼭 라이브러리로 받으셔야 합니다!>

 

라이브러리에서 제공되는 예제를 이용한 코드를 실행해 보시면 다음과 같은 결과가 나와.

 

 

6.PNG6-1.PNG



테스트 결과는 위에 처럼 나오는데, 생각보다 정밀도가 높은 편이야. 소수 2번째 자리까지 표시해주니까..

 

왼쪽은 손을 센서에 가까이 댔을 때이고, 오른쪽은 천장을 바라보게 하고 측정한 결과야.

 

Ambient와 Object로 표시를 해놨는데, 특이하게도 두곳에서 온도를 확인하더라고.

 

Ambient는 센서 자체에서 측정되는 온도를 의미하고,

 

Object는 센서에서 측정하고자 하는 물체의 온도야.

 

즉, 센서를 사용하는 주변 온도가 30도 이고, 물을 끓이는 주전자의 온도가 100도 일 때,

 

Ambient는 30도가 되고, Object 는 100도가 된다는 거지.

 

https://www.sparkfun.com/datasheets/Sensors/Temperature/MLX90614_rev001.pdf

 

스파크펀에서 제공하는 센서 데이터시트 링크인데, 센서 스펙이나 특성 같은 부분을 추가로 참고하고 싶은 사람은 눌러서 확인해줘.

 

그나저나.. 작업실 온도가 29도정도라니.. 꽤나 높은 온도였네..

 

처음 블로그 쪽에 이 글을 작성했을 때가 초가을 무렵이라 작업실이 여전히 뜨끈뜨근하던 때였거든.

 

여름에는 에어컨도 없어서 쪄죽는줄 ㅎㅎ;

 

7.PNG

 

실제 측정을 위해서 꽤나 가까운 거리에서 측정을 진행해야 했어. 약 3~5cm 간격만 되도 어느정도 오차가 꽤나 발생하는 듯 하더라고.

 

총 모양 온도측정기에서는 앞에 렌즈를 달아두더라고. 

 

측정부 보호 목적도 있겠지만 정밀도를 높이려고 한게 아닐까 싶어.

 

이전에 PIR 적외선 인체 감지센서와 동일하게 적외선 역시 파동의 성질을 가지고 있고, 발열 측정체에서 구면파 형태로 발산되어 나오기 때문에 측정체와 가까우면 가까울수록 측정 값이 정밀해져.

 

비접촉식 적외선 온도측정 센서는 측정부가 직접 맞닿으면 안되는 측정체나, 닿을 수 없는 측정체에 대해서도 온도를 측정할 수 있는 센서인데 ,

 

보통은 물 온도를 잰다던가, 직접 만지면 상해를 입을수 있는 발열부 혹은 물체에 측정할때 이용하면 좋지.

 

아니면 물을 담고 있는 금속재질 수조에 간접적으로 측정할 수도 있는거구..

 

다음번은.. 알콜센서 모듈이 되지 않을까 싶어!

 

항상 읽어줘서 고맙고, 궁금한 점이 있다면 얼마든지 물어봐줘!!

 

-----------------------------------------------------------------------------------------------------

 

다행히 이번주는 늦지 않고 올렸어!

 

이제 다음주는 부산을 가서.. 다음주 주말에 시간이 된다면 올릴 수 있도록 할게!

 

아래는 조그맣게 운영하는 블로그인데, 도움이 되는 자료들이 있었으면 해.

 

https://blog.naver.com/vulcatronics/

17개의 댓글

개유익하군

0
2018.11.04
@다크나이트리턴즈

감사합니당 ㅎㅎ..

0
2018.11.03

호 지나가다 잘못들어왔는데 좋은 정보들 많이 얻어간다

비접촉식 온도 센서는 안써봤는데 덕분에 잘 알아가 :)

0
2018.11.04
@브금돌이

좋은 정보가 되었다니 정말 다행이네욥 ㅎㅎ

0
2018.11.03

비접촉식이 내가 기억하기로는 저 렌즈부분에 비치는 표면의 평균온도를 구하는거라서 거리가 멀어질수록 공기온도도 같이 측정되어버리는걸로 기억함

 

정밀한 측정을 원한다면 측정을 원하는 구간이 저 렌즈안에 비치도록 꽤나 근접시켜서 해야할꺼임

0
2018.11.04
@Tbps

그렇더라구용.. 온도측정기는 앞에 렌즈 달린거같아영

0
2018.11.03

님 이거 취미에요 실무에요?

0
2018.11.04
@도라이네에

굳이 말씀드리자면 취미가 일이 됬는데 다시 취미가 되는 중이에요..

0
2018.11.04
[삭제 되었습니다]
2018.11.04
@오늘며칠이냐

저도 I2C나 SPI는 그저 기능 구현만 해서 쓰고 있어서..ㅎㅎ;; 공부해오겠슴다 ㅎㅎ..

0
2018.11.04

아두이노 대학생때 과제할때 썼었는데.. 그때 교수도 신기해가지고 막 살펴보고 나한테 이것저것 물어보시고 그랬었지 ㅋ.ㅋ

전에 심심할때 광도센서 부착해서 자동으로 해가 지면 형광등켜주는거 만들었었는데 꽤 잘 작동해서 잘썼었음. 한 한달만에 센서고장나서 방치해뒀는데 어디다뒀는지 기억이안나네

0
2018.11.04
@영롱한밥버거

솔직히 첨에 아두이노 나왔을땐 반짝하고 사라지겠지 했었는데 생각보다 많이 뜨더라구여... 되게 불편한데..

0

오홍홍 이런 내용을 올려주는 형도 있었네!

 

전기과 출신이라 졸업작품을 아두이노를 통해서 졸작하고

이후에는 하고싶었던 프로그래밍쪽으로 틀어서

 

안드로이드 아두이노간 통신 작업도 아주 간단하게 해봤는데

 

다들 같은 이야기더라~

 

아두이노 그냥 좀 뜨다 말줄알았는데 꽤 생명력이 질기다.

통신 방식이 다양하고 생각보다 요놈이 튼튼해ㅋㅋㅋ

 

잘아는 바가 없으나 이런 글 너무 좋다. 한번 정독도 해보고 취미생활이나 업무에도 충분히 도움이 될거같다 !

 

(물론 나는 개발도 초입이고 아두이노도 맛뵈기로만 해본 UNO충... ㅋㅋ 아트메가 328, AVR 128 합시다!)

0
2018.11.04
@머머리모쏠아다

저도 AVR이 주력이라 AVR하려그랬는데.. 찬찬히 생각해보니 진입장벽이 좀..ㅎㅎ..높다보니 가볍게 소개하기 쉽지 않더라구요..

0
2018.11.07

좋은 글 고마워요

0
2018.11.08

게이야 아두이노 디지털 인풋으로 어느정도 레이턴시나 응답지연으로 신호처리가 가능할까?

 

1~3us를 한틱으로 들어오는 신호를 실시간으로 읽어서 신호처리후 디스플레이로 출력하는게 가능할지 궁금함.(쉴드모듈없이)

 

또, 신호가 들어오는걸 기다리는동안 연산을 하다가 신호가 뜨면 인터럽트로 신호를 받고 다시 연산을 해야할텐데,

 

디지털 인풋 감지 -> 인터럽트를 발생 -> 신호가 들어온 시간을 기록

 

이 과정에서 얼마정도의 지연이 발생할지 궁금함.

 

쉴드를 쓴다면 어떤걸로 쓰면 저거 연산이 가능할지궁금함.

0
2018.11.10

그거 용으로 쓰는게 타이머 카운터 기능인데 그건 avr자체에서 지원하는 기능이에유

아두이노를 쓰고있다면 타이머 카운터 라이브러리를 한번 찾아보세유

0
무분별한 사용은 차단될 수 있습니다.
번호 제목 글쓴이 추천 수 날짜
562 [과학] 번역)새들은 왜 알을 많이 낳는가? - 후투티의 형제살해 습성... 5 리보솜 3 5 일 전
561 [과학] 학계와 AI, 그리고 Bitter Lesson (쓰라린 교훈) 26 elomn 35 2024.02.17
560 [과학] 지구의 속삭임, 골든 레코드의 우주 9 Archaea 10 2024.02.16
559 [과학] 잔혹한 과학실험 이야기 <1> 절망의 구덩이 19 개드립하면안됨 35 2024.02.15
558 [과학] 스트레스를 받으면 술이 땡기는 이유 12 동식 16 2024.02.10
557 [과학] 지능은 모계유전이 아니다. 40 울릉특별자치도 35 2024.01.26
556 [과학] 진화를 생각할 때 고려할 것들 23 날씨가나쁘잖아 12 2024.01.17
555 [과학] 학문적(과학적) 접근과 유사 진화심리"학" 26 날씨가나쁘잖아 19 2024.01.15
554 [과학] 호모 사피엔스의 야릇한 은폐된 배란에 대한 남녀 학자의 다... 14 개드립하면안됨 15 2023.12.29
553 [과학] 김영하의 작별인사를 읽고 느낀 점 (스포있음) 21 장문주의 2 2023.11.28
552 [과학] 제4회 포스텍 SF 어워드 공모전 ( SF 단편소설 / SF 미니픽션 ) 2 따스땅 1 2023.11.25
551 [과학] 펌) CRISPR 유전자 가위 치료제 "최초" 승인 12 리보솜 7 2023.11.25
550 [과학] 러시아는 기술산업을 어떻게 파괴시켰는가(펌) 9 세기노비는역사비... 15 2023.11.18
549 [과학] 고양이에 의한 섬생태계 교란과 생물 종의 절멸 (펌) 2 힘들힘들고 6 2023.11.16
548 [과학] 번역) 알츠하이머병 유전자는 어떻게 살아남았는가? 12 리보솜 10 2023.11.15
547 [과학] 『우영우』의 자폐 스펙트럼 장애 개념이 왜곡인 이유 (펌) 54 힘들힘들고 10 2023.11.12
546 [과학] 흑수저 문과충 출신 구글 취직하는 파이썬 특강 -1 14 지방흡입기 11 2023.09.27
545 [과학] 국가별 당뇨 유병율 이거 뭐가 바뀐건지 아는사람? 8 LAMBDA 1 2023.09.27
544 [과학] 물샤워 ㅇㅈㄹ 하는 놈들 봐라 171 철동이 48 2023.09.23
543 [과학] 천동설은 왜 장수했을까.kuhn 20 시에는퇴근할거야 23 2023.09.14