Arduinos In The Grow Room: My Project

Just checked on my last two cuttings, and one has roots sticking out of the pellet, and the other has small roots on the stem, but not quite enough to grip the pellet, so it does have roots, just needs another day...

That makes 100% success this time... That's what I used to get, glad to know I didn't lose my touch :) :yahoo:

So what do you think you did wrong before when you had problems with the clones?
 
So what do you think you did wrong before when you had problems with the clones?

Gonna guess temperature.. These last two times I've kept them hot and humid... The heat mat, plus the dome, with constant misting (3 or 4 times a day) seems to have helped a lot...

On the other hand, I also got the one cutting to root just placing under an upside down mason jar, and only wetting it once...
 
While I haven't yet set up the hoses and stuff for the automatic watering, I am only watering when the system tells me to now. I only have enough pumps to set up a couple plants, but I'll let the system decide when, even for the manual waterings, There are still some plants which don't have the values set for auto watering, but if I think a plant needs watering, its just a button click on my phone to set the current moisture reading as the trigger point, and then let the system go ahead and decide to mark it for watering...

So far, on two occasions, an errant reading from a sensor has falsely triggered a watering, which if it was automatic, would have resulted in overwatering...

If that were to actually occur, I don't really see it as a huge problem. Excess runoff will be caught, since I am prepared for that.... The fact that it was watered when it didn't need it, should not hurt the plant, assuming it's not a recurring thing.

This is the only scenario I can think of where tracking the time since last watering might come in handy, in order to prevent it from overwatering either continuously, or even twice too close together...
 
I think I may have a work-around for the erroneous waterings... I've added a safety check, if the system determines a plant needs to be watered because the current sensor reading is below the threshold for automatic watering, it will wait until it receives one more reading below the threshold.

So lets say the reading is 300, and the threshold is 250. Suddenly there is a reading of 210, which would have triggered an automatic watering. Now, it will wait until it does another scan (at the regular scheduled time) that is also below the threshold of 250 before deciding to water it. So if the next reading is 295, it will not automatically water it.

I've made the changes, waiting to verify it works...
 
Not much interaction happening any more so I think I'm gonna scale back on my postings.

Perhaps it's just too much for most to bother trying to keep up.
 
I'm working away, with my phone on it's charge pad, and the screen is on showing me the temps in the grow room.
Each morning as the lights come on, I open the side vent on the tent, and turn up the fan drawing air out of the tent.

So what happened? When I turned the fan up, I put it on FULL because it was a little odoriferous in there this morning. I then went back to my workspace, and about 20 minutes later, noticed the high reading.

When I went to check, I opened the tent, and was hit with a wall of hot air.... Then I noticed the ducting hanging down from the ceiling and the fan blowing the hot air right into the tent :(

How to prevent this from happening again, in addition to securing the duct to the fan better this time?
I'm going to set "alarm limits" for all temp/humidity sensors (maybe even all sensors), and if they exceed the limit, send a blynk notification, and an email. I may even add a piezo buzzer, that'll wake the dead...
 
I'm working away, with my phone on it's charge pad, and the screen is on showing me the temps in the grow room.
Each morning as the lights come on, I open the side vent on the tent, and turn up the fan drawing air out of the tent.

So what happened? When I turned the fan up, I put it on FULL because it was a little odoriferous in there this morning. I then went back to my workspace, and about 20 minutes later, noticed the high reading.

When I went to check, I opened the tent, and was hit with a wall of hot air.... Then I noticed the ducting hanging down from the ceiling and the fan blowing the hot air right into the tent :(

How to prevent this from happening again, in addition to securing the duct to the fan better this time?
I'm going to set "alarm limits" for all temp/humidity sensors (maybe even all sensors), and if they exceed the limit, send a blynk notification, and an email. I may even add a piezo buzzer, that'll wake the dead...

That is also on my list of things to do, an e-mail at least, if something gets too crazy. Though honestly, I already check my current readings more than I check my e-mail :)
 
That is also on my list of things to do, an e-mail at least, if something gets too crazy. Though honestly, I already check my current readings more than I check my e-mail :)

I spend almost all my waking hours at my computer, with my phone in front of me, and this time, I was lucky, I caught it quickly enough that the temp had only risen 2 degrees, but I immediately knew something was up.

I can't monitor things 24/7 though, so need to take this to a level that will do everything it can to notify me, up to, and including, while I'm sleeping......

I'm working on this stuff now, and will store minimum and maximum "target" values for all sensors (optional) which are just used for display on the web page to easily see when things have gone outside the "target", but aren't necessarily "alarm" type events. Target values will be stored for up to 3 probes for each sensor, and for RAW values, and for CALC (calculated) values, so 6 max and 6 min values for each sensor, 12 in all.

In addition to the target values, there are also alarm values, same 12 for each sensor...

That makes 24 configurable values per sensor.

Each probe will also have an alarm severity value so if the current value is outside the alarm values you can tell it what it should do, Blynk Notify, Blynk Email, loud buzzer, flashing LEDs, just log it, etc...

I've sort of got the whole concept worked out in my head, and will work on implementing it over the next couple days.

I'd also like to be able to shut the lights off under certain circumstances (like high heat) or better yet, to dim them, or turn fans on and off. That's a whole other project though...
 
Step 1 and 2 complete...

