Smart Thirst Alert: DIY Pflanzen-Alarm für optimale Bewässerung
Komponenten und Zubehör
| Komponente | Anzahl |
|---|---|
| Microchip ATmega328 | 1 |
| 16 MHz Quarz | 1 |
| Keramik-Kondensator 20 pF | 2 |
| Linearer Regler 7805 (5V) | 1 |
| LED (beliebige Farbe) | 2 |
| Widerstand 10 kΩ | 1 |
| Widerstand 220 Ω | 1 |
| Widerstand 470 Ω | 1 |
| Schiebeschalter | 1 |
| C&K PTS 645 Taster | 1 |
| Piezo-Summer | 1 |
| 9V-Blockbatterie | 1 |
| 9V-Batterieclip | 1 |
| SparkFun Bodenfeuchtesensor (mit Schraubklemmen) | 1 |
| Arduino UNO (zum Programmieren) | 1 |
| 3D-gedrucktes Gehäuse | 1 |
Benötigte Werkzeuge
- Lötkolben
- Bleifreies Lötzinn
Apps und Online-Dienste
- Patchr PCB Editor
- Patchr PCB Manufacturing (15 % Rabatt mit Code „GoPatchr“)
- Arduino IDE
- Onshape (3D-CAD)
Über dieses Projekt
Wie alles begann
Ich gestehe: Ich bin ein schrecklicher Pflanzeneltern. Egal ob zu viel oder zu wenig Wasser – meine Pflanzen überleben es nicht. Dabei liebe ich ihr Grün, das jeden Raum belebt. Also baute ich den Thirsty Plant Detector: Ein Gerät, das für Ihre Pflanzen spricht und per Zwitscher-Ton meldet, wenn sie Durst haben.
Das Herzstück ist der Explorer Uno (ATmega328-basiert), kombiniert mit einem Bodenfeuchtesensor und Piezo-Summer. Der Summer nutzt ein Piezo-Element, das sowohl Töne erzeugen als auch Vibrationen detektieren kann. Der Feuchtesensor funktioniert als variabler Widerstand: Zwei Sonden in der Erde messen die Leitfähigkeit (0–1023). Mehr Wasser = bessere Leitfähigkeit = niedrigerer Widerstand.
Schritt 1: Breadboard-Aufbau
Zuerst alles auf dem Steckbrett testen. Ich nutze einen Arduino Uno für die Entwicklung und übertrage den ATmega328 später auf die PCB. Sie können entweder den fertigen SparkFun-Sensor nutzen oder selbst einen bauen: zwei Metallstäbe (z. B. Messing-Hobbystäbe), Draht und ein 47 kΩ Widerstand.
Laden Sie den Test-Code hoch:
Wenn alles funktioniert, hören Sie ein Grillen-Zirpen. Berühren Sie die Sonden miteinander – der Ton stoppt.
Schritt 2: PCB-Design mit Patchr
- Bei Patchr anmelden (4-min-Tutorial verfügbar).
- „Explorer Uno“-Template wählen – spart das Arduino-Layout.
- Board-Größe anpassen für Sensor und Summer.
- Widerstand platzieren: 5V → A0, plus Durchkontaktierung für Sonden.
- Summer an GND und Digital Pin 5 anschließen.
- Verbindungen mit Breadboard abgleichen, dann exportieren. Fertigung via Patchr Manufacturing empfohlen.
Schritt 3: Gehäuse-Design
Während die PCB gefertigt wird, das Gehäuse in Onshape (oder TinkerCAD) designen. Board-Abmessungen im BRD-Tab beachten. Meine Datei gibt es auf Thingiverse. Ohne 3D-Drucker: Online-Druckservices oder Bastelmaterial nutzen.
Schritt 4: Montage
PCB eingetroffen? Lötkolben an, Lieblingsmusik an – Lieblingsprogrammiersprache: Lötzinn (Bob Pease). Summer bei mir per Kabel ans Gehäuseoberteil angebunden. Patchr-Projekt und Schaltpläne als Referenz nutzen.
Ab jetzt keine vertrockneten Pflanzen mehr – außer absichtlich (Kale-Chips). Fragen, GIFs, Dad-Jokes oder Löt-Playlists in die Kommentare!
Code
/* Thirst Alert Plant Alarm - Patchr.io
Tutorial: hackster.io/patchr
November 2019 */
#include "Volume.h" // Connor Nishijima (2016)
int sensorPin = A0;
int sensorValue;
int limit = 300;
Volume vol;
void setup() {
Serial.begin(9600);
vol.begin();
vol.setMasterVolume(1.00); // 0.00–1.00
vol.delay(500);
}
void loop() {
sensorValue = analogRead(sensorPin);
Serial.println(sensorValue);
if (sensorValue > limit) {
Serial.println("*cricket*");
chirp();
vol.delay(random(1000, 30000)); // 1–30 s Pause
} else {
vol.noTone();
}
}
void chirp() {
int freq = random(3700, 4000);
float volume = random(10, 101) / 100.00;
int chirpType = 1;
if (chirpType == 1) {
int chirpCount = random(1, 3);
chirp(chirpCount, freq, volume);
}
}
void chirp(byte times, int freq, float volume) {
float fadeOut = 1.00;
while (times > 0) {
float mv = 0;
while (mv < 1.00) {
for (int v = 0; v < 255; v += 4) vol.tone(freq, v * volume * mv * fadeOut);
for (int v = 255; v > 0; v -= 4) vol.tone(freq, v * volume * mv * fadeOut);
vol.delay(20);
mv += 0.2;
}
mv = 1.00;
while (mv > 0.00) {
for (int v = 0; v < 255; v += 4) vol.tone(freq, v * volume * mv * fadeOut);
for (int v = 255; v > 0; v -= 4) vol.tone(freq, v * volume * mv * fadeOut);
vol.delay(20);
mv -= 0.2;
}
vol.noTone();
fadeOut -= 0.75;
times--;
}
}
CAD-Dateien & Gehäuse
Thirst Alert Gehäuse auf Thingiverse
Gerber-Datei für Patchr Manufacturing: thirstalertpcb_5kbOAcFilw.zip
Schaltplan
Siehe Anhang: Schaltplan-Bild
Herstellungsprozess
- Italienische Word Clock mit Arduino Nano, NeoPixel, LCD & RTC
- Arduino-Pins sparen: 4x3 Tastenfeld mit nur 3 Anschlüssen verbinden
- Smart-Home Pflanzenbewässerungssystem mit Arduino Nano
- Zuverlässiger Sigfox-kWh-Zähler mit Arduino MKR Fox 1200
- Bluetooth-Temperaturmonitor mit Arduino Nano
- DIY Auto-Ranging Kapazitätsmesser (10 pF – 10 µF) – Einfacher Arduino-Nano-Bau
- Berührungsloses Gesten-Schloss: Sicherer Zugang mit APDS-9960 & Arduino
- Arduino Nano Begleiter-Set – Essentielle Bauteile & Werkzeuge für DIY-Elektronik
- Isolierter Analogeingang für Arduino: Spannung/Strom galvanisch trennen
- Präziser Reaktionszeit-Test mit Arduino UNO