MODE 2 — PET STATION

Medium · 1h 30 min · Fast kostenlos

Ziel & Anwendung

Eine intelligente Haustierstation die Temperatur und Luftfeuchtigkeit überwacht, einen Futterspender per Servo steuert und beim Annähern des Tieres automatisch reagiert. Alles auf einem kompakten Karton-Board.

  • BME280-Klimadaten für automatische Tierwohl-Reaktionen nutzen.
  • Servo-gesteuerter Futterspender mit Encoder-Dosierung aufbauen.
  • Proximity-Sensor als Tier-Anwesenheitsdetektor implementieren.

Anschluss & Funktion

Motoren am Board

AnschlussMotorAufgabe
S1180°-ServoFutter-Klappe — öffnet bei Näherung oder Tastendruck
S2180°-ServoWasserstand-Zeiger — zeigt den Füllstand auf einer Skala
S3180°-ServoStatus-Klappe — zeigt an, welche Funktion gerade aktiv ist
S4360°-ServoRührer im Wassernapf — läuft mit der Pumpe mit
S5360°-ServoZweites Belüftungselement — läuft bei Hitze
S6180°-ServoSichtfenster-Klappe — öffnet sich beim Füttern
STEPPERSchrittmotorDosiert die Futtermenge in präzisen Portionsschritten
DCDC-MotorWasserpumpe — läuft beim Berühren des Touch-Pads

Materialliste

  • 1 Kartonbox als Haustier-Station-Gehäuse (ca. 20 × 15 × 10 cm)
  • 1 kleine Schachtel oder Deckel als Futter-Ausgabe-Schale
  • Kartonstreifen als Futter-Klappe (Servo-gesteuert)
  • Klebeband und Heißkleber

Step-by-Step Tutorial

  1. Station-Gehäuse aufbauen

    Kartonbox als Gehäuse. Vorne: Loch für Ultraschall-Sensor. Oben: kleines Gitter-Loch (Bleistift-Muster) für BME280-Belüftung. Seite: Ausgabe-Öffnung für Futter. ProtoPeaks innen befestigen.

    Check: Kartonbox steht stabil, ProtoPeaks innen montiert, Öffnungen für Sensor und Futter-Ausgabe ausgeschnitten

    Tipp: ProtoPeaks-Sensoren müssen nach außen zeigen: Ultraschall nach vorne für Tier-Erkennung, BME280 oben offen für Luftzirkulation.

  2. Futter-Servo S1 und Klappe bauen

    S1 (180°) innen neben der Ausgabe-Öffnung. Servo-Horn auf S1. Karton-Klappe (Schieber) ans Horn kleben. Bei S1=1900µs: Klappe offen, Futter fällt raus. Bei S1=1100µs: Klappe zu. Ausgabe-Schale darunter positionieren.

    Check: S1 öffnet und schließt die Futter-Klappe — Futter fällt bei geöffneter Klappe in die Schale

    Tipp: Klappe als einfachen Karton-Schieber bauen den S1 schiebt. Schwerkraft lässt Futter fallen.

  3. Wasser-Servo S2 als Trinknapf-Anzeige

    S2 (180°) an der Station-Außenseite. Servo-Horn auf S2. Kleinen Karton-Pfeil ans Horn kleben. Auf der Station-Seite: Skala (Leer | Halb | Voll) aufmalen. S2-Position zeigt den aktuellen Füllstand-Status (manuell per Encoder eingestellt).

    Check: S2 zeigt Wasserstand-Level an — einfacher Zeiger auf einer Skala

    Tipp: S2 als Zeiger-Servo: Horn dreht einen Pfeil auf einer Papp-Skala (Leer → Voll). Funktioniert als visülle Anzeige.

  4. Leichtgängigkeits-Test (ohne Strom)

    S1 von Hand drehen: Klappe öffnet? Schließt sie wieder dicht? S2 von Hand: Zeiger dreht leicht? Kein Klemmen? Erst wenn alles frei: ProtoPeaks einschalten.

    Check: Futter-Klappe S1 öffnet/schließt leicht. Zeiger S2 dreht frei. Klappe schließt dicht.

    Tipp: Klappe muss beim Schließen wirklich dicht sein — sonst fällt Futter unkontrolliert raus. Karton-Klappe ggf. doppelt ausführen.

  5. MODE 2 aktivieren — Automatik testen

    Haustier → MODE 2. Hand auf < 25 cm an Sensor: S1 öffnet Futter-Klappe für 2 Sekunden, dann schließt sie automatisch. Temperatur über 28°C (BME280): Buzzer LONG_BLINK (Warnung: zu heiß). Encoder drehen: Futter-Portionsgröße einstellen (Display zeigt Wert).

    Check: Tier nähert sich (< 25 cm): Futter-Klappe öffnet kurz. Temperatur > 28°C: Buzzer warnt. Encoder steuert Futter-Dosierung.

    Tipp: Futter-Klappe nach 2 Sekunden automatisch wieder schließen — nicht dauerhaft offen lassen.

  6. Zusatz-Funktionen anbringen

    Baue eine kleine Status-Klappe, die je nach aktiver Funktion (Füttern/Wasser/Klima) eine andere Position anzeigt. Klebe zwei kleine Scheiben auf die verbleibenden 360°-Servos als Rührer im Wassernapf. Ein Sichtfenster-Servo öffnet zusätzlich beim Füttern, damit du den Futterstand sehen kannst. Der Schrittmotor dosiert die Futtermenge in feinen Portionsschritten zusätzlich zur Klappe.

    Check: Status-Klappe zeigt die aktive Funktion, Rührer-Scheiben drehen gegenläufig, Sichtfenster öffnet beim Füttern

  7. Klima-Monitoring testen

    BME280-Werte auf Display ablesen. Warmes Objekt neben Sensor: Temperatur steigt. Bei > 28°C: Buzzer LONG_BLINK. JoystickButton drücken: Alarm quittieren. Station gibt Übersicht über Tierwohl-Klima.

    Check: Display zeigt Temp/Humidity. Buzzer reagiert bei Grenzwert. JoystickButton quittiert Alarm.

    Tipp: Haustiere reagieren empfindlich auf Hitze — 28°C Schwellwert ist konservativ gewählt, kann angepasst werden.

