Components and supplies
Ultrasonic Sensor - HC-SR04 (Generic)
Water pump
OLED Character Display Module 16 x 2 Green
Solderless Breadboard Full Size
piezo speaker
Resistor 330 ohm
Arduino UNO
Relay Module (Generic)
BME280/BMP280
Gravity: Analog Soil Moisture Sensor For Arduino
LED (generic)
Dual bidirectional I2C-bus and SMBus voltage-level translator(PCA9306)
Apps and platforms
Arduino IDE
Project description
Code
AutoWatering.ino
c_cpp
It says a lot, but I'm just measuring the soil humidity and watering it. It's so easy!
AutoWatering.ino
c_cpp
It says a lot, but I'm just measuring the soil humidity and watering it. It's so easy!
Downloadable files
Step3
Step3. Temperature, humidity and soil moisture are measured and displayed on the OLED.
Step3
Step2
Step2. An LED tells us when the bucket is empty.
Step2
Step2
Step2. An LED tells us when the bucket is empty.
Step2
Step3
Step3. Temperature, humidity and soil moisture are measured and displayed on the OLED.
Step3
Step1
Step1. Measure the soil moisture and water with a pump if the soil is dry.
Step1
Comments
Only logged in users can leave comments
trady
6 months ago
Hi, ic-lab, I am a high school student wanting to do the same project in Kenya, how much is it going to cost me?
Anonymous user
2 years ago
Hello can i used LCD Display instead of OLED Display? And if i use lcd does the coding need to change as well?
lc_lab
2 years ago
This OLED is for i2c connection, and the "I2CLiquidCrystal" library I am using is also for i2c connection. According to the reference site (https://n.mtng.org/ele/arduino/i2c.html), the author has rewritten the official Arduino "LiquidCrystal" library (https://www.arduino.cc/en/Reference/LiquidCrystalConstructor). So, you may want to code with the "LiquidCrystal" library as a reference. Thank you.
Anonymous user
2 years ago
Hi do you have the zip fle of the 12cliquidcrystal? i went to the page that you give, but i cant download it
Anonymous user
2 years ago
That link isnt working still :/
lc_lab
2 years ago
Thank you for your comment! This is download link of the "I2CLiquidCrystal" library. https://n.mtng.org/cgi-bin/downcon.cgi?down=http://n.mtng.org/ele/arduino/I2CLiquidCrystal-1.5.zip&name=I2CLiquidCrystal-1.5.zip&hp=http://n.mtng.org/ele/arduino/ Could you download it with this?
lc_lab
2 years ago
I'm sorry for the late reply.
Anonymous user
2 years ago
Hey, I really appreciate you showing this project on here. I'm planning on doing it myself. However I'd want mine to be able to be displayed on a web browser through wifi. Any possibility you could show me/make a part 2 through adding wifi and having the data displayed on a browser available to the world? Thanks
lc_lab
2 years ago
Thanks for your comment! I'll do my best to post part two with Wi-Fi system. Thank you very much.
Anonymous user
2 years ago
what if i dont use dual Bidirectional I2C Bus and SMBUS Voltage Level Translator ?
lc_lab
2 years ago
Thank you for your comment! This time, we are using an OLED that runs on 3.3V.The digital output of the Arduino is 5V, so I don't think it's a good idea to connect them directly. I haven't actually tried it, so I don't have all the details.
Anonymous user
2 years ago
Hello! I have an issue with this specific defined library. I can't find it anywhere with this name and I do not know how to change it for this specific project in order to work! I would be glad for a prompt answer from you guys!! Thank you!! #include <I2CLiquidCrystal.h> //OLED #define I2C_ADDR 0x3c #define BRIGHT 127 I2CLiquidCrystal oled(I2C_ADDR, (uint8_t)BRIGHT);
lc_lab
2 years ago
Thank you for your comment! The "<I2CLiquidCrystal.h> library" is based on the following site. →https://n.mtng.org/ele/arduino/i2c.html You can download the file at the bottom of the page. I forgot to put the link, sorry. Thank you very much!!
Anonymous user
2 years ago
what is the purpose of displaying the temperature?
Anonymous user
2 years ago
Hi, what if I don't use the BME280 sensor, can it still run?
lc_lab
2 years ago
Of course! Please remove any unnecessary code related to BME280. Thank you!
Anonymous user
2 years ago
Hello how can i know the circuit connections about how to connect the circuit like that because we are the students need to know about the connections.do ypu have any video to show the connections
lc_lab
2 years ago
The connections (among Arduino and parts) in this projects can be found in the figures. Unfortunately, I don't understand about your question. I would be happy to help you. Please let me know more about the question what you would like to know.
Anonymous user
2 years ago
Can i use other size of OLED? Thank youu
lc_lab
2 years ago
If it is an I2C connected OLED, I think this library can be used.Please check it out. Thank you!
lc_lab
2 years ago
Sorry for the confusion. The OLED I used runs on 3.3V. The Arudino is a 5V output. I used a PCA9306 to convert the voltage. So if your OLED is not 5V, you may need it.
lc_lab
2 years ago
Of course! Use the OLED of your choice. I use PCA9306 because I needed it for the OLED I used. Use the right parts for your display. Thank you!
Anonymous user
2 years ago
wait, let me rephrase my question, what if i used a OLED . 0.91 inch by 1.3 inch , it is the same dual bidirectional that i will use which is PCA9306?
Anonymous user
2 years ago
Now i understand! The library that i will use for my OLED is the same as yours, right? Doesn't matter the size? Thank youuuu! Sorry for being nosy hehe
Anonymous user
2 years ago
Awesome Sir/Madam. But can you help me a little bit. I'm using DHT11 to measure temperature and humidity and 20*4 LCD display to show output. What should I change in the coding section? Thanks in advance.
lc_lab
2 years ago
Thanks for your comment. The paragraph that says "//BME280" is the code for the temperature and humidity using the BME280 sensor. Please replace this with the code for sensor you are using. The part of the code that says "//OLED" or "oled..." is about the display. You will need to rewrite the code to match your LCD display. It is possible that I have missed something, so please try writing and running the code. Thank you.
Anonymous user
2 years ago
Is it possible to make my own code
Anonymous user
2 years ago
what is the purpose of displaying the temperature?
Anonymous user
3 years ago
Hi do you have the zip fle of the 12cliquidcrystal? i went to the page that you give, but i cant download it
lc_lab
2 years ago
I'm sorry for the late reply.
lc_lab
2 years ago
Thank you for your comment! This is download link of the "I2CLiquidCrystal" library. https://n.mtng.org/cgi-bin/downcon.cgi?down=http://n.mtng.org/ele/arduino/I2CLiquidCrystal-1.5.zip&name=I2CLiquidCrystal-1.5.zip&hp=http://n.mtng.org/ele/arduino/ Could you download it with this?
Anonymous user
2 years ago
That link isnt working still :/
Anonymous user
3 years ago
Hey, I really appreciate you showing this project on here. I'm planning on doing it myself. However I'd want mine to be able to be displayed on a web browser through wifi. Any possibility you could show me/make a part 2 through adding wifi and having the data displayed on a browser available to the world? Thanks
lc_lab
2 years ago
Thanks for your comment! I'll do my best to post part two with Wi-Fi system. Thank you very much.
sojib720
3 years ago
Awesome Sir/Madam. But can you help me a little bit. I'm using DHT11 to measure temperature and humidity and 20*4 LCD display to show output. What should I change in the coding section? Thanks in advance.
lc_lab
2 years ago
Thanks for your comment. The paragraph that says "//BME280" is the code for the temperature and humidity using the BME280 sensor. Please replace this with the code for sensor you are using. The part of the code that says "//OLED" or "oled..." is about the display. You will need to rewrite the code to match your LCD display. It is possible that I have missed something, so please try writing and running the code. Thank you.
bobtiger
3 years ago
Hi, what if I don't use the BME280 sensor, can it still run?
lc_lab
2 years ago
Of course! Please remove any unnecessary code related to BME280. Thank you!
Anonymous user
3 years ago
Hello can i used LCD Display instead of OLED Display? And if i use lcd does the coding need to change as well?
lc_lab
2 years ago
This OLED is for i2c connection, and the "I2CLiquidCrystal" library I am using is also for i2c connection. According to the reference site (https://n.mtng.org/ele/arduino/i2c.html), the author has rewritten the official Arduino "LiquidCrystal" library (https://www.arduino.cc/en/Reference/LiquidCrystalConstructor). So, you may want to code with the "LiquidCrystal" library as a reference. Thank you.
Anonymous user
3 years ago
Hello how can i know the circuit connections about how to connect the circuit like that because we are the students need to know about the connections.do ypu have any video to show the connections
lc_lab
2 years ago
The connections (among Arduino and parts) in this projects can be found in the figures. Unfortunately, I don't understand about your question. I would be happy to help you. Please let me know more about the question what you would like to know.
marie_florence
3 years ago
Can i use other size of OLED? Thank youu
marie_florence
2 years ago
wait, let me rephrase my question, what if i used a OLED . 0.91 inch by 1.3 inch , it is the same dual bidirectional that i will use which is PCA9306?
marie_florence
2 years ago
Now i understand! The library that i will use for my OLED is the same as yours, right? Doesn't matter the size? Thank youuuu! Sorry for being nosy hehe
lc_lab
2 years ago
Sorry for the confusion. The OLED I used runs on 3.3V. The Arudino is a 5V output. I used a PCA9306 to convert the voltage. So if your OLED is not 5V, you may need it.
lc_lab
2 years ago
Of course! Use the OLED of your choice. I use PCA9306 because I needed it for the OLED I used. Use the right parts for your display. Thank you!
lc_lab
2 years ago
If it is an I2C connected OLED, I think this library can be used.Please check it out. Thank you!
dandan33
4 years ago
Excuse me sir/ madam, Would you mind tell me more about how to make it. I appreciate you done a great job. However, I still failed by following with the step and Arduino code which you post. Would you like tell me more about how to make it work successfully, especially how to make the message showed on the LCD display. Thank you.
lc_lab
2 years ago
Thank you for your comment! We used the "<I2CLiquidCrystal.h> library" to run the OLED. It is based on the following site. →https://n.mtng.org/ele/arduino/i2c.html You can download the file at the bottom of the page. And I used this OLED. →https://akizukidenshi.com/catalog/g/gP-08276/ (Japanese site, sorry...) The "<I2CLiquidCrystal.h> library" is a library for this OLED, so maybe it won't work with other ones. (I haven't tried it with other OLEDs, so I don't know the details.) We would be happy if you could modify our code to fit the OLED you are using. Thank you.
Anonymous user
4 years ago
what if i dont use dual Bidirectional I2C Bus and SMBUS Voltage Level Translator ?
lc_lab
2 years ago
Thank you for your comment! This time, we are using an OLED that runs on 3.3V.The digital output of the Arduino is 5V, so I don't think it's a good idea to connect them directly. I haven't actually tried it, so I don't have all the details.
Anonymous user
4 years ago
Hello! I have an issue with this specific defined library. I can't find it anywhere with this name and I do not know how to change it for this specific project in order to work! I would be glad for a prompt answer from you guys!! Thank you!! #include <I2CLiquidCrystal.h> //OLED #define I2C_ADDR 0x3c #define BRIGHT 127 I2CLiquidCrystal oled(I2C_ADDR, (uint8_t)BRIGHT);
lc_lab
2 years ago
Thank you for your comment! The "<I2CLiquidCrystal.h> library" is based on the following site. →https://n.mtng.org/ele/arduino/i2c.html You can download the file at the bottom of the page. I forgot to put the link, sorry. Thank you very much!!
dumpsterbaby123-
13 days ago
hello i am a middle school student and i am wondering where to pickup all these parts?