MODE 7 — ANGER

Easy · 30 min · Fast kostenlos

Ziel & Anwendung

Dieser Roboter hasst es berührt zu werden! Jede Berührung oder heftige Erschütterung erhöht seinen Zorn-Level — je wütender er wird, desto hektischer und aggressiver werden seine Bewegungen. Lass ihn in Ruhe und er beruhigt sich langsam wieder. Ein lebendiges Chaos-Wesen das auf Stress mit Stress antwortet.

  • Dynamischer Zorn-Level baut sich durch Berührung oder Erschütterung auf und baut sich von allein wieder ab
  • Zufällige Servo-Ausschläge, die mit steigendem Zorn immer heftiger werden
  • Vibrations-Motor und Signalton spiegeln den aktuellen Zorn-Zustand direkt wider

Anschluss & Funktion

Motoren am Board

AnschlussMotorAufgabe
S1180°-ServoLinker Arm, zuckt proportional zum Zorn-Level
S2180°-ServoRechter Arm, zuckt proportional zum Zorn-Level
S3180°-ServoKopf, zuckt proportional zum Zorn-Level
S4360°-ServoHüft-Zittern links
S5360°-ServoHüft-Zittern rechts
STEPPERSchrittmotorZappelt zufällig mit steigendem Zorn-Level
DCDC-MotorVibration, Intensität folgt dem Zorn-Level

Materialliste

  • Kartonbox (ca. 15×12 cm) als Roboter-Körper mit aufgemaltem wütendem Gesicht
  • Vier Kartonstreifen (je 6 cm) als Roboter-Arme und -Antennen
  • Alufolie als Metall-Optik auf dem Gehäuse
  • Klebeband

Step-by-Step Tutorial

  1. Wütenden Roboter-Körper aufbauen

    Baue den Roboter-Körper aus einer Kartonbox. Zeichne ein wütendes Gesicht auf die Vorderseite. Bekleide mit Alufolie für Metall-Look. Befestige den linken und rechten Arm-Servo an den Seiten: Plastik-Servo-Hörner aufschrauben, Karton-Arme (6 cm) flächig drauf. Den Kopf-Servo oben montieren: Horn aufschrauben, kleine Karton-Kopfplatte mit aufgemalten Augen drauf. Schwerpunkt: Steine in die Box legen, damit der Roboter trotz wilder Bewegungen nicht umfällt.

    Check: Linker und rechter Arm schwingen frei — der Kopf dreht sich seitlich — Roboter steht stabil

    Tipp: Wütendes Gesicht direkt auf die Kartonbox zeichnen — V-förmige Augenbrauen nach innen = wütend

  2. Zorn-Level-System einrichten

    Jede Berührung der Sensorflächen oder eine spürbare Erschütterung lässt den Zorn-Level ansteigen. In jedem Moment ohne neuen Anlass sinkt der Level ein kleines Stück. Unter einer gewissen Schwelle bleibt der Roboter ruhig. Ab dieser Schwelle richten sich alle Bewegungen nach der Stärke des Zorns — bei maximalem Level schlägt alles mit voller Wucht aus.

    Check: Berührungsfläche antippen: der Zorn-Level steigt sichtbar (Servos werden hektischer). Loslassen: der Level sinkt langsam wieder

    Tipp: Jede Berührung oder Erschütterung lässt den Zorn-Level springen — ohne neuen Anlass kühlt er sich langsam von allein wieder ab

  3. Zufällige Bewegungen proportional zum Zorn einrichten

    Arme und Kopf springen in kurzen Abständen auf zufällige Positionen, deren Ausschlag mit dem Zorn-Level wächst. Die Aktualisierung erfolgt bewusst nicht zu häufig, das schont die Servos. Die Hüft-Zitterer links und rechts schlagen proportional zum Zorn-Level gegenläufig aus. Der Vibrations-Motor läuft mit einer Geschwindigkeit, die direkt dem Zorn-Level entspricht. Ab mittlerem Zorn ertönt ein wütend pochender Warnton, bei Maximum ein durchgehender Alarmton — der Roboter rastet aus!

    Check: Niedriger Zorn-Level: leichtes Zucken. Mittlerer Level: wilde Ausschläge. Maximaler Level: totales Chaos

    Tipp: Der Zufalls-Ausschlag wächst direkt mit dem Zorn-Level mit

  4. Leichtgängigkeitstest und Sturz-Sicherheit

    Beide Arme manuell gleichzeitig ganz zur Seite drehen: kippt die Box? Wenn ja, mehr Gewicht einlegen. Kopf manuell durch den vollen Bewegungsbereich führen: frei? Beide Hüft-Zitterer manuell: frei beweglich? Roboter auf Tisch stellen: stabiler Stand? Erst manuell prüfen, ob bei maximaler Auslenkung kein Umkippen möglich ist. Erst danach Strom einschalten — bei Höchst-Level ist der Roboter wirklich chaotisch!

    Check: Alle Servo-Arme frei — Roboter kippt nicht, wenn beide Arme gleichzeitig in Extremposition stehen

    Tipp: Bei den zufälligen Bewegungen können alle Servos gleichzeitig auf dieselbe Seite schlagen — die Basis muss das abfangen

  5. Stress-Test: Roboter provozieren und beruhigen

    Strom einschalten. Roboter steht ruhig da. Berührungsfläche dreimal schnell antippen: der Zorn-Level springt hoch — leichtes Zucken beginnt. Weiter antippen: die Ausschläge werden zunehmend hektischer. Am Maximum: totales Chaos, Vibrations-Motor auf voller Kraft, durchgehender Alarmton. Dann Hände weg: der Roboter beruhigt sich innerhalb weniger Sekunden. Heftiges Schütteln löst ebenfalls Wut aus. Nicht ärgern, was man nicht bändigen kann!

    Check: Mehrfaches Antippen dreht den Roboter auf Maximal-Zorn. Nach kurzer Ruhe beruhigt er sich wieder vollständig

    Tipp: Der Abbau geht recht zügig — nach wenigen Sekunden Ruhe ist der Roboter wieder entspannt

