Autonomous monitoring and watering system for a String of Nickels (succulent) using Arduino Uno and Python.
Follow the wiring_guide.html for pin mappings:
- DHT11: Digital Pin 2
- Relay (Pump): Digital Pin 3
- HC-SR04: Digital Pins 4 (Trig) & 5 (Echo)
- Soil Moisture: Analog Pin A0
- Light Sensor: Analog Pin A1
- Python Virtual Environment:
python3 -m venv .venv source .venv/bin/activate pip install pyserial pillow flask - Arduino Firmware:
Upload
dht11_test/dht11_test.inoto the Arduino Uno using the Arduino IDE orarduino-cli.
- Manual Pulse:
python3 gardener_pulse.py(reads sensors, logs data, updates dashboard). - Automated Pulse (Cron):
0 8,20 * * * cd /path/to/project && ./.venv/bin/python3 gardener_pulse.py
- View Dashboard: Open
dashboard.htmlin any browser.
gardener_pulse.py: The core "Heartbeat" script.dashboard_gen.py: Generates the staticdashboard.html.data/garden.db: SQLite database for long-term tracking.photos/: Directory for daily growth photos.gardener.md: The "Arid Architect's" behavioral logic and thresholds.