-
IoT 발아기(4) - 상추 모종 발아, 시험 가동Projects/Arduino 2020. 1. 22. 11:16
상추 씨를 다이소에서 구매했다.
발아에 적합한 온도는 20~25C 라고 한다. 그래서 일단 발아기 내부 온도와 습도만 컨트롤 할 수 있도록 세팅해놨다.
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include "DM_G_I2C.h"
#include "DHT.h"
//#include "MQ135.h"
#include "Time.h"
#include "TimeLib.h"
#include "time.h"
#define DHTPIN 2 // SDA 핀의 설정
#define DHTTYPE DHT22 // DHT22 (AM2302) 센서종류 설정
DHT dht(DHTPIN, DHTTYPE);
LiquidCrystal_I2C lcd(0x27,20,4);
#define ANALOGPIN A0 // Define Analog PIN on Arduino Board
#define RZERO 206.85 // Define RZERO Calibration Value
//MQ135 gasSensor = MQ135(ANALOGPIN);
#define HEAT 13
#define FAN 12
#define MOIST 11
#define LEDPIN 10
int fan_turn = 0;
void setup() {
Wire.begin();
dht.begin();
lcd.init();
lcd.backlight();
lcd.clear();
G_I2C_Scanner();
pinMode(HEAT,OUTPUT);
pinMode(MOIST,OUTPUT);
}
void loop() {
float h = dht.readHumidity();
float t = dht.readTemperature();
//float ppm = gasSensor.getPPM();
if (isnan(t) || isnan(h)) {
//값 읽기 실패시 시리얼 모니터 출력
lcd.setCursor(0,0);
lcd.println("Failed to read from DHT");
} else {
//온도, 습도 표시 시리얼 모니터 출력
lcd.setCursor(0,0);
lcd.print("Temp: ");
lcd.print(t);
lcd.print(" C");
lcd.setCursor(0,1);
lcd.print("RH : ");
lcd.print(h);
lcd.print(" %");
HeaterControl(t);
RHControl(h);
//FanControl(ppm);
}
lcd.setCursor(0,2);
lcd.print("CO2 : ");
//lcd.print(ppm);
lcd.print(" ppm");
delay(2000);
}
void HeaterControl(float temp){
if(temp<20)
{
FanControl();
digitalWrite(HEAT,LOW);
}
else if(temp>27)
digitalWrite(HEAT,HIGH);
}
void FanControl(){
if(fan_turn == 4){
digitalWrite(FAN,LOW);
delay(30*1000);
digitalWrite(FAN,HIGH);
fan_turn = 0;
}
else
fan_turn++;
}
void RHControl(float rh){
if(rh < 50)
digitalWrite(MOIST,LOW);
else if(rh > 70)
digitalWrite(MOIST,HIGH);
}설정하고자하는 온도는 20~25도지만 온도가 금방 낮아지는점때문에 27도까지 올라갔을때 히터가 꺼지도록 설정했다.
습도는 50~70%로 설정했다.
릴레이에 히터와 가습기를 NC(Normal Close)로 되어있어서 아두이노에서 릴레이에 Low 신호를 줘야 작동한다.
이런식으로 물에 적신 티슈에 씨앗을 둔다. 3일정도 기다리자
2초 주기로 온습도 값을 LCD모니터를 통해 볼 수 있다. 20C에서 27C로 올리는데 대략 2분정도 히터가 작동한다.
'Projects > Arduino' 카테고리의 다른 글
IoT 발아기(6) - 모종판에 옮기기 (0) 2020.02.15 IoT 발아기(5) - LED, 단열재 (1) 2020.01.22 IoT 발아기(3) - 부품 연결 (0) 2020.01.13 IoT 발아기(2) - 가습기, 히터 (0) 2020.01.11 IoT 발아기(1) - DHT - 22 / MQ - 135 / 2004 lcd (0) 2019.12.25