Introduction: Garduino – the Smart Garden With Arduino
These days, no one is innocent. Is there anyone who didn’t accidently kill a plant???
It’s hard to keep your plants alive. You buy a new plant, and in the worst case, you just forget to water it. In the better case, you remember it exists, but you do not handle it properly.
With Garduino, we will help you to turn your home into a beautiful greenhouse of healthy and happy plants.
Garduino is a smart plant monitoring platform, that will help you know your plants better.
Why Garduino is so cool?
- It monitors the moisture in the plant’s soil. Too little moisture can result in yield loss and plant death. If the moisture level is low, the user should water his plant. Keeping the moisture level in the right range also helps to avoid over-watering. Over watering is a common and well-known cause for plant killing, that causes root disease and wasted water.
- It monitors the temperature in the plant’s surrounding. Temperature is a key factor in plant growth. This helps us to keep track when the temperature is too high. FYI, low temperatures is bad to plants as high temperatures, sometimes even worse.
- It monitors the air humidity. Most plants need humid air, because the pores through which they breathe lose most of their moisture when the surrounding air is dry, a loss that the plant can’t always replace through the water its roots absorb.
Who are we?
Two Computer Science students from the Interdisciplinary Center (IDC), Herzliya, Israel.
We both have a busy schedule, and we both love plants.
Our apartments are full of plants, and we find it difficult to take proper care of them.
We often forget to water them, and when we do remember we try to make up for forgetting by over watering them.
This plant monitoring system is our final project in “The Internet of Things (IoT)” course.
We hope this would help you like it helped us!
We would love to hear from you
Tried our project?
Let us know! We would love to hear from you, if you have points to improve or any comments. Moreover, we would love to get some pictures!
Supplies
- 1 x ESP8266 board (We used Wemos D1 mini)
- 1 x Micro-USB Cables
- 20 x jumper cables
1 x Temperature & Humidity sensor (We used DHT22)
1 x 10K Ohm resistor
1 x Soil moisture sensor
1 x LCD (We used Grove LCD RGB Backlight)
1 x Breadboard
Step 1: The Circuits
In this step, we will connect all the sensors.
Soil Moisture sensor:
- Connect VCC to 3.3v
- Connect GND to G
- Connect A0 to A0
LCD Screen:
- Connect GND to G
- Connect VCC to 5v
- Connect SDA and SCL to D1, D2
Humidity & Temperature sensor:
- Connect GND to G
- Connect VCC to 3.3v
- Connect Data with the 10K Ohm resistor to D3 and power, as in the circuit
Step 2: Installing Required Software & Dashboards
Arduino IDE
Install Arduino IDE:
https://www.arduino.cc/en/Guide/HomePage
Install relevant "drivers" for the ESP8266 boards to your Arduino IDE:
https://randomnerdtutorials.com/how-to-install-esp...
Adafruit
Create an account:
Go to the 'Feeds' and add 4 feeds:
1. SoilMoisture
2. Humidity
3. Temperature
4. Alerts
Then, go to the 'Dashboard' and create a new dashboard, then enter to the dashboard and add 4 blocks, using the plus sign at the right of the page:
1. Add a Line Chart block, then choose SoilMoisture feed, determine that the minimum value is 0 and the maximum is 1100.
2. Add Gauge block, then choose AirMoisture feed and make sure that the maximum value is 100.
3. Add Stream block, then choose Temperature feed
4. Add Text block, then choose Alerts feed
Click 'Save'.
Step 3: The Code
The code is attached and is well documented, for easy use.
Open the code in Arduino IDE, make sure that the board you are working on is indeed the right board.
When you are running the serial monitor, make sure you are on 115200baud.
Notice that there are places in the code you need to modify according to your project (such as your WiFi details).
All is written in the documentation.
Attachments
Step 4: Push Notifications
In order to get notified, download MQTT Push Client app, then enter the app:
1. Add a server. Most of the details are already inserted, just add the details of your username and password.
2. Add the topics (feed in Adafruit IO) you are interested to see. In our project - add in the topic UserName/feeds/alerts. Then click save.
3. That's about it! If you are interested in receiving more information about the sensors, add new topic and fill in UserName/feeds/*topic*, where topic is the feed you want to see. You can also choose which notification you want to receive, if any at all :)
You can use those topics just to catch-up from time to time on the measurements of the plant.
12 Comments
Question 1 year ago
can someone help me with this error
1 year ago
Im having trouble getting the code to work :(
Question 2 years ago
what is account in MQTT Push Client app ? and how to add the topic ?
Question 3 years ago
Can I use a DHT11
3 years ago
Hi, great project. How would you approach an evolution of the project where you try to identify the plants needs to access to some public DB and correlate it with the data?
3 years ago
Ive only had a brief look over the project, but it looks terrific! Is it possible and easy to modify the circuit to take multiple sensors so that only one arduino is needed for, say, 6 or 10 (or more!) plants?
3 years ago
Nice tutorial. Well done. I will have a garden this year and would like to automate the functions based on needs. Your tutorial will come in handy.
Herliya is such a nice place. The beach and restaurant nearby is so peaceful. Israel rocks.
Reply 3 years ago
Thanks!
I would love to get some pictures if you try our project 🙂🙂
And next time you’re in Israel you are welcomed to see the garden!
3 years ago
Cool, but i am going to make the comment many will make and that is that your moisture sensor will rot away in weeks due to electrolysis. Consider changing it to two carbon rods.
Reply 3 years ago
Thanks for the tip!
Reply 3 years ago
or titanium rods that are very strong and will never corrode
3 years ago
Great photos :D