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

AnschlussMotorAufgabe
S1180°-ServoZufalls-Ziel 1
S2180°-ServoZufalls-Ziel 2
S3180°-ServoZufalls-Ziel 3
S4360°-ServoSeltenes Zufalls-Ziel
S5360°-ServoSeltenes Zufalls-Ziel
S6180°-ServoZeigt kurz an, wenn ein seltenes Ziel getroffen wurde
STEPPERSchrittmotorZufalls-Ziel: kurzer Ruck vor/zurück
DCDC-MotorZufalls-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

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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.