Components and supplies
Arduino UNO
Hydroplanet T5 4ft 8lamp
DHT11 Temperature & Humidity Sensor (3 pins)
Rotary potentiometer (generic)
Solderless Breadboard Full Size
Blumat Drip System
IoT Relay
DS3231M - ±5ppm, I2C Real-Time Clock
Water pump
Standard LCD - 16x2 White on Blue
Resistor 220 ohm
Soil moisture sensor
Project description
Code
LazyPlants v2
arduino
1. Controls lights on a timer. 2. Tells you when a plant isnt getting enough water from drip system. 3. Records temp and humidity to confirm fruiting temp for peppers more to come wifi monitoring of arduino with raspberry pi & web interface PoE power and data transmission from soil sensors through home ethernet wiring mulyiplexed through 8 twisted pairs of cat5e more lights & hydroponics!
LazyPlants v2
arduino
1. Controls lights on a timer. 2. Tells you when a plant isnt getting enough water from drip system. 3. Records temp and humidity to confirm fruiting temp for peppers more to come wifi monitoring of arduino with raspberry pi & web interface PoE power and data transmission from soil sensors through home ethernet wiring mulyiplexed through 8 twisted pairs of cat5e more lights & hydroponics!
Downloadable files
Wiring Diagram
Wiring diagram png file
Wiring Diagram
Automatic indoor garden
This is an Arduino based plant life cycle controller
Automatic indoor garden
Wiring Diagram
Wiring diagram png file
Wiring Diagram
Comments
Only logged in users can leave comments
Anonymous user
2 years ago
https://github.com/Porokhnya/GreenhouseProject/blob/master/README_EN.md
londonium2021
2 years ago
Snaresman, I personally learned the little bit of c++ I know from here. https://www.codecademy.com/learn/learn-c-plus-plus You can make a free account and get the pro subscription for week long trial which should be long enough to complete the module. Then once you get the basics you just search for the libraries of the hardware you are connecting to Arduino and watch youtube tutorials of how to use the libraries.
londonium2021
2 years ago
Snaresman, That's awesome. What are you growing indoors? Sounds like you just need to automate water and you'll be able to go on vacation lol.
Snaresman
2 years ago
I'll have to try that. Thanks!
Snaresman
2 years ago
I’m starting some vegetables and cooking herbs. I’m wondering if I should go this route for monitoring. From the comments I’ve read on different projects, there isn’t much help on the programming. I’m trying to learn the language and it seems to be geared towards computer engineers. This is one of about four programming languages I’m trying to learn. Do you know where I can get any help?
Anonymous user
2 years ago
Hello Good Sir, Thank you kindly for posting this automated process. This should help 'grow' my indoor poppy business, who doesn't like poppy seeds on there bagels? Thanks
londonium2021
2 years ago
Zadok, I don't know if it works on illicit or controlled plants. Will update you with my progress. Thanks for the suggestive suggestion.
phuongtiee
2 years ago
hey bro, i very like your project. Can you give me code and connection diagrams?. address: maxem4329@gmail.com. thank you very much!!
Anonymous user
2 years ago
Hi! I think your project is really brilliant and the most easiest I have found to comprehend! Would you please be able to share the updated code if possible so that I can try it? Thanks a lot!
somerandomguy321
2 years ago
Hey i am new to this and plus i am working on my very first arduino project relating to this to, so would like to ask what is it that you are still working on? I am asking this because you mentioned that you are working on something with this project. Am not copying this project I am just taking inspiration from this project :0
Anonymous user
2 years ago
Hi ! thank you very much for this inspirational project. A short question: What kind of lights are you using? My concern is they consume some energy.
Anonymous user
2 years ago
I see, thanks ;)
londonium2021
2 years ago
beccuti, The light bulbs are 54w High Output fluorescent bulbs. They do consume a fair amount of energy but where I live there isn't enough sunlight or warmth to grow outside this time of the year. Thank you for looking into my project.
Anonymous user
2 years ago
I really like this project and want to build one down the road. So many time I forget to water plants to find them all dried up. Thanks for sharing this!
vladimirdimov
2 years ago
odlicen proekt
Anonymous user
2 years ago
This is fantastic, really well done! I'm very inspired by what you've done here, thank you so much for the great work putting together this guide for the community. Major kudos!
Anonymous user
2 years ago
Great job and thanks for sharing. I think one of the major factor is pH level that directly effects result. Did you consider to use pH sensors as well?
londonium2021
2 years ago
Kadir, I had considered the use of some pH monitoring but wasn't quite sure how to implement a reliable automated solution for 12 or more individual plants. I'm thinking my next project will be a home made hydroponics system that incorporates pH control, ppm/nutrients and aeration from a single controller.
Anonymous user
2 years ago
I could not find any pH sensor that you can easily attach the board. Some extra work may needed. It is good to have that pH considered. One more point; Generally, one shot sensor reading is not consistent. It generates up and down value until stabilizes. I ve used the attached kalman filter to get reliable value from any sensor. It may help you if you have similar issue. kalman.h /* * SimpleKalmanFilter - a Kalman Filter implementation for single variable models. * Created by Denys Sene, January, 1, 2017. * Released under MIT License - see LICENSE file for details. */ #ifndef KalmanFilter_h #define KalmanFilter_h class KalmanFilter { public: KalmanFilter(float mea_e, float est_e, float q); float updateEstimate(float mea); void setMeasurementError(float mea_e); void setEstimateError(float est_e); void setProcessNoise(float q); float getKalmanGain(); private: float _err_measure; float _err_estimate; float _q; float _current_estimate; float _last_estimate; float _kalman_gain; }; #endif KalmanFilter.cpp /* * SimpleKalmanFilter - a Kalman Filter implementation for single variable models. * Created by Denys Sene, January, 1, 2017. * Released under MIT License - see LICENSE file for details. */ #include "Arduino.h" #include "KalmanFilter.h" #include <math.h> KalmanFilter::KalmanFilter(float mea_e, float est_e, float q) { _err_measure=mea_e; _err_estimate=est_e; _q = q; } float KalmanFilter::updateEstimate(float mea) { _kalman_gain = _err_estimate/(_err_estimate + _err_measure); _current_estimate = _last_estimate + _kalman_gain * (mea - _last_estimate); _err_estimate = (1.0 - _kalman_gain)*_err_estimate + fabs(_last_estimate-_current_estimate)*_q; _last_estimate=_current_estimate; return _current_estimate; } void KalmanFilter::setMeasurementError(float mea_e) { _err_measure=mea_e; } void KalmanFilter::setEstimateError(float est_e) { _err_estimate=est_e; } void KalmanFilter::setProcessNoise(float q) { _q=q; } float KalmanFilter::getKalmanGain() { return _kalman_gain; } and Arduino implementation #include <Arduino.h> #include "KalmanFilter.h" #include <math.h> #include <SoftwareSerial.h> // These constants won't change. They're used to give names // to the pins used: const int analogInPin = A1; // Analog input pin that the potentiometer is attached to const int digitalInPin = 12; // Analog output pin that the LED is attached to int sensorAValue = 0; // value read from the pot int sensorDValue = 0; // value output to the PWM (analog out) int outputValue = 0; int tmpValue = 0; int window_size = 10; KalmanFilter kalmanFilter(2, 2, 0.01); void setup() { // initialize serial communications at 9600 bps: Serial.begin(115200); pinMode(digitalInPin, INPUT); } void loop() { // read the analog in value: tmpValue = analogRead(analogInPin); float realValue = tmpValue/1024.0 * 100; float measuredValue = realValue + random(-100, 100) / 100.0; float estimatedValue = kalmanFilter.updateEstimate(measuredValue); sensorAValue = tmpValue / window_size; sensorDValue = digitalRead(digitalInPin); // map it to the range of the analog out: outputValue = map(sensorAValue, 0, 1023, 0, 255); // change the analog out value: // print the results to the serial monitor: Serial.print("sensor Analog = "); Serial.print(estimatedValue); Serial.print("\ sensor Digital = "); Serial.println(tmpValue); // wait 2 milliseconds before the next loop // for the analog-to-digital converter to settle // after the last reading: delay(250); }
Anonymous user
2 years ago
I would like to know the exact way of working of this system. Those Blumats have their own moisture sensing, whats the point in controlling humidity separatly if Blumats are going to push the water in the soil whenever they want? Or are we ignoring that and just telling Arduino to water when humidity has gone below X% of humidity? Regards.
londonium2021
2 years ago
Thanks for the question. I initially started measuring the soil capacitance with the moisture sensors and found that I was spending too much time fiddling with individual plants and couldn't control their moisture independently (not enough analog inputs on one arduino). I then decided to move to Blumats because of the simplicity of automation and calibration. At the end of the day the point of this project is to have a garden that grows actual food with minimal human interaction. The old code for sensing is still in the program providing valuable data about relative humidity and soil capacitance. The arduino will be used as a sort of emergency shutoff valve if the blumats go crazy.
Anonymous user
2 years ago
Congragulations.I liked this project and ı am thinking to this.If there exist some questions about project,ı am gonna ask you.
phuongtiee
5 years ago
hey bro, i very like your project. Can you give me code and connection diagrams?. address: maxem4329@gmail.com. thank you very much!!
somerandomguy321
5 years ago
Hey i am new to this and plus i am working on my very first arduino project relating to this to, so would like to ask what is it that you are still working on? I am asking this because you mentioned that you are working on something with this project. Am not copying this project I am just taking inspiration from this project :0
Anonymous user
5 years ago
Hi! I think your project is really brilliant and the most easiest I have found to comprehend! Would you please be able to share the updated code if possible so that I can try it? Thanks a lot!
Anonymous user
6 years ago
I would like to know the exact way of working of this system. Those Blumats have their own moisture sensing, whats the point in controlling humidity separatly if Blumats are going to push the water in the soil whenever they want? Or are we ignoring that and just telling Arduino to water when humidity has gone below X% of humidity? Regards.
londonium2021
2 years ago
Thanks for the question. I initially started measuring the soil capacitance with the moisture sensors and found that I was spending too much time fiddling with individual plants and couldn't control their moisture independently (not enough analog inputs on one arduino). I then decided to move to Blumats because of the simplicity of automation and calibration. At the end of the day the point of this project is to have a garden that grows actual food with minimal human interaction. The old code for sensing is still in the program providing valuable data about relative humidity and soil capacitance. The arduino will be used as a sort of emergency shutoff valve if the blumats go crazy.
Anonymous user
6 years ago
This is fantastic, really well done! I'm very inspired by what you've done here, thank you so much for the great work putting together this guide for the community. Major kudos!
bogoyeman
6 years ago
Congragulations.I liked this project and ı am thinking to this.If there exist some questions about project,ı am gonna ask you.
Anonymous user
6 years ago
Great job and thanks for sharing. I think one of the major factor is pH level that directly effects result. Did you consider to use pH sensors as well?
londonium2021
2 years ago
Kadir, I had considered the use of some pH monitoring but wasn't quite sure how to implement a reliable automated solution for 12 or more individual plants. I'm thinking my next project will be a home made hydroponics system that incorporates pH control, ppm/nutrients and aeration from a single controller.
Anonymous user
2 years ago
I could not find any pH sensor that you can easily attach the board. Some extra work may needed. It is good to have that pH considered. One more point; Generally, one shot sensor reading is not consistent. It generates up and down value until stabilizes. I ve used the attached kalman filter to get reliable value from any sensor. It may help you if you have similar issue. kalman.h /* * SimpleKalmanFilter - a Kalman Filter implementation for single variable models. * Created by Denys Sene, January, 1, 2017. * Released under MIT License - see LICENSE file for details. */ #ifndef KalmanFilter_h #define KalmanFilter_h class KalmanFilter { public: KalmanFilter(float mea_e, float est_e, float q); float updateEstimate(float mea); void setMeasurementError(float mea_e); void setEstimateError(float est_e); void setProcessNoise(float q); float getKalmanGain(); private: float _err_measure; float _err_estimate; float _q; float _current_estimate; float _last_estimate; float _kalman_gain; }; #endif KalmanFilter.cpp /* * SimpleKalmanFilter - a Kalman Filter implementation for single variable models. * Created by Denys Sene, January, 1, 2017. * Released under MIT License - see LICENSE file for details. */ #include "Arduino.h" #include "KalmanFilter.h" #include <math.h> KalmanFilter::KalmanFilter(float mea_e, float est_e, float q) { _err_measure=mea_e; _err_estimate=est_e; _q = q; } float KalmanFilter::updateEstimate(float mea) { _kalman_gain = _err_estimate/(_err_estimate + _err_measure); _current_estimate = _last_estimate + _kalman_gain * (mea - _last_estimate); _err_estimate = (1.0 - _kalman_gain)*_err_estimate + fabs(_last_estimate-_current_estimate)*_q; _last_estimate=_current_estimate; return _current_estimate; } void KalmanFilter::setMeasurementError(float mea_e) { _err_measure=mea_e; } void KalmanFilter::setEstimateError(float est_e) { _err_estimate=est_e; } void KalmanFilter::setProcessNoise(float q) { _q=q; } float KalmanFilter::getKalmanGain() { return _kalman_gain; } and Arduino implementation #include <Arduino.h> #include "KalmanFilter.h" #include <math.h> #include <SoftwareSerial.h> // These constants won't change. They're used to give names // to the pins used: const int analogInPin = A1; // Analog input pin that the potentiometer is attached to const int digitalInPin = 12; // Analog output pin that the LED is attached to int sensorAValue = 0; // value read from the pot int sensorDValue = 0; // value output to the PWM (analog out) int outputValue = 0; int tmpValue = 0; int window_size = 10; KalmanFilter kalmanFilter(2, 2, 0.01); void setup() { // initialize serial communications at 9600 bps: Serial.begin(115200); pinMode(digitalInPin, INPUT); } void loop() { // read the analog in value: tmpValue = analogRead(analogInPin); float realValue = tmpValue/1024.0 * 100; float measuredValue = realValue + random(-100, 100) / 100.0; float estimatedValue = kalmanFilter.updateEstimate(measuredValue); sensorAValue = tmpValue / window_size; sensorDValue = digitalRead(digitalInPin); // map it to the range of the analog out: outputValue = map(sensorAValue, 0, 1023, 0, 255); // change the analog out value: // print the results to the serial monitor: Serial.print("sensor Analog = "); Serial.print(estimatedValue); Serial.print("\ sensor Digital = "); Serial.println(tmpValue); // wait 2 milliseconds before the next loop // for the analog-to-digital converter to settle // after the last reading: delay(250); }
vladimirdimov
6 years ago
odlicen proekt
Anonymous user
6 years ago
I really like this project and want to build one down the road. So many time I forget to water plants to find them all dried up. Thanks for sharing this!
Snaresman
6 years ago
I am very interested in this project. I want to build something similar. I have one indoor greenhouse and plan on a second. I want to monitor and record the temperature, humidity and soil moisture. Then use the soil moisture for watering. I'm currently using a heater controller for temperature and a timer for the lights.
londonium2021
2 years ago
Snaresman, I personally learned the little bit of c++ I know from here. https://www.codecademy.com/learn/learn-c-plus-plus You can make a free account and get the pro subscription for week long trial which should be long enough to complete the module. Then once you get the basics you just search for the libraries of the hardware you are connecting to Arduino and watch youtube tutorials of how to use the libraries.
londonium2021
2 years ago
Snaresman, That's awesome. What are you growing indoors? Sounds like you just need to automate water and you'll be able to go on vacation lol.
Anonymous user
2 years ago
https://github.com/Porokhnya/GreenhouseProject/blob/master/README_EN.md
Snaresman
2 years ago
I’m starting some vegetables and cooking herbs. I’m wondering if I should go this route for monitoring. From the comments I’ve read on different projects, there isn’t much help on the programming. I’m trying to learn the language and it seems to be geared towards computer engineers. This is one of about four programming languages I’m trying to learn. Do you know where I can get any help?
beccuti
6 years ago
Hi ! thank you very much for this inspirational project. A short question: What kind of lights are you using? My concern is they consume some energy.
beccuti
2 years ago
I see, thanks ;)
londonium2021
2 years ago
beccuti, The light bulbs are 54w High Output fluorescent bulbs. They do consume a fair amount of energy but where I live there isn't enough sunlight or warmth to grow outside this time of the year. Thank you for looking into my project.
Anonymous user
6 years ago
Hello Good Sir, Thank you kindly for posting this automated process. This should help 'grow' my indoor poppy business, who doesn't like poppy seeds on there bagels? Thanks
londonium2021
2 years ago
Zadok, I don't know if it works on illicit or controlled plants. Will update you with my progress. Thanks for the suggestive suggestion.
londonium2021
1 Followers
•1 Projects
45
Snaresman
2 years ago
I am very interested in this project. I want to build something similar. I have one indoor greenhouse and plan on a second. I want to monitor and record the temperature, humidity and soil moisture. Then use the soil moisture for watering. I'm currently using a heater controller for temperature and a timer for the lights.