본문 바로가기

아두이노 수경재배

아두이노로 만드는 수경재배 장치; 7. 시간 지연 릴레이 (자동 스위치)

아두이노로 만드는 수경재배 장치 목차

1. 아두이노 시작하기

2. 아두이노 IDE

3. 첫 번째 아두이노 개발

4. 온도, 습도계 v 1.0

5. 온도, 습도계 v 2.0

6. 조도계 (광센서)

7. 시간 지연 릴레이 (자동 스위치)

8. 와이파이 연결 (ESP 01) - 1

9. 와이파이 연결 (ESP 01) - 2

 

이제 기본적인 센서가 만들어 졌으니, 물을 공급하고 물의 높이를 조절할 수 있도록 밸브를 열고 닫을 수 있는 스위치를 아두이노를 사용해서 만들어 보려고 한다. 담수, 박막, 밀물썰물, 분무 등 어떤 방식의 수경 재배를 하더라도 펌프를 동작시키고 물의 흐름을 제어하기 위해 밸브를 열고 닫는 스위치가 필요하다. 시설 농가에서는 일반적으로 시간 지연 릴레이 (Time Delay Relay)를 많이 사용하고 있는데 아두이노를 이용해서 만들면 가격도 싸지고 원하는 기능도 더 넣을 수 있어 아두이노로 만들어 보려고 한다.

 

1. 수경재배 방식

먼저, 대표적인 4가지의 수경재배 방식에 대해 간단하게 살펴 보면,

 

  • 담수 수경 (Water Culture)

출처:hydroponicsgrower.org

가장 오래된 방식으로 일반적으로 가정에서 사용하는 수경재배기는 이 방식을 사용한다. 비료를 녹여 만든 배양액을 배드 또는 물을 담을 수 있는 상자에 담고, 식물을 그 상자에 담구어 키우는 방식이다. 구조가 간단하고 집에서 쉽게 구할 수 있는 플라스틱 박스로도 쉽게 만들 수 있으나, 뿌리가 물에 담귀게 되면 산소를 흡수할 수 없어 식물이 상할 수 있다. 이를 해결하기 위해, 뿌리를 반만 배양액에 담그거나, 공기펌프를 사용하여 배양액에 산소를 공급하거나, 또는 그림에서와 같이 공기가 잘 통하는 배지를 담은 포트를 만들고 포트의 아래 부분만을 물에 담그는 저면관수 방법을 쓴다. 뿌리의 온도 조절 또한 비교적 쉬운 편이다.

 

  • 박막 수경 (NFT: Nutrient Film Technology)

출처:hydroponicsgrower.org

배드 또는 배드에 준하는 파이프 등을 설치한 다음 낮은 각도로 기울여 개울물이 얕게 흐르듯 배양액을 흘려보내는 방식이다. 담수방식 보다 뿌리에 산소전달이 많이 될 수 있어 식물의 성장이 빠르지만, 배양액의 흐름이 끊어지면 뿌리가 바로 마르고 식물이 빠르게 죽을 수 있으며. 공기중에 노출되어 있는 뿌리가 많아 뿌리의 온도조절이 어려운 점도 있다. 담액 수경보다 적은 배양액으로 식물을 키울 수 있으며 시간 지연 릴레이를 사용해서 펌프로 배양액을 주기적으로 상류의 물통으로 보내주면 된다. 가정에서 만들기에는 물을 흘려보내는 배드의 길이가 짧은 경우가 많다.

 

  • 밀물 썰물 수경 (Ebb and Flow)

출처:hydroponicsgrower.org

박막수경과 담수수경의 혼합한 방식으로, 배드 또는 용기에 배양액을 밀물 썰물처럼 채웠다 뺐다하면서 뿌리에 산소를 접할 수 있는 시간을 만드는 방식이다. 박막수경처럼 뿌리에 전달되는 산소의 양도 늘리면서, 담수수경처럼 배양액을 뿌리에 많이 전달하는 방식이다. 펌프가 작동하지 않는 경우에도 박막 수경보다는 식물이 손상되는 속도는 느리지만 방치하면 식물이 손상될 수 있다. 모든 장점과 단점이 담수수경과 박막수경의 중간 정도인 듯 하다. 밀물과 썰물을 주기적으로 반복하기 위해 시간 지연 릴레이를 일반적으로 사용한다.

 

  • 분무 수경 (Aerophonics)

출처:hydroponicsgrower.org

가장 늦게 보급된 기술이며, NASA에서 우주에서 식물을 재배할때 사용할 방식이라 하여 유명해 졌다. 일정 간격의 노즐로 배양액을 가습기에서 만들어지는 것과 같은 미세한 물방울을 만들어 뿜어 주면 식물의 뿌리가 이 물방울과 함께 산소도 동시게 공급 받을 수 있는 방법이다. 뿌리가 산소와 접할 수 있는 시간이 많고, 동시에 미세한 물방울이 뿌리 속으로 빠르게 전달되는 효과로 인해 식물의 성장속도가 빠른 것으로 알려져 있다. 고압 펌프와 노즐 등 장치 비용이 비싸고 뿌리의 온도 관리가 어려운 점이 있지만 배양액은 다른 방식에 비해 적게 드는 방식으로 알려져 있다. 이 방식 또한 노즐의 분무시간을 시간 지연 릴레이를 이용한다.

 

이 밖에도 토마토나 딸기 농장에서 많이 사용하는 점적식 수경 (Drip System), 물고기와 함꼐 키우는 아쿠아포닉스 (Aquaphonics) 등이 있는데 이번에는 고려하지 않기로 했다.

 