Troubleshooting

  • Futter-Klappe bleibt dauerhaft offen — feedTimer wird jedes Frame neu gesetzt wenn Tier noch da ist. Timer einmal setzen und nicht wiederholen solange Tier anwesend. Static-Variable für Timer-Zustand.
  • Temperatur-Alarm sofort nach Start — BME280 braucht ca. 5 Sekunden Einlaufzeit. Schwellwert zu niedrig für die Raumtemperatur. Wert auf Display ablesen und Grenzwert anpassen.

Modifikationen & Sicherheit

  • Pro-Tipp: Temp-Grenzwert von 28°C auf 30°C erhöhen für wärmere Räume — vermeidet Fehlalarme.
  • Erweiterung: DC-Motor als kleiner Lüfter — aktiviert automatisch wenn Temp > 30°C.
  • Sicherheit: Keine elektrischen Teile direkt über dem Wassernapf — Kurzschluss-Gefahr bei Spritzern.

Wichtige Code-Teile

// Proximity: Tier-Erkennung → Futter-Klappe
if(distanceCM > 0 && distanceCM < 25) {
    servocontroller.setServoPulse(1, 1900); // Klappe auf
    static unsigned long feedTimer = millis();
    if(millis() - feedTimer > 2000) {
        servocontroller.setServoPulse(1, 1100); // Klappe zu nach 2s
    }
}
// BME280: Temperatur-Alarm
if(Temperature > 28.0f) Buzzer.setMode(LONG_BLINK);
else Buzzer.setValue(0);
// Encoder: Futter-Dosierung anpassen
static int feedLevel = 5;
feedLevel = constrain(feedLevel + EncoderPos, 1, 10);
EncoderPos = 0;
// S2: Wasserstand-Zeiger (manuell)
static uint16_t waterPos = 1500;
waterPos = constrain(waterPos + 0, 1100, 1900); // Per Encoder oder Display
servocontroller.setServoPulse(2, waterPos);

Ähnliche Projekte

  • MODE 1 — LASER CHASE — Zwei Servos bewegen einen Laserpointer-Halter in einem Jitter-Muster — Katzen jagen den zufälligen Lichtpunkt automatisch. Joystick übernimmt manuelle Steuerung, Touch-Pad schaltet auf Jitter-Automatik.
  • MODE 5 — Aqua-Control — Sinkt der Wasserstand im Napf, öffnet sich automatisch das Hauptventil und die Pumpe füllt nach. Wird es zu voll, schließt ein zweites Ventil sofort und der Buzzer warnt — komplett ohne Zutun.
  • MODE 2 — CLIMATE — Temperatur, Luftfeuchtigkeit, Druck und Helligkeit live auf Servo-Zeigern und Display — plus automatischer DC-Lüfter wenn es zu warm wird.