아두이노와 로봇컨트롤러에 많이 사용하는 디지털 온도센서 DS18B20 입니다.
상상보드에서는 엔트리 블록코딩으로 사용이 가능하고 아두이노 스케치에서 사용 가능합니다.
블로거님들 자료 입니다.
https://blog.naver.com/machiavelian/221559540272
https://webnautes.tistory.com/631
온도센서의 종류는 많이 있습니다.
CDS처럼 아날로그로 읽어서 온도 값으로 계산하는 센서부터 다양한 디지털 데이터로 온도 값을 전달하는 방식이 있습니다.
온도센서를 선택함에 있어 가격과 온도센서의 측정 범위, 정밀도, 오차를 검토하여 선택하게 됩니다.
이번에 사용하는 DS18B20은 디지털 온도 센서이며 스펙은 다음과 같습니다.
- 허용 전압 입력 : 3.0-5.5V
- 측정 온도 범위 : -55° C to+125° C
- 정밀도 : ±0.5° C ( -10° C to +85° C 범위 내)
-
아날로그 센서의 경우 측정 과정에서 전원 노이즈로 인하여 오차가 발생하거나 정밀도가 1도 이상인 경우가 있어 이보다 정밀한 DS18B20 모듈을 사용합니다.
온도를 읽어오는 getTemp() 함수를 직접 코딩하였고 라이브러리를 통해 사용하는 방법도 있습니다.
검색하여 알아봅시다.
온도에 따라 LED 제어하기
온도에 따라 LED 제어하기 2
map 함수를 적용하여 25도에서 온도가 올라갈수록 빨간색을 더 밝게 하였습니다.
이처럼 센서 값에 따라 LED를 제어했지만 LED가 아닌 에어컨이나 히터를 제어하면 설정한 온도로 제어하는 시스템을 만들 수가 있습니다.