내용으로 보면 분무 수경이 좋아 보이지만, 작은 규모나 가정에서 사용한다면 고압펌프, 고압호스, 노즐, 시간 지연 릴레이 등 장치비용이 많이 드는데 비해, 전문 농가처럼 생산량이 늘어나거나 비료 비용이 절약되는 정도가 미미할 것으로 예상된다. 나는 먼저 뿌리를 반만 담그는 담수 수경 방식을 먼저 적용해 보고, 그 장치를 그대로 이용해서 밀물 썰물 수경방식으로 전환해 보려고 한다. 이 후 여유가 된다면 추가로 분무식 장치도 만들어 보려고 한다.

 

3월이 들어 씨를 뿌렸던 모종이 빠르게 자라고 있어 조만간에 배드를 만들어야 할 것으로 보인다.

 

2. 시간 지연 릴레이 (Time Delay Relays)

  • 1 채널 릴레이 (스위치 1개짜리)

어떤 방식을 사용하든 물의 흐름을 통제하기 위해서는 전자식 스위치가 필요하고 나는 이것을 아두이노와 릴레이 모듈을 사용해서 만들어 보려고 한다. 

 

먼저 릴레이에 대해 좀 더 알아 보자.

그림에서와 같이 릴레이는

 

  • NC (Normally Connected)
  • COM (Common)
  • NO (Normally Opened)

의 3개의 연결 단자가 있다. 이 스위치는 한 선만을 통제하기 때문에 전원의 한 선은 그냥 연결한다. 펌프라면 펌프에 한 선을 연결한다. 나머지 전원의 한 선을 COM에 연결하고 펌프와 NC에서 선을 연결하면 릴레이가 동작하지 않은 상태, 즉 전기가 없는 상태에서 연결되어 있다가 전기가 들어오면, 다시 말해 아두이노의 디지털 핀의 상태가 HIGH로 바뀌면 연결이 끊어진다. 반대로, NO로 연결하면 전기가 없는 상태에 끊어져 있다가 전기가 들어오면, 아두이노의 디지털 핀의 상태가 HIGH가 되면 연결된다. 일반적으로 판매되는 릴레이는 NO상태가 많다. 릴레이 뿐 아니라 솔레노이드롤 포함하여 가정용 스위치도 NO스위치가 많다.

출처: Electronics Guru

이미 3. 첫 번째 아두이노 개발에서 1 채널 릴레이를 사용해 봤는데, 다시 한번 아두이노와 연결하는 회로를 그려보면 아래와 같다.

 

이제 스케치 프로그램을 사용해서 2초간 연결되었다가 2초간 끊어지는 흐름을 반복하는 프로그램을 만들면 다음과 같다.

 

#define RELAY_PIN 9

void setup() {
  pinMode(RELAY_PIN, OUTPUT);
}

void loop() {
  digitalWrite(RELAY_PIN, HIGH);
  delay(1000 * 2);
  digitalWrite(RELAY_PIN, LOW);
  delay(1000 * 2);
}

 

  • 4 채널 릴레이 (스위치 4개 짜리)

아두이노를 사용하면 좋은 점이 릴레이의 숫자를 마음대로 늘릴 수 있다는 것이다. 즉, 아두이노 보드 하나만 있으면 가정용 만드는 복잡한 수경재배에 들어가는 장치는 모두 켜고 끄고 할 수 있기 때문에 시간 지연 릴레이를 사용할 때 보다 저렴하다. 그런데, 4 채널이 되면서 고려해야할 부분이 있다. 바로 전류이다. 릴레이는 한개를 동작시키기 위해 70mA의 전류가 소비된다. 4개가 동시에 동작하면 최대 280mA인데, 아두이노 보드 명세서를 보면 디지털 핀당 20mA에서 최대 40mA, 아두이노 보드에 흐르는 전류는 전체를 합해 최대 400mA를 넘지 않아야 한다고 되어 있다. 따라서 4 채널 릴레이를 아두이노 보드에 연결해서 전류를 뽑아내는 것은 좋지 않을 것 같다.

 

4 채널 릴레이는 1 채널 릴레이와 동일하게 VCC, GND 전원을 연결하고 IN1 ~ IN4에 각각 원하는 디지털 핀을 연결하면 되는 간단한 구조이다. 나는 IN1 ~ IN4를 디지털 핀 7, 8, 12, 13에 연결하고 안전한 동작을 위해 5V 2A 어댑터로 릴레이와 아두이노를 같이 연결했다. 이제 모두 연결한 결과는 다음과 같다.

 

이제 스케치 프로그램을 구쳐서 릴레이가 동시에 움직이도록 하고 테스트 해 봤다.

 

#define RELAY1_PIN 7
#define RELAY2_PIN 8
#define RELAY3_PIN 12
#define RELAY4_PIN 13

void setup() {
  pinMode(RELAY1_PIN, OUTPUT);
  pinMode(RELAY2_PIN, OUTPUT);
  pinMode(RELAY3_PIN, OUTPUT);
  pinMode(RELAY4_PIN, OUTPUT);
}

void loop() {
  digitalWrite(RELAY1_PIN, HIGH);
  digitalWrite(RELAY2_PIN, HIGH);
  digitalWrite(RELAY3_PIN, HIGH);
  digitalWrite(RELAY4_PIN, HIGH);
  delay(2000);
  digitalWrite(RELAY1_PIN, LOW);
  digitalWrite(RELAY2_PIN, LOW);
  digitalWrite(RELAY3_PIN, LOW);
  digitalWrite(RELAY4_PIN, LOW);
  delay(2000);
}

 

그런데, 릴레이가 동작할 때 나는 "딸깎" 소리가 들리지 않는다. 자세히 확인해 보니 릴레이의 전압이 12V이다. 알리에서 주문할 때 전압을 확인하지 않고 12V 릴레이를 구매한 것 같다. 다시 알리에 주문하고 2주일을 기다려야 한다.

 

휴~