본문 바로가기
CHOI_Coding/Arduino

[Arduino] 아두이노 LCD 모듈 , 온습도 센서 이용

by choizun_ 2017. 8. 15.

아두이노를 이제막 시작한 초보 입니다. 

하나하나 공부하면서 공부하고 실습한 내용을 올려 볼까합니다.


오늘은 아두이노 LCD와 온습도 센서를 이용하여 

센서롤 받아온 온도와 습도를 LCD에 보여주는 실습을 해봤습니다.


실습에 사용된 부품은 

아두이노 R3 , LCD 16 * 2 , 온습도 센서 입니다. 



 


LCD 16 * 2 



온습도 센서


센서도 여려가지고 이고 lcd도 여려가지 여서 사진 첨부 하였습니다.

LCD 같은 경우는 뒤에 잘 확인 하신 후 연결이랑 하셔야 합니다.

온습도 센서는 + - OUT 으로 이루어진 센서를 이용 하였으니 참고하세요 


실습에 사용된 라이브러리를 미리 다운 받아 추가 해주세요

LCD 라이브러리 : https://github.com/fdebrabander/Arduino-LiquidCrystal-I2C-library

온습도 라이브러리 : https://github.com/adafruit/DHT-sensor-library


라이브러리를 다운 받아 추가 하셨다면 

아두이노 r3 와 LCD 온습도 센서를 연결해보겠습니다.


먼저 연결할 LCD 입니다. 

1줄에 16개의 문자씩 총 2줄에 문자를 표기할 수 있으며 대부분 5V 전원을 통해 Backlight를 동작 시킬 수 있습니다.

가변 저항을 통해 문자의 명암를 조절할 수 있습니다.


보통의 LCD는 12개의 배선이 필요하지만 제가 사용한 LCD는 배선이 많이 사용되는 불편함을 개선이된

I2C LCD 모듈입니다.

* 참고 : i2c주소는 0x3F , 0x20 , 0x27  있습니다. LCD에 글이 안나온다면 주소를 바꿔서 실습 해보세요.

ACC = 5V

GND = GND

SDA = A4

SCL = A5


다음은 온습도센서 입니다.

온도 범위 : 0 ~ 50℃ / 정밀도 ± 2℃ 

  • 습도 범위: 0~90% RH / 정밀도 ± 5%

+ = 5V

- = GND

OUT = PIN2



위설명대로 연결을 하시면 아래 사진과 같이 연결 되겠습니다.

사진을 좀더 자세하게 찍어야 하는데 위에 설명이 있어서 넘어 가겠습니다. ^^

혹 잘 안되시는 분은 댓글로 남겨주세요 




아래 코딩을 실행 하시면 사진처럼 온도와 습도가 LCD에 나오게 됩니다.


실습 코딩

#include <DHT11.h>    
#include <Wire.h> 
#include <LiquidCrystal_I2C.h>

int SHTPin = 2;            //Signal 이 연결된 아두이노의 핀번호
DHT11 dht11(SHTPin);        
LiquidCrystal_I2C lcd(0x3F, 16, 2);

float oldTemp;
float oldHumi;

void setup() {
    lcd.begin();
    lcd.backlight();
}
 
void loop()
{
  int err;
  float temp, humi;
  if((err=dht11.read(humi, temp))==0) {
    
    if ( temp != oldTemp ){
      lcd.setCursor( 0 , 0 );
      lcd.print( "Temp : " );
      lcd.print( temp );
    }
    delay(500);     
    if ( humi != oldHumi ){
      lcd.setCursor( 0 , 1 );
      lcd.print( "Humidity : " );
      lcd.print( humi);
    }
 } else {    
    lcd.clear();
    lcd.print("Error NO" );
  }
  oldTemp = temp;
  oldHumi = humi;
  delay(5000);                        
}


댓글