Troubleshooting

  • Roboter beruhigt sich nicht — Prüfen, ob der Zorn-Level wirklich durchgehend absinkt, nicht nur bei Berührungs-Ereignissen
  • Servos zucken zu langsam (träge Reaktion) — Aktualisierungs-Takt der Zuck-Bewegung verkürzen — häufigere Updates wirken nervöser und aggressiver
  • Roboter kippt bei maximalem Zorn-Level um — Ausschlag der Arm-Servos reduzieren — oder Basis mit mehr Gewicht beschweren

Modifikationen & Sicherheit

  • Pro-Tipp: Abbaurate auf 0.1 reduzieren — Roboter merkt sich seinen Zorn viel länger (nachtragend!)
  • Pro-Tipp: JoystickButton als 'Beruhigungstaste' — angerLvl sofort auf 0 für Friedens-Modus

Wichtige Code-Teile

// Zorn-Aufbau durch touch oder Erschütterung
float currentAcc = sqrt(XAcceleration * XAcceleration + YAcceleration * YAcceleration);
if(touch1 || touch2 || currentAcc > 3.0f) angerLvl += 5.0f;
angerLvl = constrain(angerLvl - 0.5f, 0.0f, 100.0f);

bool isAngry = (angerLvl > 30.0f);
float intensity = angerLvl / 100.0f;

// Zufällige Servo-Ausschläge proportional zum Zorn
if(isAngry && millis() - lastShake > 150) {
    servocontroller.setServoPulse(1, 1500 + (int)(random(-500, 500) * intensity));
    servocontroller.setServoPulse(2, 1500 + (int)(random(-500, 500) * intensity));
    servocontroller.setServoPulse(3, 1500 + (int)(random(-300, 300) * intensity));
    lastShake = millis();
} else if(!isAngry) {
    servocontroller.setServoPulse(1, 1500);
    servocontroller.setServoPulse(2, 1500);
    servocontroller.setServoPulse(3, 1500);
}

// S4/S5: Hüft-Zittern
servocontroller.setServoPulse(4, 1500 + (int)(intensity * 400));
servocontroller.setServoPulse(5, 1500 - (int)(intensity * 400));

// DC und Buzzer
setMotorspeed((int)angerLvl);
if(angerLvl > 90)      Buzzer.setMode(LONG_BLINK);
else if(angerLvl > 60) Buzzer.setMode(HEARTBEAT);
else                   Buzzer.setValue(0);
stepper.move((int)(random(-50, 50) * intensity));
stepper.run();

Ähnliche Projekte

  • MODE 1 — CLOWN WAVE — Ein Karton-Clown, der einfach nur freundlich winkt! Neige den ProtoPeaks-Sender sanft zur Seite und die Hand des Clowns folgt weich mit — kein Ruckeln, alles fließend. Der Joystick spreizt zusätzlich die Finger, und sobald die Hand in Bewegung ist, flattert ein kleiner Ärmel mit.
  • MODE 5 — MASK — Die Maske lebt! Ein Licht-Sensor erkennt, ob Licht vorhanden ist — im Dunkeln schließen sich die Augen (Blinzeln!), im Hellen öffnen sie sich weit. Eine Berührungsfläche lässt den Mund sprechen, eine zweite lässt die Maske finster dreinschauen. Die perfekte Requisite für Theater, Halloween oder einfach um Gäste zu verstören.