DFRobot SHT40 고정밀 온습도 센서 모듈 아두이노에서 사용하기

Cover Image

소개 #

최근 진행중인 프로젝트에서 온습도 측정을 위해 SHT4x 시리즈의 SHT45 센서를 사용하기로 했습니다.

SENSIRION이라는 센서 제조사의 4세대 온습도 센서인 SHT4x 시리즈는 사양에 따라 SHT40, SHT41, SHT43, SHT45 이렇게 총 4개가 출시되어 있습니다. 모두 동일한 소스 코드로 사용할 수 있어 국내에서 구하기 어려웠던 SHT45 대신 SHT40을 구매하게 되었습니다.

DHT22SHT40
온도 정확도 / 정밀도0.5 ℃ / 0.1 ℃0.2 ℃ / 0.01 ℃
습도 정확도 / 정밀도2.0 % R.H. / 0.1 % R.H.1.8 % R.H. / 0.01 % R.H.

나름 정확하다고 알려진 DHT22와 비교했을 때 위와 같습니다.

DHT22는 여러 판매사에서 단종되어 정품을 구하기 어려운 상황이라 정확한 측정이 필요한 프로젝트라면 SHT40을 고려해보면 좋을 것 같습니다.

모듈 사양 #

DFRobot 쇼핑몰 이미지, 전면 [링크]
DFRobot 쇼핑몰 이미지, 후면 [링크]
  • 작동 전압: 3.3~5 V (LDO 및 레벨 시프터 내장)
  • 소비 전류: 약 0.45 mA
  • 온도 측정
    • 정확도: ±0.2 ℃
    • 정밀도: 0.01 ℃
    • 측정 범위: -40~125 ℃
  • 습도 측정
    • 정확도: ±1.8 % R.H.
    • 정밀도: 0.01 % R.H.
    • 측정 범위: 0~100 % R.H.
  • 통신 인터페이스: I2C
    • 기본 주소: 0x44 (7b’1000100)
  • 기타: 히터 기능 내장
  • 아두이노 라이브러리
  • 센서 모듈 데이터시트
  • 센서 데이터시트

센서 자체의 작동 전압은 3.3 V 이지만, 모듈에 LDO와 레벨 시프터가 붙어있어 5 V 환경인 아두이노에서도 쉽게 사용할 수 있어보입니다.

특이하게 히터 기능이 있었는데요, 히터를 활용하면 물방울이 센서 표면에 튀거나 순간적으로 습도가 강해졌을 때 생기는 결로 현상에 대응할 수 있다고 합니다.

80 % 초과 시 히터 사용
기본 상태

센서에 입김을 불었을 때 히터를 사용하게 되면 결로 현상을 더 빠르게 회복하는것을 볼 수 있었습니다.

결선 #

납땜 대신 포고핀 클립을 활용했습니다.
아두이노모듈
5VVCC
GNDGND
A4SDA
A5SCL

소스코드 #

라이브러리 #

SHT40 센서 모듈을 사용하기 위해서는 라이브러리가 필요합니다.

라이브러리 매니저에서 “DFRobot_SHT”를 검색해 라이브러리를 설치해주세요.

온도&습도 측정 예제 #

SHT40 고정밀 온습도 센서 아두이노 예제 코드 (한국어 주석)

SHT40 고정밀 온습도 센서 아두이노 예제 코드 (한국어 주석)

SHT40 고정밀 온습도 센서 아두이노 예제 코드 (한국어 주석). GitHub Gist: instantly share code, notes, and snippets.

gist.github.com

기본 예제를 이해하기 쉽도록 단순화하고 한국어 주석을 붙였습니다.

온도와 습도를 측정하고, 시리얼 모니터에 이를 출력하는 기본적인 동작을 합니다.

작동 #