CoreConduit: Indoor Garden Controller System

by bitsandbots in Circuits > Arduino

37291 Views, 378 Favorites, 0 Comments

CoreConduit: Indoor Garden Controller System

20150428_115307_zpsypthkbgs.JPG
FKLZO5RI800WEXS.jpeg
20150330_113951.jpg

A garden controller helps us to manage the environment by controlling fans, heaters, lights, pumps, and notifying us when the garden needs our attention.

The Garden Controller System will help you to grow:

  • Greens such as lettuce, spinach, Swiss chard, and kale.
  • Herbs such as basil, parsley, oregano, cilantro and mint
  • Tomatoes, peppers, strawberries, and many more

using hydroponics (or soil) because I believe everyone, even on a budget, should be able to grow their own plants at home without having to go through the painful process of learning what does and doesn't work. I've distilled it down to an electronic control system that provides you with the insight you need to get your little green friends growing and thriving. I want to help you learn more about your plants by using the controller and using helpful reminders..

I recommend using hydroponics, before you try aquaponics - try hydroponics so that you know what success looks like! Also, for growing indoors it's a must, besides, plants will grow much faster after germination.

Just about any plant can be grown hydroponically, but for beginners it is best to start small. The best choices are herbs and vegetables that grow quickly, require little maintenance, and do not have a huge variety of nutrient needs. You want fast-growing plants so that you can assess how well your system works and tweak it as necessary. It would be a real letdown to wait months until harvest time only to find out your system is not working properly. Low-maintenance plants are great for beginners because they allow you to focus on learning about your system. If you are growing a variety of plants it is also important to make sure that they are similar in their nutrient requirements, so that they grow well together.

Requirements

FCBS0H1I7VQMC3U.jpeg

After trying several different styles and configurations of hydroponic gardening, I decided a robust control system needed the following traits:

  • A modular controller system that doesn't break the bank. Low-cost, but effective and easy to troubleshoot. What every product is supposed to be, but rarely is!
  • Alert me when my plants need my attention. It is helpful to have reminders to check-in on my garden and alerts if appliances such as fans, lights, pumps, heaters need adjusting. Can’t spend all my time watching you guys grow!
  • Regulated temperature and humidity in my growing environment. In my closed indoor space, the exhaust and intake fans, humidifier, and dehumidifier should all be toggled as needed based on self-monitoring sensors.
  • Regulated delivery of nutrient solution. Ideally, my nutrient solution pump should operate for at least 5 minutes every half hour. By automating the pump cycle, plants receive optimum nutrient levels.
  • Light sensors. For indoor growing, I personally prefer the lights be on traditional mechanical timers but I wanted my controller to be able to know when the lights are on. And tell me if they go off before they should.
  • What’s going on in there?! You know what would be awesome? An LCD with cool buttons to show the status and communicate any messages that I need to know. It would be even more amazing if I could receive text messages (SMS).
  • Remote message commands (in development). If needed, I can send a remote command to override the controller via text. This function is currently undergoing testing, as are email alerts. Doesn’t need the Internet to function. For security and practical reasons, the controller should not need to have access to the Internet unless I decide.
  • Data logging. Check the history of my system with an optional method for logging data that can later be analyzed.
  • Keep the clutter minimal. You want the minimal amount of equipment inside the growing environment, too many wiring, wires, cables, etc., can be a real pain. I decided to use a wireless remote control set with on/off buttons on the remote so that I could program the Arduino-based system to take control and verify my commands are followed.
  • Green wizard needs food, badly. The controller should know the level of nutrient solution in the tank and notify me when it is low.
  • Available to everyone. Being open-source and community-oriented is very important to me. I firmly believe that anyone who chooses to spend a little time and effort can learn to build and upgrade their own modular garden system.

Gather Your Arduino and Friends

FTA8EB8H142A66M.MEDIUM.jpg
Arduino-Prototyping-Shield-Front.jpg
1115500-5.jpg
1115500-3.jpg
20150404_071224-1.jpg
nrfAdapter..jpg
24c9ece0-0a89-49a4-9f2f-aee44779c082_zpsrrr7tbmf.JPG
20150408_073050_zpstpi2etrr.JPG
20150408_073115_zpsr8bnybzs.JPG
20150412_104429_zps8umcuin9.JPG
20150331_084114.jpg
20150413_093554_zpsqv2jbqkg.JPG
20150428_114955_zps1khql4me.JPG

Parts:

  • Arduino Uno R3 ( this project can be extended using more units.)
  • Arduino Uno Protoshield
  • Real-Time Clock module (DS3231)
  • 10k resistor
  • male pcb headers
  • female pcb headers
  • wire w/ connectors for the sensors
  • DHT21/22 Temperature / Humidity sensor
  • Photocell
  • Water Level Sensor
  • Dallas Temperature Sensor (for nutrient solution temperature)
  • 433MHz RF Transmitter & Receiver Modules
  • set set 5 pack of Wireless Controlled Outlets (recommend Etekcity 5 Pack Auto-programmable Function Wireless Remote Control Outlet Switches)
  • 2 or more - nRF24L01 2.4Ghz Wireless Radio Transceiver modules

Optional Parts:

  • Arduino Uno R3* or Pro Mini*
  • Real-Time Clock Module
  • Optional: nRF24L01 Adapter with 3.3v regulator
  • connector wires
  • Display Option LCD w/ buttons Shield + Arduino Uno R3*
  • 2 x 4-pin male header connector wires
  • SD Card Option SD Card Shield + Arduino Uno R3*
  • connector wires
  • Internet Connectivity Option Ethernet or WiFi Shield + Arduino Uno R3*
  • connector wires - see https://www.instructables.com/id/Custom-Wire-Connectors/
  • PVC conduit box w/ lid

