본문 바로가기
라즈베리파이_피코_피코 W/circuitPython

09. Circuit 파이썬 라즈베리파 피코 W DHT11

by 커피하는조이 2023. 3. 18.
728x90
반응형
SMALL

안녕하세요 땜블리 입니다.

라즈베리파이 피코 베이직 트레이닝 보드를 이용한 DHT11 제어실습을 진행 하겠습니다.

베이직 트레이닝 보드는 아래에서 확인이 가능합니다.

https://ttcw.tistory.com/4

 

라즈베리파이 피코 베이직 트레이닝보드 구성

라즈베리파이 피코 보드의 펌웨어실습을 위한 베이직 트레이닝보드를 소개 합니다. 현재 네이버 스마트스토어에서 판매가 진행되고 있습니다. 라즈베리파이 피코 베이직 트레이닝 보드 라즈베

ttcw.tistory.com

1) DHT11 제어 구동 원리

(1) 동작설명

 

DHT11 모양 및 구성

DHT11 4핀으로 되어있으며 사용하는 핀은 3개입니다.

스펙은3.3V~5.5V까지 사용할 수 있으며 습도 범위는 5~95%RH 온도는 20~60도 측정됩니다

 

통신 방식은 1-wired 통신으로 신호핀 하나로 출력과 입력을 모두 사용하는 방식입니다.

MCU에서는 18ms Trigger 신호를 Ative Low로 출력하게 되면 보내주시면 이후부터는 40bit의 데이터가 입력이 됩니다.

 

입력되는 신호의 0 1의 구분은 Pulse width로 결정을 합니다. 1개의 구형파 주기에서 high 구간이 26~28 us라면 0으로 인식하고 70us라면 1로 인식합니다.

 

아래 표는 40bit에 대한 Packet 구조

 

습도 센싱 원리

 

습도 감지 구성 요소에는 수분 보유 기판이 사이에 끼인 두 개의 전극이 있습니다.

이온은 수증기가 기판에 흡수됨에 따라 기판에서 방출되며, 이는 다시 전극 사이의 전도도를 증가시킵니다.

두 전극 사이의 저항 변화는 상대 습도에 비례합니다.

상대 습도가 높으면 전극 사이의 저항이 감소하고 상대 습도가 낮으면 전극 사이의 저항이 증가합니다.

 

온도 측정 원리

DHT11에는 온도를 측정하기 위한 NTC/서미스터도 포함되어 있습니다. 서미스터는 온도에 따라 저항이 크게 변하는 열 저항기입니다. "NTC"라는 용어는 "음의 온도 계수"를 의미하며 온도가 증가함에 따라 저항이 감소한다는 의미입니다.

DHT11은 정수로 출력되며 DHT22는 소수 1째자리 까지 출력됩니다.

반응형

2) DHT11 센서의 온도/습도 제어

(1) 동작설명

dht11 모듈의 함수를 사용하여 온습도 값을 가져와 UART로 출력합니다.

 

(2) 소스코드

code.py

import board
import digitalio
import adafruit_dht
import time

led1 = digitalio.DigitalInOut(board.GP2)
led1.direction = digitalio.Direction.OUTPUT

dhtIn = board.GP7
dhtOut = adafruit_dht.DHT11(dhtIn)

while True:
    led1.value = False
    temp = dhtOut.temperature
    humi = dhtOut.humidity

    print('Temperature = {}C   Humidity = {}%'.format(temp, humi))
    
    led1.value = True
    time.sleep(1)

 (3) 동작 결과

 

728x90
반응형
LIST

댓글