GROWMAT EASY - Automated Control System for Hydroponic Plants Growing

by bcsedlon in Circuits > Arduino

19740 Views, 227 Favorites, 0 Comments

GROWMAT EASY - Automated Control System for Hydroponic Plants Growing

IMG_20161129_105622.jpg
IMG_20161129_110304.jpg
IMG_20161129_110245r.jpg

GROWMAT EASY HYDRO is growing plants environment monitoring and automated control system.

Device automatically maintains perfect condition for your plants and inform you in case something is out of limits. You can remotely control device and receive alerts with SMS via public GSM phone network.

For safety reason whole device work on very low voltage 5V. Device using 433MHz radio controlled power sockets available on market.

Automation tasks:





- Lights control: switch on and off at settable time

- Heater control: switch on and off at settable temperature, different for light and dark perion (maintains preset temperature)

- Fan control: switch on and off settable temperature (maintains preset temperature)

- Pump control: switch on and off for preset interval

Interfaces:

- GSM: in case of alert system sends you SMS, you can control device remotely by send SMS from your phone to device

- LCD display and keypad: device is fully controllable by display and keypad, you don't need computer. All limits and set points are settable.

- USB: device communicate with computer, you can read out all measurements and save it to tables, make graphs etc. You can control device from computer.

- Wi-Fi:
Wi-Fi module ESP8266 is connected on Serial1 and send data to web service e.g. https://thingspeak.com/channels/222602 Wi-Fi network name, password and Thingspeak API key are setable by display and keypad.


Measuring and monitoring:

- Power supply monitoring: device makes alert when loose power supply (UPS is included in device)

- Air temperature: device maintains preset temperature and makes alert in case measurement is out of settable limits

- Air humidity: device makes alert in case measurement is out of settable limits

- Light: device makes alert in case no light detected when lights is on and vice versa

- Moisture pH: device makes alert in case measurement is out of settable limits

- Moisture EC: device makes alert in case measurement is out of settable limits

- Moisture level: device makes alert in case measurement is out of settable limits

- Moisture temperature: device makes alert in case measurement is out of settable limits

Hardware Description

arduino_mega.jpg
sim800l.jpg
ds1307.jpg
lcd16x02_i2c.jpg
keypad4x4.png
pcf8574.jpg
433mhz.jpg
am2302.jpg
ds18b20.jpg
ph.jpg
ec.jpg
ultrasonic.jpg
battery18650.jpg
TP4056.jpg
dc-dc.jpg
mce07.jpg
Core

- CPU: Arduino Mega

- GSM: SIM800L module

- RTC: real time clock module DS1307 with I2C

- LCD: 1602 display with I2C

- Keypad: 4x4 keypad and I2C PCF8574 expander

Inputs

- thermometer: air temperature and humidity sensor AM2302

- moisture thermometer: DS18B20 sensor

- pH: probe with module

- EC: probe with circuit based on 555 (see schema)

- level measurement: ultrasonic distance sensor JSN-SR04T

UPS

- battery: rechargeable Li-ion battery 18650

- charger: lithium batteries charger Board Module TP4056 TE584

- dc-dc step up: MT3608 DC-DC 2V-24V 2A

Outputs

- RC: H34A wireless transmitter module ASK 433MHz

- socket: remote control sockets MCE07 433MHZ

Hardware Scheme

growmat_easy_p1.png
growmat_easy_p2.png

Firmware

Firmware is written in Eclipse IDE with http://eclipse.baeyens.it/ plugin. Source code is available on https://github.com/bcsedlon/growmat-easy .

Software

sw-win.jpg
sw-linux.jpg

Device is fully controllable via USB port from your computer.
With help of provided python api https://github.com/bcsedlon/growmat-easy/blob/mast... you can write your own control and monitoring scripts.

Easy example of temperature control script:

import time
import growmat

#win
port='COM16'
#linux
#port='/dev/ttyUSB1'

g = growmat.growmat()
g.connect(port)</p><p>while True:
g.update()
temp = g.inputTemperature.getValue()

if(temp > 20.0):
g.outputHeater.setOff()
if(temp < 15.0):
g.outputHeater.setOn()

time.sleep(5)

Protoype

IMG_20161212_193343.jpg
IMG_20161212_193412.jpg
IMG_20161212_193425.jpg

EC Sensor

ec-brd.png
ec-sch.png
ec.jpg
EC sensor converts moisture conductivity to frequency which is measured by MCU. Sensor if fully galvanic isolated to be able operate together with pH sensor.

Useful information about measurements are on http://sensuino.net/

Eagle file is available on GitHub.