Plant watering alarm
When your plant is thirsty it can't tell you that, but I can help with it.
Author: Pacuraru Mihai-Dorin
GitHub Project Link: https://github.com/UPB-PMRust-Students/proiect-dmihai03
Description
The "Plant Watering Alarm" is a smart monitoring system that detects when your plants need water and alerts you before they become dehydrated. The system uses a soil moisture sensor inserted into the plant's soil to continuously measure moisture levels. When the soil becomes too dry (falling below a configurable threshold), the system triggers an audio and visual alarm to notify you that your plant needs attention.
The core components include a Raspberry Pi Pico 2 microcontroller, soil moisture and air temperature sensors, a buzzer for audible alerts, a LCD Display for informations feedback and a RGB LED that shows the watering level:
- green (normal)
- yellow (prepare for watering)
- red (urgent watering)
Motivation
I had a plant that i've forgot to water and died.
Architecture
Log
Week 5 - 11 May
Write documentation.
Week 12 - 18 May
Assemble hardware components and write demo source code.
Week 19 - 25 May
Add LCD Display and BMP180 temperature sensor. Finish writing code.
Hardware
- 2x Raspberry Pi Pico 2W
- one for flashing the program to the other
- one for controlling input from senzor and sending output signals to buzzer and LED
- buzzer
- alert when plant is thirsty
- RGB LED
- feedback of watering level
- voltage converter source
- convert from 3V given out by GPIO to 12V required by buzzer
- soil humidity sensor
- read soil humidity
- temperature and pressure sensor
- read air temperature and pressure
- 16x2 LCD display
- display data given by sensors
Schematic
Bill of Materials
Device | Usage | Price |
---|---|---|
2x Raspberry Pi Pico 2 | The microcontroller | 70 RON |
DC DC Voltage Converter | The transistor for buzzer | 3 RON |
Buzzer | The buzzer | 2 RON |
2x Transistor | The transistors | 6 RON |
RGB LED | The LED for feedback | 2 RON |
Rezistors | The resistors kit | 15 RON |
Soil Humidity Sensor | The sensor for soil humidity | 4 RON |
Temperature and Pressure Sensor | The sensor for air temperature and pressure | 7 RON |
LCD Display | The LCD display | 15 RON |
Breadboard | The Breadboard | 17 RON |
Wires | The Wires | 10 RON |
Total | 151 |
Software
Library | Description | Usage |
---|---|---|
embassy-rp | Async embedded peripherals | Peripherals access |
embassy-executor | Async embedded tasks | Tasks manager |
embassy-time | Async embedded time | Delay time manager |
lcd_lcm1602_i2c | LCD 16x2 i2c driver | Control LCD Display |
bmp180_embedded_hal | BMP180 driver | Control BMP180 sensor |
core | Rust stdlib | Format string for printing |