Do you want perfection for your plants well being? Are you unsure how much water your plant needs? or do you just want to track how much water the plant consumes? Then this project is for you.
Hardware Required
- Arduino Nano (any other microcontroller)
- Arceli Water Level Sensor (alternatively: soil moisture sensor)
- 16×2 QAPASS LCD
- RGB LED Module
- Cables/Wires
- Power Cable (Mini USB type B to USB type A)
Materials:
- PLA Filament
Tools:
- CAD Software (Autodesk Fusion 360)
- 3D Printer (Flashforge Adventurer 3)
- 3D Print Slicer Software (FlashPrint)
- Soldering Iron & Wire
Step 1: Build Your Circute
Make your circuit schematic after selecting your components. When programming the microcontroller, the diagram will be very helpful.
Step 2: Program Your Microcontroller
Microcontroller programming and system testing are required.
Arduino Code:
#include <LiquidCrystal_I2C.h> // include the library code for the LCD screen LiquidCrystal_I2C lcd(0x27,20,4); // set the LCD address to 0x27 for a 16 chars and 2 line display #define POWER_PIN 6 #define SIGNAL_PIN A1 int value = 0; // variable to store the sensor value int red_light_pin = 4; int green_light_pin = 3; int blue_light_pin = 2; void setup() { Serial.begin(9600); // start the serical console // sensor setup pinMode(POWER_PIN, OUTPUT); // configure D4 pin as an OUTPUT digitalWrite(POWER_PIN, LOW); // turn the sensor OFF // LCD setup lcd.init(); lcd.backlight(); lcd.setCursor(2,0); lcd.print(“Humidity:”); lcd.setCursor(2,1); // LED setup pinMode(red_light_pin, OUTPUT); pinMode(green_light_pin, OUTPUT); pinMode(blue_light_pin, OUTPUT); } void loop() { // sensor loop digitalWrite(POWER_PIN, HIGH); // turn the sensor ON delay(10); // wait 10 milliseconds value = analogRead(SIGNAL_PIN); // read data from SIGNAL_PIN and store it to value variable digitalWrite(POWER_PIN, LOW); // turn the sensor OFF // LCD loop lcd.setCursor(2,1); // define where to write on the LCD screen lcd.print(value); // write value on LCD screen //LED loop if (value<300) RGB_color(150,0,0); //Red else if (value>300 && value<350) RGB_color(150,150,0); //Yellow else if (value>350) RGB_color(0,150,0); //Green delay(990); // wait 990 milliseconds } void RGB_color(int red_light_value, int green_light_value, int blue_light_value) { analogWrite(red_light_pin, red_light_value); analogWrite(green_light_pin, green_light_value); analogWrite(blue_light_pin, blue_light_value); } |
Step 3: Model Your Enclosure
To model the enclosure for this project, I utilised Autodesk Fusion 360. So that it may fit in the plant pot, the purpose was to create it as small as feasible. I made a tight fit using the 3D models of the electronic components I acquired in order to accomplish this. Yes, I did leave room for the wires. The enclosure was ultimately made up of three components that could be press-fit together.
Step 4: 3D Print Your Enclosure
The three components were 3D printed using a FlashForge Adventurer 3 after being first cut with FlashPrint. It was made of PLA in black.
Step 5: Assemble
Place the electronics inside the main enclosure after soldering them. Next, attach the other two enclosure components.
Step 6: Test Your Unit
Connect the power source, then test your plant’s sensor unit.
Step 7: Final Result
Hope you enjoyed this project. We superkitz will be back soon with more interesting projects.