스마트팜부화기.

스마트팜부화기.

Makerist 0 687

 37.7~38.2도 습도는 50~60을 유지


#include <DHT.h>


#define DHT_PIN_1 3
#define DHT_PIN_2 4
#define RELAY_HEATER 5
#define RELAY_FAN 6
#define RELAY_DC_FAN 7
#define SET_TEMPERATURE_LOW 37.7
#define SET_TEMPERATURE_HIGH 38.2
#define MAINTAIN_TIME 1800000
#define FAN_OPERATION_TIME 600000


DHT dht1(DHT_PIN_1, DHT22);
DHT dht2(DHT_PIN_2, DHT22);


unsigned long startTime = 0;


void setup() {
  pinMode(RELAY_HEATER, OUTPUT);
  pinMode(RELAY_FAN, OUTPUT);
  pinMode(RELAY_DC_FAN, OUTPUT);
  
  digitalWrite(RELAY_HEATER, HIGH);
  digitalWrite(RELAY_FAN, LOW);
  digitalWrite(RELAY_DC_FAN, LOW);
  
  startTime = millis();  // 전원이 인가된 시간 저장
}


void loop() {
  // 경과한 시간 계산
  unsigned long elapsedTime = millis() - startTime;
  
  // 여기에서 elapsedTime을 기반으로 날짜 및 시간을 계산할 수 있음
  // (예: elapsedTime을 시간, 분, 초로 변환하거나 특정 시점에 따라 날짜를 계산)


  float temperature1 = dht1.readTemperature();
  float humidity1 = dht1.readHumidity();
  float temperature2 = dht2.readTemperature();
  float humidity2 = dht2.readHumidity();


  float averageTemperature = (temperature1 + temperature2) / 2;
  float averageHumidity = (humidity1 + humidity2) / 2;


  if (elapsedTime < MAINTAIN_TIME) {
    // 적정 온도와 습도를 유지하는 동안의 동작
    digitalWrite(RELAY_HEATER, HIGH);
    digitalWrite(RELAY_FAN, LOW);
    digitalWrite(RELAY_DC_FAN, LOW);
  } else if (elapsedTime < (MAINTAIN_TIME + FAN_OPERATION_TIME)) {
    // 팬을 동작시키는 동안의 동작
    digitalWrite(RELAY_HEATER, LOW);
    digitalWrite(RELAY_FAN, HIGH);
    digitalWrite(RELAY_DC_FAN, LOW);
  } else {
    // DC 팬을 동작시키는 동안의 동작
    digitalWrite(RELAY_HEATER, LOW);
    digitalWrite(RELAY_FAN, LOW);
    digitalWrite(RELAY_DC_FAN, HIGH);
  }
}

0 Comments
Category
반응형 구글광고 등
State
  • 현재 접속자 49 명
  • 오늘 방문자 2,883 명
  • 어제 방문자 3,313 명
  • 최대 방문자 4,586 명
  • 전체 방문자 674,775 명
  • 전체 게시물 25,583 개
  • 전체 댓글수 36 개
  • 전체 회원수 22 명
Facebook Twitter GooglePlus KakaoStory KakaoTalk NaverBand