컴퓨터/아두이노 라즈베리파이

[아두이노] DHT11 온습도 센서 + 타이머 기능 활용

우유식빵 2021. 11. 15. 06:10

아래와 같이 코드를 작성한다.

Timer를 사용하고 싶지 않다면 그냥 바로 

loop에다가 온습도값 출력을 하면 된다.

#include <DHT11.h>
#include "Timer.h"
int pin=A2; //출력핀 아날로그2로 설정
DHT11 dht11(pin);
Timer t;
void setup(){
  Serial.begin(9600);
  t.every(2000, getValue); //2초마다 getValue()함수 호출
}

float humi=0, temp=0;

void loop(){
  t.update();
}

void getValue(){ //온습도값 출력
  dht11.read(humi, temp);
  Serial.print("temperature: ");
  Serial.println(temp);
  Serial.print("humidity: ");
  Serial.println(humi);
}

회로 연결도 크게 어려울 것 없이

VCC 를 5V에 연결하고 GND연결한다음 DAT를 A2에 연결하면 된다.

실행을 하고 시리얼 모니터를 보면

2초마다 다음과 같이 결과가 나옴을 확인 할 수 있다.