MODE 2 — MOTION LOG
Easy · 45 min · Fast kostenlos
Ziel & Anwendung
Ein mechanischer Einbruchs-Logger: PIR-Bewegungen und Distanzsprünge werden separat gezählt und als Zeiger auf zwei Skalen angezeigt. S3 zeigt den Live-Abstand, der Stepper dreht pro PIR-Ereignis 50 Schritte weiter — nach einem langen Tag sieht man auf einen Blick wie viel Aktivität im Raum war.
- PIR-Bewegungen und Ultraschall-Distanzsprünge separat zählen und auf zwei Servo-Zählern anzeigen.
- S3 Live-Abstand als kontinuierlichen Zeiger und Stepper als kumulativen PIR-Ereigniszähler implementieren.
- Doppel-Touch-Reset (touch1+touch2) für beide Zähler gleichzeitig implementieren.
Anschluss & Funktion
Motoren am Board
| Anschluss | Motor | Aufgabe |
|---|---|---|
| S1 | 180°-Servo | Zeiger für Anzahl der PIR-Ereignisse |
| S2 | 180°-Servo | Zeiger für Anzahl der Distanzsprünge |
| S3 | 180°-Servo | Live-Abstandszeiger |
| S4 | 360°-Servo | Kurzer Dreh-Ausschlag bei jedem geloggten Ereignis |
| S5 | 360°-Servo | Dreht gegenläufig zu S4 als zweiter Ausschlag |
| S6 | 180°-Servo | Klappe markiert den bisher höchsten Zählerstand |
| STEPPER | Schrittmotor | Dreht bei jedem PIR-Ereignis ein Stück weiter (Kamera-Schwenk) |
| DC | DC-Motor | Kurze Vibration bei jedem neuen PIR-Ereignis |
Materialliste
- Zwei Halbkreis-Skalen Ø 12 cm (links 0–30, rechts 0–20 Einteilung) für PIR- und Distanz-Zähler
- Kartonstreifen je ca. 10 × 2 cm als Zeiger (2 Stück)
- Kleines Rädchen Ø 3 cm auf Stepper als Ereignis-Drehanzeige
- Filzstift für Zähler-Beschriftung
- Klebeband und Heißkleber
Step-by-Step Tutorial
Zwei Zähler-Skalen aufbauen
Zwei Halbkreis-Skalen (Ø 12 cm) nebeneinander montieren. Linke Skala: PIR-Ereigniszähler für S1. Rechte Skala: Distanzsprung-Zähler für S2. Kleine Rädchen auf Stepper für kumulativen Gesamtzähler. S3 auf separatem Zifferblatt: Live-Abstandszeiger. S4 und S5 drehen kurz gegenläufig bei jedem geloggten Ereignis, S6 markiert per Klappe den bisher höchsten gemeinsamen Zählerstand, der DC-Motor vibriert kurz bei jedem PIR-Treffer.
Check: S1 auf linker Skala (PIR-Ereignisse 0–30). S2 auf rechter Skala (Distanz-Ereignisse 0–20).
Tipp: Linke Skala 0–30 (0 links bei ganz links, 30 rechts). Rechte Skala 0–20. Einfache Halbkreis-Einteilung mit 5er-Markierungen.
PIR- und Distanz-Ereignisse erkennen
Jede Bewegung vor dem Bewegungsmelder erhöht den PIR-Zähler und lässt den Stepper ein Stück weiterdrehen — ein sichtbarer Schritt pro Ereignis. Springt der gemessene Abstand um mehr als eine Handbreit, zählt das als Distanz-Ereignis und erhöht den zweiten Zähler. S3 zeigt daneben ständig den aktuellen Live-Abstand.
Check: Jeder PIR-Trigger erhöht den PIR-Zähler. Distanzsprung > 10 cm erhöht den Distanz-Zähler.
Tipp: Distanzsprung: nur ein Sprung von mehr als 10 cm zwischen zwei Messungen zählt — kleine Messschwankungen werden ignoriert.
Zähler-Zeiger und Reset einrichten
S1 wandert mit jedem PIR-Ereignis ein Stück weiter nach rechts, bis er bei 30 Ereignissen ganz rechts steht. S2 macht dasselbe bis 20 Distanzsprüngen. touch1 + touch2 gleichzeitig gedrückt: beide Zähler springen zurück auf 0 — Reset für eine neue Messperiode.
Check: S1 steigt pro PIR-Ereignis bis maximal 30. S2 steigt pro Distanzsprung bis maximal 20. touch1+touch2: beide auf 0.
Tipp: Beide Zeiger bleiben ganz rechts stehen, sobald ihr jeweiliges Maximum (30 bzw. 20 Ereignisse) erreicht ist.
Leichtgängigkeits-Test ohne Strom
S1, S2, S3 von Hand auf 1000 und 2000 µs: frei? Stepper-Rädchen von Hand drehen: 10 volle Umdrehungen ohne Widerstand? Kabel am Stepper so verlegen dass kein Aufwickeln möglich. Erst dann einschalten.
Check: S1, S2, S3 drehen frei. Stepper-Rädchen dreht leicht ohne Haken.
Tipp: Stepper-Rädchen muss nach vielen Umdrehungen noch frei laufen — kein Kabel aufwickeln!
MODE 2 aktivieren — Logger laufen lassen
Safe-Einbruch → MODE 2. Vor PIR gehen: S1 steigt, Stepper dreht. Warten. Wieder gehen: S1 wieder eins höher. Vor Ultraschall-Sensor: S3 zeigt Live-Abstand, S2 steigt bei Sprüngen. Nach einem Tag: beide Zeiger zeigen gesamte Aktivität.
Check: PIR-Bewegung: S1 und Stepper reagieren sofort. Distanzsprung: S2 steigt. S3 zeigt Live-Abstand.
Tipp: Test: vor PIR gehen → S1 springt einen Schritt, Stepper dreht 50 Schritte. Dann Hand vor Ultraschall-Sensor bewegen → S2 reagiert.
Langzeit-Überwachung einrichten
Logger in Zimmerecke platzieren. PIR zeigt in Raumrichtung. Ultraschall auf Durchgang. Nach Arbeitstag: Display und Zeiger zeigen Bewegungsstatistik. touch1+touch2: Reset für neue Messperiode. Schreibtisch-Statistik: Wie oft war jemand im Raum?
Check: Logger läuft stundenlang stabil. Beide Zähler akkumulieren korrekt über viele Stunden.
Tipp: Der PIR-Zeiger bleibt ab 30 Ereignissen ganz rechts stehen. Für einen belebten Raum mit mehr Aktivität die Skala im Code auf ein höheres Maximum umstellen.
Troubleshooting
- Stepper dreht dauerhaft — PIR scheint ständig aktiv — PIR-Modul auf Haltezeit prüfen. Wenn Haltezeit zu lang (>5s): isButtonPressed() erkennt Rising Edge korrekt, aber PIR sendet lange High-Signal. PIR-Empfindlichkeits-Poti am Modul verringern.
- Distanz-Zähler steigt ohne sichtbare Bewegung — Ultraschall-Sensor hat Messrauschen (±2 cm). Schwellwert > 10 cm ist ausreichend. Wenn trotzdem Fehlauslösungen: Schwellwert auf > 15 erhöhen. Sensor-Ausrichtung prüfen — auf ruhige Wand zeigen für stabilere Messung.
Modifikationen & Sicherheit
- Pro-Tipp: Zeitstempel als Stepper-Schritte nutzen — Stepper.move(millis()/3600000) zeigt Stunden seit letztem PIR-Ereignis.
- Erweiterung: EEPROM-Logging mit Timestamp speichern — Ereignis-Liste nach Neustart abrufbar.
- Sicherheit: PIR-Reichweite auf relevanten Bereich begrenzen (Karton-Blende) — verhindert Fehlauslösungen durch Außenreize.
Wichtige Code-Teile
// PIR-Ereignis zählen (einmalig erfasst, für Stepper wiederverwendet)
bool pirEvent1 = isButtonPressed(RemotePIR, lastPIR1);
if(pirEvent1) pirCount++;
if(pirEvent1) stepper.move(50); // Sichtbarer Schritt pro Ereignis
// Distanzsprung erkennen (>10cm)
bool distEvent1 = (abs((int)distanceCM - (int)lastDist1) > 10 && distanceCM > 0);
if(distEvent1) { distCount++; lastDist1 = distanceCM; }
// Doppel-Touch Reset
if(touch1 && touch2) { pirCount = 0; distCount = 0; }
// Servo-Anzeigen
servocontroller.setServoPulse(1, map(constrain(pirCount, 0, 30), 0, 30, 1000, 2000));
servocontroller.setServoPulse(2, map(constrain(distCount, 0, 20), 0, 20, 1000, 2000));
servocontroller.setServoPulse(3, mapDistanceCMshort); // Live-Abstand
// S6: markiert höchsten kombinierten Zählerstand (Peak)
uint16_t combinedCount = pirCount + distCount;
if(combinedCount > peakCount1) peakCount1 = combinedCount;
servocontroller.setServoPulse(6, map(constrain(peakCount1, 0, 50), 0, 50, 1000, 2000));Ähnliche Projekte
- MODE 1 — LASER TRAP — Eine echte Lichtschranke aus Laser-Pointer und LDR: sobald der Laserstrahl unterbrochen wird, schlägt der Alarm an — S1 hebt die Alarm-Fahne, S2 verriegelt einen Servo-Riegel, der Stepper dreht die Alarm-Fläche und der DC-Motor surrt. Perfekt als Diebstahlsicherung für die Schreibtischschublade oder als Einbruch-Spielzeug.
- MODE 4 — SCANNER — Ein tastender Scan-Turm mit Ultraschall-Sensor: der Stepper dreht den Sensor in kleinen Schüben hin und her wie ein Radar-Scanner. Bei zu nahem Objekt steigt die Alarm-Stufe — S1 zeigt den Abstand, S2 die Warn-Fahne und S3 die Kritisch-Fahne, bei der höchsten Stufe surrt auch der DC-Motor.
- MODE 3 — SAFE COMBO — Ein echtes Kombinationsschloss aus Encoder und drei Ziffern: nur wenn alle drei Encoder-Werte exakt die geheime Kombination treffen (z.B. 5, -3, 7), öffnet S3 den Servo-Riegel. touch1 bestätigt jede Ziffer, touch2 setzt alles zurück — präzises Knacken wie bei einem echten Tresor.