The database has a new table to hold the alarm configuration, and I've updated the "PlotView" web page to visually grab my attention... This screen is usually displayed on my workstation when I'm not doing something else, and on the laptop screen in the grow room. The page is rendered as many SVG images generated in code on the arduino, and the fade in/out is pretty cool :)

 
The other day I was testing a heater, so I turned on my override switch from blynk. I forgot to turn it off. I noticed about 4 hours later. Luckily the arduino noticed the heat and turned on the a/c and was able to balance it out without my input. But I worry about things like that. Also what if I forgot to plug something back in, or what if something just broke. My overall goal is to be able to go 3 weeks without me being there.

If I'm more than 2 degrees off from my target temperature, then I turn on the a/c or heater. If I'm more than 6 degrees off then my fail safe is just to pump as much outside air into the tent as possible if it would help. For example, if the temp is 65 inside and the outside is 55, then it wouldn't turn on the outside air because that would make it worse. I was thinking of creating an e-mail or text message alert if it ever had to turn on the outside air.

I wish I could have a redundant back up for everything. I have a back up for the heater, but the 2nd heater only costs $15 and was small. I think a backup A/C is out of the question. When planning my flower tent, I went with two smaller lights instead of one bigger one, that way if one stops working it will limp along and not kill them all while I'm on vacation.

There is so much to think about and worry about that sometime I feel like I spend way too much mental energy on this project. :)
 
When planning my flower tent, I went with two smaller lights instead of one bigger one, that way if one stops working it will limp along and not kill them all while I'm on vacation.

Light detecting resistor, cheap way to see the light levels.. I have one in each of the 3 areas, clones, veg, and flower... gonna put one outside to go with the temp sensor out there just for the heck of it...
 
I can now set alarm levels for both high and low sensor readings, and if triggered, it will send me a notification on my phone, as well as log it to the debug log table... Oh, and flash in red on my plot view web page

On another note, I've been letting the system tell me when to water my plants, and so far, it's batting a thousand... I'm really happy with the way things are going...
 
@bobinca has a thread at Arduino Climate Control and I've been checking out the graphs he's been posting of his sensor data, and finally asked him what he was using, because they look far more flexible and much nicer than Blynk. Don't get me wrong, I'm not giving up Blynk, it serves many great purposes...

But these graphs... Turns out he's using something called Grafana

Like Blynk, you can set up a local version instead of using the cloud.... This is basically a web based graphing tool for your data, in my case, the sensor data I'm saving to the MySql database.

It wasn't very intuitive getting started, and their getting started with dashboards video is out of date, but I'll be spending some time with this, I don't mind dedicating an old laptop to displaying an auto-refreshed screen with lots of data on it :)
 
I can now set alarm levels for both high and low sensor readings, and if triggered, it will send me a notification on my phone, as well as log it to the debug log table... Oh, and flash in red on my plot view web page

So after spending an entire day adding the notification stuff into GBW, I check out this Grafana today, and it has built in notification based on sensor readings as well, very nicely done...

The only problem with using Grafana, and this isn't their fault, is that the database is only updated once every 30 minutes with the temperature readings, so if it gets hot, it could be 30 minutes too late. My code allows reading the actual sensor on a preconfigured schedule, say every 2 minutes. It updates Blynk (for my screens) and allows me to send an alarm almost immediately when the temp starts rising...

Grafana is very flexible, and I'll probably do up some screens on it, but I don't see it being a part of my every day usage. I think it might be good for historical analysis.
 
Yeah, I agree that Blynk is good for more real time monitoring. I use graphana to see the trends for soil moisture and temperature. I also like that I can go back and easily find data, for example, I forgot when I switched to 12/12 lighting and in graphana I just changed the time to show the last 3 months of data and the light graph made it clear what day I switched.
 
I use graphana to see the trends for soil moisture and temperature. I also like that I can go back and easily find data, for example, I forgot when I switched to 12/12 lighting and in graphana I just changed the time to show the last 3 months of data and the light graph made it clear what day I switched.

Hmm, on my ESP8266 web server I actually wrote code to generate my graphs using SVG tags. What a complicated mess that was, and I have hardcoded three options, 1 day, 7 days, and 30 days. The graphs work great, and I use them all the time. Every sensor has the graphing...

However, Grafana graphs are far far better than mine, and I suppose there is no reason I cannot either embed, or link to those graphs from my existing web interface. I wish I had time to do it now, but maybe in the next day or two...
 
I've been letting the system tell me when to water my plants, and so far, it's batting a thousand... I'm really happy with the way things are going...

I had figured I was 99% complete and ready for automatic watering... that last 1% is killing me! :)

I ended up adding a second step when deciding it was time to water a plant, it must now wait until it confirms that choice when the sensor is scanned the next time. This will prevent a single false reading from watering a plant.

As I said, it seems pretty well bullet proof now, the coding is done on the "decision making" side.

As for the watering module itself, I'm happy with it I think, I did spend a lot of time testing it, and I also monitor it running here and it seems like it's always showing the correct water volume in the bucket. In fact, I want to log those readings just like any other sensor so I can monitor evaporation and usage... (not a priority)

The priority now is to move the bucket into the veg area and set it up on one plant to start. I'll pick the one closes to needing watering...

I have a database view that lets me see the plants in order of how close they are to needing water...
Plant 49 is negative because it's in the flower tent, with lights out, so I can't water it for another hour or so... (5am)


Untitled.png
 
That is pretty cool. As soon as I get temperature under control for the hotter days, automatic watering is next on my list of things to do. For my soil I don't need to add nutrients to my vegging plants because they get transplanted enough, but in my flowering tent, after a couple of weeks I use nutrients. How do you handle nutrients with auto watering? Mine are liquid and I mix them with my water right before I manually water the plants.
 
Back
Top Bottom