아두이노2015. 10. 6. 10:30

온습도 센서인 DHT11과 16x2 LCD를 가지고 PC의 시리얼모니터가 아닌 LCD 화면에 독립되어 표시되는 온습도계를 만들어보자.  사실 이전에 본 블로그에 올렸던 온습도 센서 및 LCD 의 사용법에 대해서 다룬 글을 참고 한다면 그리 어렵지 않게 만들 수 있다.


※참고 글

[아두이노] 16x2 LCD 의 사용 (IIC 1602 LCD)

[아두이노] 아두이노 온도 습도 센서의 사용 (DHT11센서)



LCD 앞면이다. 16 행 2열을 표현할 수 있다.



LCD 뒷면이다. 위부터 GND, VCC, SDA, SCL의 핀 배열이다. 



DHT 11 온습도 센서이다. 위부터 GND, VCC, Signal 핀이다.

저항이 포함된 모듈 제품이다.



두 개의 부품 모두 VCC(5V)를 연결하기 때문에(포트 부족) 브레드보드에 아두이노의 5V 와 GND 포트를 연결하여 두 개의 부품에 전원을 공유하였다.


아두이노 와의 연결은 다음과 같다.


 DHT 11 Sensor

 LCD Module

 아두이노(Arduino Uno)

 GND

 GND

 GND

 VCC

 VCC

 5V

 Signal

 

 Digital 2

 

 SDA

 Analog A4

  SCL Analog A5


##소스##

몇 초마다 재측정 할지는 45행의 delay 값을 변경해 주면 된다.

Include 라이브러리는 위의 참고글 링크에 가면 다운로드 받을 수 있다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#include <Wire.h> 
#include <LiquidCrystal_I2C.h>
#include <DHT11.h>
 
//LCD 설정
LiquidCrystal_I2C lcd(0x27,16,2);  
 
//온습도센서 연결설정
int pin=2;
DHT11 dht11(pin); 
 
void setup()
{
  lcd.init();
  Serial.begin(9600);
}
 
void loop()
{
  int err;
  float temp, humi;
  if((err=dht11.read(humi, temp))==0)
  {
    lcd.backlight();
    lcd.display();
    lcd.print("TEMP:     ");
    lcd.print(temp);
    lcd.setCursor(0,1);
    lcd.print("HUMIDITY: ");
    lcd.print(humi);
 
    Serial.print("temp: ");
    Serial.print(temp);
    Serial.print("humi: ");
    Serial.print(humi);
    Serial.println();
  }
  else
  {
    lcd.backlight();
    lcd.display();
    lcd.print("ERROR NO.: ");
    lcd.print(err);
  }
  delay(10000); //10초마다 Refresh
  lcd.clear();
}
cs



##결과##

10초 마다 결과를 측정하여 보여준다. 5V 휴대폰 충전용 보조배터리를 연결하니 PC와는 별개의 독립된 온습도 측정기가 되었다.





반응형
Posted by 대네브 (deneb)

댓글을 달아 주세요

  1. ㅋㅋㅋ

    저는 T2.00 H4.00으로 나오는데...

    2016.05.08 11:35 [ ADDR : EDIT/ DEL : REPLY ]
    • http://deneb21.tistory.com/208 글의 아랫부분 추가내용을 참고하세요. 아두이노 ide 가 업데이트 되면서 라이브러리와 코딩을 조금 바꿔야 합니다

      2016.05.08 11:54 신고 [ ADDR : EDIT/ DEL ]
  2. 음 빵판을 쓰기가 좀 아까운데 LCD를 아두이노에 3.3볼트에다 넣고, 온습도 센서를 5볼트에다 연결하면 안될까요..?

    2016.07.17 11:18 [ ADDR : EDIT/ DEL : REPLY ]
    • LCD 모듈은 저의 것과 같은 것 이라면 5V 에서 동작 합니다.
      그런데...
      DHT11 은 3~5.5V 까지 지원되니까
      DHT11 을 3.3에
      LCD 를 5V 에 연결하면 됩니다.

      2016.07.17 11:27 신고 [ ADDR : EDIT/ DEL ]
  3. 시작해용

    휴대용으로만들어서 하는방법은 없을까요?

    2017.11.06 17:40 [ ADDR : EDIT/ DEL : REPLY ]
    • 배터리를 이용하고 lcd가 조금 크면 작은 디스플레이를... 아두이노는 아두이노 프로 미니 정도 이용하면 손바닥에 들어오는 장치를 만들수 있습니다

      2017.11.06 17:44 신고 [ ADDR : EDIT/ DEL ]
  4. 간절한학생

    아두이노 연결하자마자 방전되는듯한 상황이 벌어지는데...어떻게 해야할까요

    2017.12.18 16:33 [ ADDR : EDIT/ DEL : REPLY ]