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
| Anschluss | Motor | Aufgabe |
|---|---|---|
| S1 | 180°-Servo | Linker Arm, zuckt proportional zum Zorn-Level |
| S2 | 180°-Servo | Rechter Arm, zuckt proportional zum Zorn-Level |
| S3 | 180°-Servo | Kopf, zuckt proportional zum Zorn-Level |
| S4 | 360°-Servo | Hüft-Zittern links |
| S5 | 360°-Servo | Hüft-Zittern rechts |
| STEPPER | Schrittmotor | Zappelt zufällig mit steigendem Zorn-Level |
| DC | DC-Motor | Vibration, 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
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
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
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
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
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.