프로젝트

나도 메이커! 메이커스 여러분들의 작품/프로젝트를 공유하는 공간입니다.

[온습도센서XRGB LED] 우리집 쾌적함을 책임지는 스마트 에어컨 만들기

2018-04-19 15:06:53

 

 

1. 개요

 

여름하면 빼놓을 수 있즌 필수적인 가전 기기, 과연 무엇일까요?

아마도 선풍기 혹은 에어컨을 떠올리시게 될 것 입니다. 

 

여름철 무더위를 이겨내기 위해서 냉방 기기는 우리 생활에 꼭 필요한 기기가 되었습니다. 

 

출처 : 서울 신문

 

 

하지만 이런 냉방 기기의 사용 이면에는 냉방용 전력 수요가 계속해서 증가한다는 우려도 있습니다. 

실제로 2006년부터 현재까지 냉방수요는 지속적으로 증가하는 추이를 보이고 있으며, 여름철 에너지 절약이 필요한 시점입니다. 

 

여름철 냉방 에너지 절약을 위한 방안에는 어떤 것들이 있을까요?

집안의 불쾌지수가 굉장히 높을 때만 효율적으로 냉방기기들을 운행할 수 있다면 전기세와 에너지를 절약과 더불어 냉방병 예방에도 큰 도움이 될 것 입니다 

 

스마트 홈 키트에 구성되어 있는 온·습도 센서와 RGB LED 모듈을 이용해 '불쾌지수에 따라 가동되는 스마트 에어컨'을 구현해보도록 하겠습니다.

 

- 온·습도 센서

  온도와 습도를 측정해 불쾌 지수를 구하는데 사용됩니다. 

 

- RGB LED 모듈

  에어컨의 가동, 미가동을 표현합니다. 가동 시 LED가 점등되고, 미 가동 시 LED가 소등됩니다. 

 

 

스마트 홈 키트에 구성되어 있는 적외선 장애물 감지 센서를 활용한다면, 사람이 있을 때만 가동되는 냉방 기기로도 아이디어 확장이 가능하겠습니다. 

 

에너지를 절약하는 똑똑한 선풍기 프로젝트 구경하러 가기

 

 

 

 

 

2. 준비물

 

 

NO 부품명 수량 상세설명
MDF 외관  
2 우드락 가구 2 침대 / 스피커
3 오렌지보드 BLE 1 블루투스 4.0 포함 보드
4 온·습도 센서 모듈 1 KY-015
5 RGB LED 모듈 1  
6 브레드보드 1 SG-90
7 점퍼케이블    

 

부품명 MDF, 우드락 외관 오렌지보드 BLE 온·습도 센서 모듈
파트 ky-015에 대한 이미지 검색결과

 

부품명 RGB LED 모듈 브레드보드 점퍼케이블
파트 ky-016에 대한 이미지 검색결과
 

 

 

TIP / 조도센서와 피에조 부저의 사용 방법을 알아보도록 하겠습니다. 

온·습도 센서 모듈 사용법 알아보기

RGB LED 모듈 사용법 알아보기

 

 

TIP / MDF 및 가구 제작 방법에 대해 알아보도록 하겠습니다. 

MDF 외관 조립하기

스마트 홈 구성하는 우드락 가구 만들기

 

 

 

 

3. 하드웨어 메이킹

 

 

 

4. 소프트웨어 코딩

 

#include <SimpleDHT.h> // DHT11를 사용하기 위한 라이브러리 호출하기

SimpleDHT11 dht11; // 온습도센서를 dht11이라는 이름으로 선언

int piezoPin = 2; // 피에조 부저의 +극을 오렌지보드 2번에 연결
int airCon = 9;  // RGB LED의 파란색 핀을 디지털 9번 연결
int DHTPin = 3;  // 온습도센서를 오렌지보드 3번핀에 연결
int notes[] = {4186, 4698, 5274, 5587, 6271};
// 가까울 시 울릴 경보의 멜로디 작성
boolean flag = 0;

