Introduction: GROWMAT EASY - Automated Control System for Hydroponic Plants Growing

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

Step 1: Hardware Description

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

Step 2: Hardware Scheme

Step 3: Firmware

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

Step 4: Software

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)

Step 5: Protoype

Step 6: EC Sensor

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.

Sensors Contest 2017

Runner Up in the
Sensors Contest 2017

Arduino Contest 2016

Participated in the
Arduino Contest 2016