아두이노와 습도센서를 사용하여 LCD에 온습도 값을 표시하는 방법입니다.


※ 준비물

- 아두이노 우노

- 1602LCD

- DHT11 습도센서

- 220Ω 저항 1EA

- 10KΩ 저항 1EA

- 가변저항 1EA (LCD 폰트 밝기조절)

- 점퍼 와이어

 

--> 아래 회로도에서 DHT11 좌측 1,2번 핀 사이를 10KΩ 저항으로 연결해주세요 (VCC, Signal)

-

※아두이노 코드

 

#include <DHT11.h>               //DHT11 헤 호출

#include <LiquidCrystal.h>        //1602LCD 헤더 호출

LiquidCrystal lcd(12, 11, ,5, 4, 3, 2);

int pin=8;                             // DHT11 Signal 연결 핀번호

  DHT11 dht11(pin);                // NTC temp.measurement component 

                                         // (Negative Temperature Coefficient)

void setup()

{

   lcd.begin(16, 2);                 // LCD의 열행 선언

   pinMode(4, OUTPUT);         //Motor 출력

}


void loop()

{

  int err;

  float temp, humi;

  if((err=dht11.read(humi, temp))==0) 


/* 위 if문과 같은코드

  int err=dht11.read(humi, temp);

  if(err==0)

  센서에서 정삭적으로 값을 읽어왔을때 실행, 함수는 리턴값을 가직수 있으며dht11.read() 함수는 센서의 리딩값이 아닌 상태값을 가져오는 함수로 이 값을 err 변수에 저장후 0이면 정상 그외는 비정상코드를 실행, 정상일때 0을 반환하며 checksum 에러는 -1, 타임아웃은 2를 반환

*/

  {

    lcd.setCursor(0, 0);                  // LCD 출력위치

    lcd.print("temperature:");          // "temperature" 텍스트 출력

    lcd.print(temp);                      // 온도값 출력

    lcd.println();                           // 한칸 줄바꿈(ln에서 l = 소문자L )

    lcd.setCursor(0, 1);                  // LCD 출력위치

    lcd.print("humidity:");               // "humidity" 텍스트 출력

    lcd.print(humi);                       // 습도값 출력

  

  }

  else                                  //  err변수에 0이 담기지 않을 경우

  {

    lcd.clear();                        // LCD 화면 비우기

    lcd.setCursor(0, 0);            // LCD 출력위치

    lcd.println();                    //줄 바꿈 (엔터)

    lcd.print("Error No :");       // "Error No :" 텍스트 출력

    lcd.print(err);                   // err 출력

    lcd.println();                    //줄 바꿈 (엔터)

  }

}

 

1602 LCD에 1행에 온도가, 2행에 습도가 표시되는것을 확인할 수 있습니다.

'아두이노' 카테고리의 다른 글

초음파센서 LCD  (0) 2016.07.27
포토센서  (0) 2016.07.27
신호등제어  (0) 2016.07.27
코드밴더  (0) 2016.07.27
아두이노 블루투스 LED, 모터제어  (0) 2016.07.20

+ Recent posts