아두이노 코딩-110: WeMos LOLIN 보드 DHT11 온습도 센서 측정

in #kr7 years ago (edited)

noname01.png

WeMos LOLIN 보드 평가 작업 과정에서 디지털 핀의 ON OFF 와 LED 의 아날로그적인 밝기 조절을 위한 PWM 기능, 아날로그 핀의 12비트 읽기 성능, 아울러 I2C 인터페이스에 의한 OLED 디스플레이 출력이 이루어졌으며 오늘은 DHT11 센서를 사용한 온습도를 측정하도록 한다. 이 온습도 센서 설치는 겉으로 보기에는 단순하게 LED 회로와 마찬가지로 디지털 핀에 데이터 핀을 연결하는 간단한 인터페이스로 보일 수 있겠지만 적어도 애플의 퍼스널 마이크로 컴퓨터 시작과 함께 시작된 전통적인 디지털 인터페이스 기술에 뿌리를 두고 있다. 당시에는 애플 컴퓨터 마더 보드에 슬롯이 있어 온도 측정 PCB 보드를 꽂아 인터페이스를 하게 되어 있는데 결국 하드웨어적으로 타이밍 다이아그램에 따라 데이터를 주고받게 된다.
아울러 WeMos LOLIN 보드의 온습도 측정이 가능하다면 보드의 특성상 WiFi 통신이 가능하므로 ThingSpeak 클라이언트 코딩도 가능하게 될 것이다.

noname02.png

아두이노 마이크로 콘트롤러와 DHT11 센서가 인터페이스 하고 있을 때 아두이노가 Start 신호를 보내게 되면 DHT11 센서가 Vcc 5V 또는 3,3V 전압에서 GND 즉 0V로 전압이 떨어져 18ms 이상 지속된 것을 DHT11 이 확인하게 되면 인터페이스가 이루어져 온습도 데이터가 아두이노로 전송된다.

DHT11 온습도 센서는 아두이노 뿐만 아니라 라즈베리 파이 보드에도 설치가 가능하며 LOLIN 보드처럼 새로운 보드에서 반드시 평가 과정을 거쳐야 한다. 라즈베리 파이 보드에서는 위 타이밍 다이아그램을 대상으로 온습도를 측정하기 위한 C 코드가 사용되고 있으며 성능 평가 결과 정확한 타이밍을 놓칠 경우 온습도 측정에 드물게 실패하는 수도 있었다.

LOLIN 보드에서도 아두이노 우노에서 처럼 동일한 DHT11.h 라이브러리를 설치 후 5번 핀에 DHT11 데이타 핀을 연결하여 코드를 컴파일 업로딩하여 실행하도록 하자.
아래 사이트에서 이미 아두이노 우노 보드에서 DHT11 센서를 5번 핀에 설치하여 코드를 실행시켰는데 그때와의 차이점은 툴 탭에서 보드 지정만 WeMos LOLIN 으로 지정하여 컴파일 업로딩 하도록 하자.

초보자를 위한 아두이노 코딩 입문-12: Adafruit DTH11 센서를 이용한 온습도 모니터링 https://steemit.com/kr/@codingart/11-adafruit-dth11

혹 초보자가 WeMos LOLIN 보드를 구매하여 온습도 측정할 경우에는 반드시 위 사이트를 참조하기 바라며 여기서는 단순한 평가 작업 차원에서 온습도 측정이 되는지 않되는지 확인하는 차원이다. 시리얼 모니터 결가를 보면 시작 온도가 섭씨 35도이나 점차 실내 온도 28도에 접근하게 된다.

noname03.png

첨부된 코드를 컴파일 업로딩하여 실행해 보자.
//WeMos_lolin_DHt11_01

#include <DHT11.h> //라이브러리 부르기

int pin = 5; //DHT11 데이타 핀 아두이노 연결
DHT11 dht11(pin); // DHT11 클라스 명령

void setup() {
Serial.begin(9600); //통신속도 설정
}

void loop() {
int err;
float temp, humi;
if((err=dht11.read(humi, temp))==0) { //온습도 읽기
Serial.print("temperature:");Serial.print(temp);
Serial.print(" humidity:");Serial.print(humi);
Serial.println();
}
else { //에러 출력
Serial.println();
Serial.print("Error No :");Serial.print(err);
Serial.println();
}
delay(2000); //2초마다 측정
}//끝

Sort:  

(jjangjjangman 태그 사용시 댓글을 남깁니다.)
[제 0회 짱짱맨배 42일장]5주차 보상글추천, 1,2,3,4주차 보상지급을 발표합니다.(계속 리스팅 할 예정)
https://steemit.com/kr/@virus707/0-42-5-1-2-3-4

5주차에 도전하세요

그리고 즐거운 스티밋하세요!

pairplay 가 kr-dev 컨텐츠를 응원합니다! :)

Coin Marketplace

STEEM 0.13
TRX 0.34
JST 0.034
BTC 114413.35
ETH 4404.36
SBD 0.87