Hydroponic Grow Room mAutomation Controller

Hello all - I'm new to the forum, but have been looking into Arduino for various projects I have in mind so I'll most likely be fairly active on the forum once I get going.

This is the first project I am in the process of planning, but I would like some advice on whether or not the concept is viable.

I am a sufferer of a neurological illness (I'm not going to discuss my illness here) and as such I rely on medical marijuana as pain relief (which is completely legal in my country). I grow my own marijuana at home, in a room that I specifically designed and created for this purpose.

There are a number of things I'd like to automate within my grow room - I'd like to know whether or not an Arduino would be up to the tasks in hand.

Requirements of project

  • Have a real time clock that can be changed via a touchscreen LCD display

  • Be able to control the turning on / off of lights depending on a timing schedule manually set on the LCD screen. For example - lights on for 18 hours, then turn off for 6 hours, then turn back on for 18 etc. The lights run on 240v

  • Measure temperature and humidity inside the room and display the results on the LCD screen situated outside the room

  • Reduce / increase the speed of an intake and extraction fans dependent on the temperature inside the room. For example - the extraction and intake fans are idling constantly for fresh air to enter the room. However, should the temperature inside the room go above a certain threshold the fans should speed up until the temperature has dropped below the threshold, then continue to idle until the temperature rises again

  • Record the MAX and MIN temperature and humidity readings on a daily basis for later analysis

[u]In addition to the above, I would eventually like to add the following functions to device[/u]

  • Record soil moisture
  • Activate an irrigation system for a set period of time (eg. 1 minute) once the soil moisture has dropped below a certain threshold
  • To detect fire / smoke. In the event of smoke or fire being detected, the device should emit an alarm and also activate a powder smoke extinguisher housed inside the grow room

I have found other similar projects online, however none of them are quite what I need. I've been looking at the Arduino Uno for this project, but I'm unsure as to whether or not it would suffice for the number of tasks I'll eventually need it to execute.

Materials I've identified so far that I'll need;

Arduino microcontroller (not sure which model as yet) Temperature & Humidity sensor module LCD touch screen Real time clock chip SD Card module (inc. sd card) Various wires and other installation bits Smoke detector Extinguisher 240v Relays

All I'm after at this point is some ideas on whether or not this project is viable and if so which Arduino controller should I be looking into?

Any other advice or pointers would be much appreciated.

I’m not sure on the whole LCD thing, or arduino in particular on your project but based on my own project in the works (for a chicken coop) I have a few questions, maybe my idea could be converted to work for you.

1st) Do you require the LCD touch screen, would a computer interface work as well?
2nd) How much experience do you have with programming (in any form)

I’m currently using a raspberry pi as a MQTT server to communicate with an ESP12-E NodeMCU board via wifi that is recording temperatures (much much more is in the works) as the ESP12-E sends a value its stored in a mysql database that can be read by a webpage. The periodic timing of temp requests and storage are handled by Node-RED running on the raspberry pi. The Node-RED could be configured to send a message to the board to turn on/off relays. You’d still want the smoke detector/extinguisher to be running off the board to react as quickly as possible.

Lights could be easily programmed in the Node-RED server application and be changed as needed. Fans would be handled by relay much like the smoke detector/extinguisher.

A regular cheap Arduino like a Nano (same chip as Uno but smaller board with pins perfect for breadboard or female jumper ends, normally cheaper than Uno) is capable of doing what you want more than 20x over IF coded using non-blocking methods. It might be enough if you use delays and other wait-till-X-is-done code and you're willing to be happy with less than smooth, likely at times quirky behavior (button only works sometimes kind of things).

You don't have to be super-coder to write non-blocking code but it's a learning curve reach for beginners who have mastered basic C code; variables and arrays, control structures like if-else and for-next, and AND/OR logic.

Where you're at makes all the difference. If you're not there YET then quit planning and learn the basics first, your design will be much better once you have the tools (techniques and knowledge) to do a decent job.