안녕하십니까
전력전자와 각종MCU를 공부하고 최종적으로 작품을 만드는 전자 장인 입니다
오늘의 주제는
아두이노 우노 온습도센서 (DHT11) 값 LCD에 출력하기
1. LCD 개요
2023.12.27 - [프로그래밍/아두이노] - 아두이노 우노 LCD 사용법 및 코드 분석
2. 온습도센서 (DHT11) 개요
2023.12.30 - [프로그래밍/아두이노] - 아두이노 우노 온습도센서(DHT11) 사용법 및 코드 분석
3. 아두이노 우노 실습 환경 세팅
1. 실습준비물
실습 준비물로는 다음과 같이 준비해주세요
1. 아두이노 우노
2. 브레드보드
3. LCD
4. 온습도센서 (DHT11)
5. 점퍼 와이어
2. 아두이노 우노 및 LCD 및 온습도센서(DHT11) 핀맵 연결
아두이노 우노 핀 | LCD 핀 | 온습도센서 |
5V | VCC | 2pin |
GND | GND | 3pin |
A4 | SDA | - |
A5 | SCL | - |
5 | - | 1pin |
아두이노 우노와 LCD와 온습도센서(DHT11) 간 연결 핀맵은 다음과 같습니다.
해당 핀맵 확인 후 연결해주세요
4. 코드 작성 및 결과확인
#include <Wire.h> #include <LiquidCrystal_I2C.h> #include <DHT.h> #define DHTPIN 5 // DHT 센서 핀 번호 #define DHTTYPE DHT11 // 사용하는 DHT 센서의 종류 (DHT11, DHT21, DHT22 중 선택) DHT dht(DHTPIN, DHTTYPE); // DHT 객체 생성 // LCD 설정 LiquidCrystal_I2C lcd(0x27, 16, 2); // 주소, 열 수, 행 수 void setup() { lcd.begin(16, 2); // LCD 초기화 lcd.backlight(); lcd.print("Temp: "); lcd.setCursor(0, 1); lcd.print("Humidity: "); delay(100); // 초기화 시간을 위한 대기 dht.begin(); // DHT 센서 초기화 } void loop() { float humidity = dht.readHumidity(); float temperature = dht.readTemperature(); lcd.setCursor(6, 0); lcd.print(temperature); lcd.setCursor(10, 0); lcd.print("C"); lcd.setCursor(10, 1); lcd.print(humidity); lcd.setCursor(14, 1); lcd.print("%"); delay(100); // 일정 시간 간격으로 측정 } |
5. 코드 해석
void loop() { float humidity = dht.readHumidity(); float temperature = dht.readTemperature(); lcd.setCursor(6, 0); lcd.print(temperature); lcd.setCursor(10, 0); lcd.print("C"); lcd.setCursor(10, 1); lcd.print(humidity); lcd.setCursor(14, 1); lcd.print("%"); delay(100); // 일정 시간 간격으로 측정 } |
dht.readHumidity(): DHT 센서에서 습도를 읽어와 humidity에 저장
dht.readTemperature(): DHT 센서에서 온도를 읽어와 temperature에 저장
lcd.setCursor(6, 0): LCD 커서를 첫 번째 행, 일곱 번째 열로 이동
lcd.print(temperature): LCD에 온도 값 출력
lcd.setCursor(10, 0): LCD 커서를 첫 번째 행, 열 번호 10으로 이동
lcd.print("C"): LCD에 온도 단위 "C" 출력
lcd.setCursor(10, 1): LCD 커서를 두 번째 행, 열 번호 10으로 이동
lcd.print(humidity): LCD에 습도 값 출력
lcd.setCursor(14, 1): LCD 커서를 두 번째 행, 열 번호 14로 이동
lcd.print("%"): LCD에 습도 단위 "%" 출력
delay(100): 0.1초 동안 대기
'프로그래밍 > 아두이노' 카테고리의 다른 글
아두이노 우노 초음파센서 (HC-SR04) 값 LCD에 출력하기 (0) | 2024.01.05 |
---|---|
아두이노 우노 초음파센서(HC-SR04) 사용법 및 코드 분석 (1) | 2024.01.03 |
아두이노 우노 온습도센서(DHT11) 사용법 및 코드 분석 (0) | 2023.12.30 |
아두이노 우노 LCD 사용법 및 코드 분석 (1) | 2023.12.27 |
아두이노 우노 RFID 카드 사용법 및 코드, 아두이노 연결, 핀맵, 실습 결과 살펴보기 (1) | 2023.10.18 |
댓글