휴대용 아두이노 온습도 모니터: 16x2 LCD 디스플레이 탑재
부품 및 소모품
| 아두이노 우노 R3 (또는 5V 호환 보드) |
× |
1 |
| DHT11 온습도 센서 (4핀) |
× |
1 |
| Adafruit RGB 백라이트 LCD 16x2 |
× |
1 |
| 저항 10kΩ |
× |
1 |
| 파워뱅크 (휴대용 전원) |
× |
1 |
| 택타일 푸시버튼 12mm (백라이트 토글용) |
× |
1 |
| USB A-B 케이블 |
× |
1 |
| 점퍼 와이어 |
× |
1세트 |
| 브레드보드 |
× |
1 |
프로젝트 소개
아두이노 우노와 DHT11 센서, 16x2 LCD로 휴대용 온습도 측정기를 만듭니다. 파워뱅크로 구동돼 어디서든 실시간 온도/습도를 확인할 수 있습니다. 향후 ATtiny84와 PCB 제작으로 소형화할 예정입니다.
배선 가이드
아두이노 전원
- GND → 브레드보드 음극 레일
- 5V → 브레드보드 양극 레일
DHT11 센서 (4핀)
- Pin 1 (VCC) → 5V + 10kΩ 풀업 저항
- Pin 2 (DATA) → 아두이노 D8 + 10kΩ 풀업 저항
- Pin 3 → 미연결
- Pin 4 (GND) → GND
16x2 LCD (표준 핀아웃 기준)
| LCD 핀 |
연결 |
| 1 (VSS) |
GND |
| 2 (VDD) |
5V |
| 3 (VO) |
10kΩ 포텐셔미터 중간 단자 (양끝: 5V, GND) - 대비 조절 |
| 4 (RS) |
아두이노 D12 |
| 5 (RW) |
GND |
| 6 (E) |
아두이노 D11 |
| 7-10 (D0-D3) |
미연결 (4비트 모드) |
| 11 (D4) |
아두이노 D5 |
| 12 (D5) |
아두이노 D4 |
| 13 (D6) |
아두이노 D3 |
| 14 (D7) |
아두이노 D2 |
| 15 (A/LED+) |
5V |
| 16 (K/LED-) |
택타일 버튼 → GND (버튼으로 백라이트 ON/OFF) |
주의: 사용 중인 LCD의 핀아웃이 다를 수 있으니 데이터시트 확인 필수입니다. 예제의 LCD는 핀 15/16 위치가 반대였습니다.
코드
// 라이브러리
#include <LiquidCrystal.h>
#include "DHT.h" // Adafruit DHT 라이브러리 필요: https://github.com/adafruit/DHT-sensor-library
// 핀 정의
#define DHTPIN 8
#define DHTTYPE DHT11
// LCD 핀: RS, E, D4, D5, D6, D7
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
DHT dht(DHTPIN, DHTTYPE);
void setup() {
lcd.begin(16, 2);
dht.begin();
lcd.print("Temp: Humidity:");
}
void loop() {
delay(500); // DHT11 최소 샘플링 주기 1초 권장, 여기선 0.5초
lcd.setCursor(0, 1); // 2행 첫 열
float h = dht.readHumidity(); // 습도 (%)
float f = dht.readTemperature(true); // 화씨 온도 (true = Fahrenheit)
// 섭씨로 변경하려면: dht.readTemperature() 또는 false
// float c = dht.readTemperature();
if (isnan(h) || isnan(f)) {
lcd.print("ERROR");
return;
}
lcd.print(f); // 온도 출력
lcd.setCursor(7, 1); // 8번째 열로 이동
lcd.print(h); // 습도 출력
}
작동 확인
- 파워뱅크를 아두이노에 연결
- LCD와 DHT11이 시작됨
- 택타일 버튼을 누르면 백라이트 점등
- 실시간 온도(화씨)와 습도(%)가 2행에 표시됨
활용 예시
- 집안 창문별 결로/단열 상태 확인
- 환기 최적 시간 파악
- 실내 환경 모니터링
- 향후 ATtiny84 + 맞춤 PCB로 소형화 예정
회로도
프리칭(Fritzing) 회로도 이미지 제공. 브레드보드 양쪽 파워 레일 간 점퍼 와이어 연결 필요.