이번 시간에는 유투브를 통해 요청이 왔던 사항으로 온습도센서와 LCD를 연동하는 작업을 해보도록 하겠습니다.
둘다 기존에 개별적으로 진행했던 부분이기 때문에 전에 했던 링크를 활용해서 간단히 설명해보겠습니다~~
39-1. 온습도, CLCD 복습
우선 이전에 했었던 온습도 센서 강좌(http://maduinos.blogspot.kr/2016/02/13.html)와 lcd_key pad 강좌(http://maduinos.blogspot.kr/2016/04/20-lcd-keypad.html) 를 먼저 학습하고 난 후 이를 합치는 방법에 대해서 설명해보겠습니다.
두 링크를 훑은 후 각각의 홈페이지에 나와있는 소스코드도 활용해야겠죠?
39-2. 온습도, CLCD 연결
<LCD KEYPAD + DHT11 연동> |
우선 LCD KEY PAD에 온습도 센서를 연결해야하는데요. 온습도센서 모듈에는 5V와 GND를 연결하고 데이터선은 아두이노의 D2번 핀과 연결하여 온습도 데이터를 받아오도록 하겠습니다.
<LCD KEYPAD 핀맵(출처:구글사진)> |
LCD KEYPAD의 경우 LCD 쉴드와 아두이노가 연결되어있는 핀들을 제외하고 외부로 나와있기 때문에 온습도센서 또는 다른 센서를 연결하실 때 주의 하셔야 합니다.
39-3. 펌웨어
#include <LiquidCrystal.h>
#include "DHT.h"
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
#define DHTPIN 2 // what pin we're connected to
// Uncomment whatever type you're using!
#define DHTTYPE DHT11 // DHT 11
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(9600);
lcd.begin(16, 2); // start the library
dht.begin();
}
void loop() {
delay(1000);
float h = dht.readHumidity();
float t = dht.readTemperature();
float f = dht.readTemperature(true);
if (isnan(h) || isnan(t) || isnan(f)) {
Serial.println("Failed to read from DHT sensor!");
return;
}
float hif = dht.computeHeatIndex(f, h);
float hic = dht.computeHeatIndex(t, h, false);
lcd.setCursor(0, 0);
lcd.print("Humidity: ");
lcd.print(h);
lcd.print("%");
lcd.setCursor(0, 1);
lcd.print("Temperature: ");
lcd.print(t);
lcd.print("C ");
}
코드는 이전에 작성했던 것이 지워져서(ㅠㅠ) 제가 간략히 새로 작성했습니다.
혹시 문제되는 부분 있으면 알려주세요.(라이브러리 추가하시는 것 잊지마세요~)
자세한 코드는 영상보시면 수정하셔야 될 것 같네요.
그럼 다음시간에 봐요~~ ^^
3 댓글
안녕하세요 매드님 혹시 다음에 이산화탄소센서에 대한 강의 한번 올려주실수 있으신가요?
답글삭제그리고 아두이노가 아닌 ATMEGA128을 이용한 센서이용방법 혹시 가능하면 올려주시면 감사합니다.
네~ ^^ 다른 센서들과 마찬가지로 ADC 값을 읽어서 사용하면 될 것 같은데요.
삭제한번 확인해보겠습니다.
atmega128도 ADC를 이용하는거기 때문에 동일하다고 보시면 될 것 같네요. 흠..
atmega128 관련해서 강좌도 준비해보겠습니다.
최근에 다른 일들로 바쁘다보니...(핑계 ㅠ)
강좌 올리는게 쉽지 않네요!
주말에 한번 해보고 블로깅 해볼께요~ ^^
작성자가 댓글을 삭제했습니다.
답글삭제