다루두루

블로그 이미지

차케요

공부하면서 정리하는 노트같은 블로그입니다.

디지털온습도계 DHT22 아두이노와 연결해서 데이터 측정

취미/아두이노 2017. 12. 18. 19:00

 

우리 생활과 밀접한 관련이 있는 임베디드 시스템을 만들 때 활용할 수 있는 센서의 종류는 다양하지만 밤낮이 매일 바뀌고 4계절 온도의 변화가 뚜렷한 우리나라 환경에 맞는 것을 꼭 고르라고 한다면 '조도 센서'와 '온도 센서'가 아닐까 싶은데요. 오늘은 그중에서 디지털온습도계 DHT22 모델을 이용해서 온도와 습도를 측정해서 시리얼 모니터에서 확인하는 예제를 만들어볼까 합니다.

 

디지털온습도계

 

▲ 가장 오른쪽에 작은 센서가 디지털온습도계인데요. 온도와 습도의 값에 따라서 뭔가를 작동하는 장치들을 만들면 활용도가 높겠죠? 그 대표적인 예가 보일러와 에어컨의 온도 설정일 것입니다. 그것들을 지금 당장 만들 수는 없겠지만 이런 작은 센서 하나에서 그 기능이 시작된다는 점을 생각하면서 온도와 습도를 측정해보죠.

 

 

핀의 역할

 

▲ 이 DHT22 디지털 온습도계는 네 개의 핀이 있는데요. 사진에서 표시한 것처럼 하나는 사용을 안 합니다. 이제 그림에 표시한 대로 아두이노와 연결을 해보죠.

 

아두이노와 연결

 

▲ 점퍼 선 세 개를 이용해서 온도계의 세 번째 핀을 제외하고 연결을 했고요. 데이터를 전달하는 핀은 디지털 8번에 연결을 했습니다. 다음은 이 녀석의 값을 읽어올 코딩을 해볼 텐데 이 DHT22 디지털온습도계에서 데이터를 읽어오기 위해서는 아래 라이브러리를 추가해줘야 합니다.

 

DHT.zip

 

이 파일을 압축을 풀고 아두이노 라이브러리에 추가를 하고요. 다음과 같이 코딩을 했습니다.

 

예제 코딩

 

▲ DHT 라이브러리를 사용하기 위해서 include 한 후 m_temp라는 객체를 생성하면서 데이터를 전달하는 핀을 연결한 아두이노의 D8번과 온도계 타입인 DHT22를 전달하고요.

 

 

초기 한 번 실행되는 함수인 setup()에서는 앞에서 만든 객체와 시리얼 모니터를 시작했습니다. 다음으로 온도와 습도를 계속 체크하면서 반복되는 loop()에서는 두 개의 float형 변수를 선언한 후 DHT의 readTemperature() 함수와 readHumidity() 함수를 호출해서 각각 온도와 습도를 측정한 후 변수에 저장하도록 했습니다.

 

그리고 그 아래쪽에서는 println() 함수를 이용해서 시리얼 모니터에 2초 단위로 그 값들을 출력하도록 했는데요. 프로그램을 업로드 한 후 온도와 습도 값을 확인해보고 마무리하겠습니다.

 

 

▲ 결과를 확인하는 영상에서는 현재 제 주변의 온도와 습도 값을 전달하다가 손으로 살짝 잡아봤더니 온도와 습도가 천천히 올라가는 것을 확인할 수 있네요. 테스트하는 과정에서 센서를 들고 입김을 불어봤더니 온도와 습도가 동시에 상승하면서 습도는 99.9%까지 올라가는 걸 확인했습니다.

 

이 센서는 -40도에서 80도까지 온도 측정이 가능하고 습도는 0~100%까지 가능하다고 하며 오차는 온도의 경우 0.5도이고 습도는 2%라고 합니다. 혹시 디지털온습도계 사용해서 뭔가 만들어보려고 하신다면 DHT22 모델도 참고해서 사용해보셔요. 가격도 5천 원이면 구입할 수 있으니 부담도 없더라고요.

 

이렇게 해서 오늘은 디지털온습도계를 사용하는 예제를 만들어봤습니다. 수고하셨어요.

저작자표시 비영리 변경금지 (새창열림)
Posted by 차케요

    최근...

  • 포스트
  • 댓글
  • 트랙백
  • 더 보기

카테고리

NEW (900)
아이폰 개발 기초 (7)
취미 (16)
아두이노 (16)
[안드로이드] 어플만들기 (77)
안드로이드 기초 다지기 (61)
슈팅게임 만들기 (4)
[JAVA]자바 공부하기 (48)
C언어 알고리즘 (61)
[Unity3D]유니티3D 강좌 (7)
컴퓨터 (325)
포토샵CS2 강좌 (6)
유용한 프로그램 (244)
리눅스 노트정리 (22)
임베디드 리눅스 (11)
New블로그 (9)
음식의 효능 (4)
일반상식 (56)
HTML 공부 (40)
포토샵 공부 (36)
엑셀 (6)
파워포인트 공부 (19)
노트정리 (38)
일상 (33)
TV영화 (85)
방명록 : 관리자 : 글쓰기
차케요's Blog is powered by daumkakao
Skin info material T Mark3 by 뭐하라
favicon

다루두루

공부하면서 정리하는 노트같은 블로그입니다.

  • 태그
  • 링크 추가
  • 방명록

관리자 메뉴

  • 관리자 모드
  • 글쓰기
  • NEW (900)
    • 아이폰 개발 기초 (7)
    • 취미 (16)
      • 아두이노 (16)
    • [안드로이드] 어플만들기 (77)
      • 안드로이드 기초 다지기 (61)
      • 슈팅게임 만들기 (4)
    • [JAVA]자바 공부하기 (48)
    • C언어 알고리즘 (61)
    • [Unity3D]유니티3D 강좌 (7)
    • 컴퓨터 (325)
      • 포토샵CS2 강좌 (6)
      • 유용한 프로그램 (244)
    • 리눅스 노트정리 (22)
      • 임베디드 리눅스 (11)
    • New블로그 (9)
    • 음식의 효능 (4)
    • 일반상식 (56)
    • HTML 공부 (40)
    • 포토샵 공부 (36)
    • 엑셀 (6)
    • 파워포인트 공부 (19)
    • 노트정리 (38)
    • 일상 (33)
    • TV영화 (85)

카테고리

PC화면 보기 티스토리 Daum

티스토리툴바