Tools:

Soldering Review

If you are not comfortable using a soldering iron, please consider brushing-up on it before proceeding with the next step.

http://www.aaroncake.net/electronics/solder.htm

Solder Some Bits to the Prototyping Shield and Sensors

20150330_113823.jpg
20150330_113811.jpg
20150404_071344.jpg
  • Solder the headers to the protoshield into position (indicated in the picture)
  • Solder the 10k resistor to the pins for the DHT sensor. (shown in the picture)
  • Solder the 4-pin connector to the Real-Time Clock module (as shown in the picture in the next step.)
  • Solder two wires with connector to the Dallas Temperature sensor.
  • Solder three wires with connector to the DHT sensor.
  • Solder any remaining optional sensors.

I've included some datasheets to help with pinouts but if you are using the same protoshield you should be able to follow the pictures.

Assemble the Controller

20150428_115053_zpsdkzkr5og.JPG
20150327_183134.jpg
F9YPTQSI7VQLGV3.jpeg
Arduino2RTC.jpg

Seat the protoshield into the female headers on the Arduino Uno*. Connect the sensors and RTC (Real-Time Clock) module to the protoshield as pictured.

Plug-in the USB cord and connect it to your computer with the Arduino Compiler software available at arduino.cc. I personally prefer working with the Atmel Visual Studio environment because it does an amazing job with code completion and library linking. (contact me if you'd like help switching using Atmel VS)

Download the Source-code and Modify

RF Modules.jpg

Download the source-code from GitHub.

In the source-code I created a base foundation for managing, transmitting, and receiving "sensor" objects and "appliance" objects. This project could easily be modified to work with other environments in which control is achieved by reading sensors and operating appliances based on programmed rules. You'll need to make a few adjustments to the source-code in order for it to work properly with your wireless outlets. To make the changes, you'll need to find out what the codes are that your wireless remote control uses and the outlets are programmed to receive. I have included a sketch for installing onto your Arduino Uno* w/ protoshield to set the Real-Time Clock to the current time and step you through the process of acquiring the codes. You will need to insert the 433Mhz Receiver module (as pictured) and upload this sketch StartCore.ino to the Arduino Uno* and open up the serial console for that port so that you can receive data from the Arduino. After you complete the process of acquiring all of the codes from your remote you can copy and paste directly into TheDecider.h header file where I have indicated.

Compile and Upload

Make the modifications to the source-code as shown in the included readme file. The controller has been programmed to help you maintain optimum growing conditions so plants with thrive. You are welcome to make changes, adjustments, tweaks, whatever you like to customize the controller to your style of gardening.

Compile the source, upload to Arduino, and the controller is ready to use provided a power source. The USB or the barrel jack are typically used to power the device.

Assemble the Receiver

nrf24L01module_500x333.jpg
20150413_093541_zpswyeykzxy.JPG

Let's assemble the parts we'll be using to build The Receiver.

  • Connect the nRF24L01 and RTC (Real-Time Clock) module (as pictured).
  • The nRF24L01 connects to the protoshield so that the Arduino can communicate wirelessly with The Receiver. (The Receiver is a second Arduino Uno* or Arduino Pro Mini*.)

The Receiver will use the built-in I2C communications capability to connect to a Display (LCD) shield, SD Card data logging shield, Internet connectivity shield, if you dare ;-p and even SMS text messaging.

Repeat the Steps

Each microcontroller we use needs to be programmed.


Plug-in the USB cord and compile the source, upload to Arduino, and the controller is ready to use provided a power source. The USB or the barrel jack are typically used to power the device.

Are you ready to dig deeper into the inner workings of this project?

https://www.instructables.com/id/DIY-Hacking-your-o...

FAQ

20150414_082805.jpg

Why doesn't the controller connect directly to the Internet?

I have also evaluated many other similar projects and found that the more complex garden controllers typically connect you to the Internet of Things. Personally, I do not want to share my garden’s data and potentially its control to just ANYONE (e.g. remote servers) unless I choose to do so. I strongly believe that the Internet of Things is a potentially dangerous path and will most certainly be exploited by those who wish to hurt honest people for their gain. The more control we give to the Internet of Things, the more we enable dependence on the internet and give away the simple freedom to live our lives in a way that we choose. I may sound a bit paranoid, and maybe I am, but hopefully I have at least convinced you to think more about what or WHO has control over your appliances. Having said that, this project is capable of connecting to the Internet. ;-)

Does this project include measuring pH and/or E.C.?

The option to use these sensors has been considered, however, not been implemented as of now. The pH of water is an important measurement whether you are gardening indoors or outdoors, soil or soil-less, because it affects whether a plant can properly take in nutrients. The electrical conductivity (EC) of water estimates the total amount of solids dissolved in water -TDS, (Total Dissolved Solids). TDS is often measured in ppm (parts per million). In hydroponics, this measurement is used to determine the approximate concentration of nutrient solution to water.

I decided that the cost of including these sensors far outweighs the benefit of constant monitoring. I recommend a hand-held pH tester such as the Oakton EcoTestr pH 2 Waterproof pH Tester, which is excellent for the home gardener and has been proven time and again to be accurate. There are many hand-held EC devices available as well and if you are checking the pH, it’s a great time to check the E.C. If there is enough interest in adding these sensors to the controller, it’s flexible and open-source and I’m willing to work with anyone interested.

What do I need in addition to the CoreConduit Garden Controller?

The basic equipment needed to successfully garden indoors using the controller: http://www.hydromazing.com