회사에서 IoT를 배우게되면서 아두이노를 사용하게되어 DHT22를 이용한
온습도 데이터 출력을 해보고자 합니다.
(개발자 입문 단계이다보니 설명이 부족하거나 코드도 부족한게 많을 수 있습니다.)
코딩을 하며 배운 내용을 기록 및 보관하기위해 이 글을 작성합니다.
lcd 와 아두이노, 브레드 보드, USB 포트를 사용하여 개발 중
핀연결 관계는 이 보다 더좋은 자료가 더많으니 다른 곳을 참고 하시길....
복잡하니 설명 생략(1)
먼저 아두이노에 필요한 라이브러리와 코드를 넣어주기위해 Arduino IDE를 사용합니다.
보드는 "Arduino Uno"
포트는 "COM3"
이 정도는 이 글 을 보시는분들은 다아시겠죠??
모른다한들 인터넷에 너무 방대한 데이터가 다알려주니
설명생략(2)
코드의 라이브러리를 추가하기 위해 스케치 > 라이브러리 포함 > 라이브러리 관리 로 들어갑니다.
그러면 라이브러리 매니저가 실행 되고 여기서 DHT 를 검색하여 DHT sensor library 를 1.3.0 버전으로 설치 해줍니다.
물론! 최신으로 설치해도 상관없습니다.
#include <DHT.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h> // LCD 사용
#define DHTPIN 2 // 온습도 센서가 2에 연결
#define DHTTYPE DHT22 // DHT22 온습도 센서 사용
DHT dht(DHTPIN, DHTTYPE); // DHT 설정(A0, DHT22)
LiquidCrystal_I2C lcd(0x3F,16,2); // lcd(본인 lcd의 ID, X칸의 개수, Y칸의 개수)
void setup() {
Serial.begin(9600);
Serial.println(F("DHT22 Serial Start!"));
dht.begin();
lcd.begin();
lcd.clear();
lcd.backlight();
}
void loop() {
float h = dht.readHumidity(); // 습도값
float t = dht.readTemperature(); // 온도값
lcd.setCursor(0, 0);
lcd.print("Temperat[");
lcd.print(t);
lcd.print("C]");
Serial.print("Temperature: ");
Serial.print(t); // 습도값 출력
Serial.println("C");
lcd.setCursor(0, 1);
lcd.print("Huminity[");
lcd.print(h);
lcd.print("%]");
Serial.print("Humidity: "); // 문자열 출력
Serial.print(h); // 온도값 출력
Serial.print("% ");
delay(1000);
}
이제 위의 코드를 입력하여 아두이노에 업로드 해주시면 됩니다!
아쉬운게 첨에 lcd.Init()를 사용 했는데... 라이브러리가 최신화되면서 없어진건지 안되는건지
안되길래 lcd.clear() 로 변경을 해주었습니다..
주의!
DHT22 와 본인이 연결한 PIN 번호는 변경이 필요합니다. 각자의 세팅에 맞게
lcd(0x3F,16,2) << 0x3F 는 본인의 lcd모듈에 맞추어 주시길 바랍니다.
lcd 모듈 뭔지모른다! 하시는분들은 공식홈페이지 참조해주시면 됩니다 아래 링크!
playground.arduino.cc/Main/I2cScanner/
Arduino Playground - I2cScanner
i2c_scanner Last Modified: November 14, 2018, at 09:21 AM By: This very simple sketch scans the I2C-bus for devices. If a device is found, it is reported to the Arduino serial monitor. This sketch is the first step to get the I2C communication working. The
playground.arduino.cc
시리얼 모니터로 확인하면 출력이 잘 됩니다.
확인했으니 업로드를 해주시면 됩니다.
짜잔~! 이게답니다~!
혹시나 제가 사용한 라이브러리들이 찾기 귀찮다 하시는분들을 위해 파일 첨부합니다
경로는 제 기준 내 PC> 문서 > Arduino > libraries 안에 포함했습니다.
경로는 각 PC별로 다를 수 있으니 참고하시길 바랍니다.
공감은 선택입니다 ^^
C# 개발은 2부로 ...
'IoT' 카테고리의 다른 글
[C#] 아두이노, 라즈베리파이 USB 직렬포트를 PC에서 사용하기 DHT22 온/습도 측정기 사용 2 (0) | 2021.03.09 |
---|---|
[C#]아두이노, 라즈베리파이 USB 직렬포트를 PC에서 사용하기 DHT22 온/습도 측정기 사용 1 (0) | 2021.03.05 |
[C#] 아두이노 온/습도 DHT22 USB 시리얼 포트 연결 C# 개발해보기 2 (0) | 2021.02.25 |