How to Create a Smart Greenhouse with a DIY WiFi Timer/Controller

You can add IoT functionality to any size greenhouse. Here's how to build an Arduino-based timer/controller for controlling lighting, temperature, and humidity.

Large and small grow facilities have special lighting, temperature, and humidity needs. Fans, coolers, heaters, and related venting or air flow controls have become standard requirements in most cases. A simpler, piecemeal approach might use outlet timers and one of a few available temperature and humidity sensor-based switch resources – like the Sonoff TH-16 WiFi base offering – and a simple thermostat solution for temperature maintenance.

Larger facilities, or facilities that are remotely monitored and controlled via a Wifi/Internet connection, suffer from the lack of a centralized control and flexibility, which would allow relative automation over longer periods of time. At the same time it would also offer the ability to dynamically adjust to a cloudy, wet or cooler day.

This project describes an Arduino based timer controller allowing DHT11 sensors, HC-05 Bluetooth, USB linkable configurations, based on a settable real time clock (RTC), and providing monitor reporting. When included, the report is also available on a serial HC12 transceiver link.

The application is coded to optionally include a WiFi link to a ThingsSpeak, IoT platform. This project provides multiple timed-enabled, sequenced switch controls that are configurable to be enabled manually, by temperature and/or by humidity at specific period defined over one of the serial access links.

All timers are based on 24-hour cycles and related timing parameters are entered in hour: minute of day format. The application is configured with RTC.

Three mister/fan outputs, labeled M3, 4, 5, qualified with unique enable start and disable stop timing, temperature and humidity trip values and outputs qualified with up to 2 sensors. Each also enables settable duty cycle (timing ton/toff) operation or a simpler temperature AND OR humidity switch. eg: each output can independently be set, for instance:

A mister application can be set for 10:00 AM to 4:30 PM, cycling 5 minutes on and off every 50 minutes, qualified by temperature over 76 degrees fahrenheit and humidity less than 42 percent.

A second fan set to operate between 11:22 AM to 3:33 PM, constantly on, no cycling, qualified by temperature greater than 81 degrees fahrenheit and the third remaining output used as a heater beginning at 6:30PM until 6:15AM, constantly on, no cycling, qualified only by temperature of less than 63 degrees fahrenheit.

An additional set of outputs, labeled P6,7,8 provides fixed over set/under set controls for each of the three M(ister/fan) outputs described above. Intended for cooler pumps or louver controls they are enabled with a fixed pre-delay of 6.5 seconds preceding each M qualified output when initially enabled and are disabled after a 2-second delay following each M qualified output being disabled. These may be used to stagger power on for swamp cooler or compressors or simply to enable related cooler pumps or over and close related vent louvers.

Comments (1)

Please log in or to post comments.
  • Oldest First
  • Newest First
Loading Comments...