반응형
온습도 센서인 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와는 별개의 독립된 온습도 측정기가 되었다.
반응형
'아두이노' 카테고리의 다른 글
[아두이노] 크리스마스 캐롤 연주 (피에조부저 사용) (0) | 2015.12.11 |
---|---|
[아두이노] 아날로그 조이스틱 모듈의 사용 (0) | 2015.10.14 |
[아두이노] 시리얼 모니터의 내용을 텍스트파일로 저장하기 (3) | 2015.09.19 |
[아두이노] 7 Segment LED(4 Digit LED, FND)의 사용 (4) | 2015.09.18 |
[아두이노] 8x8 도트 매트릭스 LED의 활용 (8x8 dot matrix led) (6) | 2015.09.17 |