void setup() {
  // 시리얼 통신을 위해 통신속도(Baudrate)를 9600으로 설정
  Serial.begin(9600);
  pinMode(piezoPin, OUTPUT);  // 피에조 핀을 출력핀으로 설정
  pinMode(airCon, OUTPUT);  // 3색 LED중 파란색 핀을 출력핀으로 설정
}

void loop() {
  byte temperature = 0;
  byte humidity = 0;

  // 온습도센서로 온도와 습도값 측정
if (dht11.read(DHTPin, &temperature, &humidity, NULL)) {
    Serial.print("Read DHT11 failed.");
    return;
  }


  // 측정된 온도, 습도값으로 불쾌지수 값 계산 후 시리얼 모니터에 출력
  float discomfortIndex = (1.8 * temperature) - (0.55 * (1 - humidity / 100.0) * (1.8 * temperature - 26)) + 32;
  Serial.println(discomfortIndex);

  // 불쾌지수값이 70보다 높을 경우
  if (discomfortIndex > 70) {
    // 에어콘(파란색 LED)를 켜주면서 멜로디를 재생
    digitalWrite(airCon, HIGH);
    if (flag == 0) {
      for (int i = 0; i < 5; i++) {
        tone(piezoPin, notes[i], 300);
        delay(150);
      }
      flag = 1;
    }
  }

  else {
    // 에어콘(파란색 LED)를 끔
    digitalWrite(airCon, LOW);
    flag = 0;
  }
  delay(1500);
}

 

소프트웨어 코드 설명

 

#include <SimpleDHT.h> // DHT11를 사용하기 위한 라이브러리 호출하기

DHT11 온습도 센서를 사용하기 쉽게 만들어 놓은 라이브러리를 호출하는 부분입니다. 라이브러리를 설치하고 사용하는 방법은 링크를 통해 확인하세요.

 

 

  // 측정된 온도, 습도값으로 불쾌지수 값 계산 후 시리얼 모니터에 출력
  float discomfortIndex = (1.8 * temperature) - (0.55 * (1 - humidity / 100.0) * (1.8 * temperature - 26)) + 32;

 

측정된 온도와 습도를 이용해 불쾌지수를 측정하는 코드입니다. 불쾌지수 측정식은 밑의 이미지를 참고하시면 됩니다.

[심평원/불쾌지수]여름철, 불쾌지수 200% 낮추고 상쾌지수는 높이는 꿀팁!

 

 

  if (discomfortIndex > 70) {
    // 에어콘(파란색 LED)를 켜주면서 멜로디를 재생
    digitalWrite(airCon, HIGH);
    if (flag == 0) {
      for (int i = 0; i < 5; i++) {
        tone(piezoPin, notes[i], 300);
        delay(150);
      }
      flag = 1;
    }
  }

  else {
    // 에어콘(파란색 LED)를 끔
    digitalWrite(airCon, LOW);
    flag = 0;
  }

 

측정된 불쾌지수를 이용하여 에어콘(파란색 LED)를 제어하는 코드입니다.

 

여기서 측정한 불쾌 지수 값이 70보다 클 경우 에어콘(파란색 LED) 를 키고 멜로디를 재생하며, 70보다 작을 경우 에어콘을 꺼줍니다.

 

같은 상태가 유지될 경우(Ex  == 불쾌지수 70 이상 -> 불쾌지수 70 이상 ) 멜로디 재생을 반복하지 않도록 flag를 사용하였습니다.

 

 

5. 프로젝트 시연 영상

 

 

kocoafabeditor

코코아팹, 오렌지보드, 아두이노, 오픈소스하드웨어, SW교육, SW코딩, 코딩, 코딩 교육, 스마트홈, IoT 홈, IoT, DIY, 키트, kit, kocoafab, ornage board, arduino, opensource hardware, Software, education, physical computing,온습도센서, DHT11, temperature, huminity, sensor
profile

렛잇빕 2018-06-08 16:42:33

감사합니다

profile

창정신 2018-10-24 17:15:53

감사합니다

profile

모모노스케 2018-11-29 16:12:00

이 소스만 써도 업로딩되나요??