MODE 4 — CHAOS
Easy · 30 min · Fast kostenlos
Ziel & Anwendung
Ein völlig unvorhersehbarer Timer: zufällige Aktuatoren (S1, S2, S3, DC-Motor, Stepper oder — selten — S4/S5) werden in zufälligen Abständen (0,5–4 Sekunden) für zufällige Dauer (200–1500 ms) aktiviert. Niemand weiß was als nächstes passiert — ideal als Haustier-Überraschungsbox oder interaktives Kunstobjekt.
- Vollständig randomisierten Timer mit zufälliger Aktuator-Auswahl, Dauer und Pause aufbauen.
- Sieben Ausgabe-Kanäle (S1, S2, S3, DC, Stepper, selten S4/S5) zufällig rotieren ohne Wiederholung.
- Countdown bis zur nächsten Aktion als Display-Anzeige visualisieren.
Anschluss & Funktion
Motoren am Board
| Anschluss | Motor | Aufgabe |
|---|---|---|
| S1 | 180°-Servo | Zufalls-Ziel 1 |
| S2 | 180°-Servo | Zufalls-Ziel 2 |
| S3 | 180°-Servo | Zufalls-Ziel 3 |
| S4 | 360°-Servo | Seltenes Zufalls-Ziel |
| S5 | 360°-Servo | Seltenes Zufalls-Ziel |
| S6 | 180°-Servo | Zeigt kurz an, wenn ein seltenes Ziel getroffen wurde |
| STEPPER | Schrittmotor | Zufalls-Ziel: kurzer Ruck vor/zurück |
| DC | DC-Motor | Zufalls-Ziel: kurzer Drehzahlstoß |
Materialliste
- Karton-Gehäuse ca. 15 × 15 cm als 'mysteriöse Box'
- Kleine Klappen oder Fähnchen an S1, S2, S3 für sichtbare Zuckungen
- Propeller oder Rädchen an DC-Motor für sichtbare Zufalls-Aktivierung
- Optionale Dekoration (Aufkleber, Farbe) für das Chaos-Box-Look
- Klebeband und Heißkleber
Step-by-Step Tutorial
Chaos-Box aufbauen
Karton-Gehäuse (15 × 15 cm). Öffnungen oder Schlitze für S1, S2, S3 (Klappen/Fähnchen), DC-Motor (Propeller), Stepper (Rädchen) sowie S4/S5 (kleine Räder für die seltenen Zufalls-Treffer) und S6 (winzige Statusklappe). Alle Öffnungen so gestalten dass man sieht was sich bewegt aber nicht vorhersagen kann was als nächstes.
Check: Alle Aktuatoren im Gehäuse — jeder sichtbar aktivierbar von außen
Tipp: Alle Servo-Klappen, DC-Propeller und Stepper-Rädchen müssen durch Öffnungen oder Schlitze von außen sichtbar sein — Überraschungseffekt lebt vom Sehen.
Servo-Klappen und -Fähnchen montieren
Jeder Servo (S1/S2/S3) mit Karton-Fähnchen auf Horn. Chaos-Zuckung: zufällige Pulsweite (random(1000, 2000)). Nach Aktivierung: Servo auf 1500 µs zurück. DC-Motor mit Propeller (3 Kartonblätter à 4 cm). Stepper-Rädchen sichtbar durch Schlitz.
Check: S1, S2, S3 haben je kleine Karton-Fähnchen die bei 2000 µs zucken
Tipp: Kleine Fähnchen (4 × 2 cm) auf jedem Horn — Zuckung bei 2000 µs soll kurz und überraschend wirken, dann zurück auf 1500 µs.
Chaos-Logik verstehen
Chaos-Ablauf: neue Aktion alle 0,5–4 Sekunden zufällig geplant. Bei Auslösung: eine von sieben Aktionen ausführen (S1, S2, S3, DC, Stepper oder — seltener — S4/S5), alle anderen zurücksetzen. Dauer: 200–1500 ms zufällig. Bei einem S4/S5-Treffer klappt S6 kurz als kleine Statusanzeige aus. Buzzer zufällig: 50 % Chance auf kurzen Piep.
Check: Neue Aktion alle 500–4000 ms zufällig. Aktions-Dauer 200–1500 ms zufällig. S4/S5 sind seltener dran als S1–S3.
Tipp: Nach jeder Aktion: alle nicht-ausgewählten Servos auf 1500 µs zurücksetzen. Sieben mögliche Ziele — S4/S5 sind darunter nur zwei von sieben, wirken also besonders überraschend.
Leichtgängigkeits-Test ohne Strom
Alle Servos von Hand auf 1000, 1500 und 2000 µs drehen: frei? Propeller von Hand drehen: kein Kontakt mit Gehäuse? Stepper-Rädchen drehen: frei? S4/S5-Räder und S6-Klappe ebenfalls von Hand prüfen. Erst dann einschalten.
Check: Alle Klappen, Propeller und Stepper-Rädchen drehen/klappen frei ohne Blockade.
Tipp: Besonders DC-Motor-Propeller prüfen: dreht er frei ohne Gehäuse-Kontakt? Propeller-Blätter dürfen nicht an Schlitz-Kanten schaben.
MODE 4 aktivieren — Chaos beobachten
Timer → MODE 4. Sofort beginnen: zufällige Aktionen. S1 zuckt. Pause. Propeller dreht kurz. Pause. S3 klappt. Usw. Display zeigt Next-Countdown. Perfekt als Hintergrund-Objekt oder Haustier-Stimulations-Box.
Check: Zufällige Aktionen erscheinen unerwartet. Display zeigt Next-Countdown und aktives Ziel.
Tipp: Display 'Next: 2.3s' zeigt wie lange bis zur nächsten Aktion. 'Out: 3' zeigt welcher Kanal zuletzt aktiv war.
Chaos-Intensität anpassen
Code-Parameter anpassen: chaosNext für Pause-Dauer, chaosDur für Aktions-Dauer. Haustier-Spielzeug: kurze schnelle Aktionen (200 ms Dauer, 500–1500 ms Pause). Kunst-Objekt: lange, seltene Aktionen (1000 ms Dauer, 5000–20000 ms Pause).
Check: Abstände und Dauer passen zur gewünschten Nutzung (langsam für Dekoration, schnell für Spiel)
Tipp: Für ruhige Dekoration: random(3000, 15000) als Pause. Für aktives Spiel: random(200, 1000). Dauer entsprechend anpassen.
Troubleshooting
- Chaos-Aktionen erscheinen immer zu denselben Zeitpunkten — random()-Funktion ist ausreichend zufällig. Beobachtungsfehler: menschliche Mustererkennung findet überall Muster. Tatsächlich ist jede Aktion unabhängig.
- DC-Motor läuft dauerhaft ohne Pause — setMotorspeed(0) im Nicht-DC-Pfad: if(chaosTarget != 3) setMotorspeed(0) muss nach jeder Aktion ausgeführt werden. Prüfen ob dieser Reset-Code korrekt implementiert ist.
Modifikationen & Sicherheit
- Pro-Tipp: Encoder-Button als Pause-Taste — Chaos einfrieren und fortsetzen für interaktive Nutzung.
- Erweiterung: PIR-Sensor als Trigger — Chaos nur wenn jemand im Raum ist, sonst Energiesparmodus.
- Sicherheit: DC-Motor-Propeller mit Karton-Gitter sichern bei Nutzung als Haustier-Spielzeug — Pfoten-Schutz.
Wichtige Code-Teile
// Zufällige Chaos-Aktion planen
if(!chaosOn && millis() > chaosNext) {
chaosOn = true;
chaosDur = random(200, 1500); // Dauer: 200–1500 ms
chaosTarget = random(0, 7); // Ziel: 0=S1,1=S2,2=S3,3=DC,4=Stepper,5=S4,6=S5
chaosNext = millis() + random(500, 4000); // Pause bis nächste Aktion
}
if(chaosOn && millis() > chaosNext - chaosDur) {
bool rareTarget = (chaosTarget == 5 || chaosTarget == 6);
switch(chaosTarget) {
case 0: servocontroller.setServoPulse(1, random(1000, 2000)); break;
case 1: servocontroller.setServoPulse(2, random(1000, 2000)); break;
case 2: servocontroller.setServoPulse(3, random(1000, 2000)); break;
case 3: setMotorspeed(random(30, 80)); break;
case 4: stepper.move(random(-300, 300)); break;
case 5: servocontroller.setServoPulse(4, random(1300, 1700)); break;
case 6: servocontroller.setServoPulse(5, random(1300, 1700)); break;
}
Buzzer.setValue(random(0, 2) ? 60 : 0);
chaosOn = false;
// Alle anderen auf neutral zurücksetzen, S6 zeigt seltenen Treffer kurz an
if(chaosTarget != 0) servocontroller.setServoPulse(1, 1500);
if(chaosTarget != 1) servocontroller.setServoPulse(2, 1500);
if(rareTarget) servocontroller.setServoPulse(6, 2000); else servocontroller.setServoPulse(6, 1000);
}Ähnliche Projekte
- MODE 3 — PERIODIC — Alle Aktuatoren bewegen sich in einem programmierbaren Rhythmus: Encoder stellt das Intervall (1–60 Sekunden), JoystickButton verlängert die Aktiv-Phase. Fünf rotierende Phasen wechseln sich ab — mal S1/S2, mal S1/S3, mal Stepper/DC-Motor, mal S4, mal S5. Der Rest setzt alle Servos in Mittelposition zurück.
- MODE 5 — COUNTER — Ein mechanischer Ereigniszähler: PIR-Sensor und kapazitiver Touch zählen jede Bewegung oder Berührung. S1 zeigt den Fortschritt als Zeiger, S2 klappt als Zielflagge aus wenn der einstellbare Zielwert erreicht ist. Perfekt als Fitness-Wiederholungszähler oder automatische Besucher-Zählung.
- MODE 8 — SCARY BOT — Ein unheimlicher Zufalls-Roboter: alle Servos ruhen in Neutral-Position bis eine zufällige Wartezeit (5–30 Sekunden) abläuft — dann zuckt einer der Servos oder der DC-Motor unerwartet auf. Perfekt als Grusel-Requisite, interaktive Kunstinstallation oder als Überraschungs-Objekt auf dem Schreibtisch.