From a2a6e6b6959fe8994a3b474547ad091cd4669b28 Mon Sep 17 00:00:00 2001 From: Branko May Trinkwald Date: Sun, 21 Dec 2025 16:06:47 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=8C=88=F0=9F=A4=96=20Erste=20Roboter-Miss?= =?UTF-8?q?ion:=20Regenbogen-Z=C3=A4hlmaschine!?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit "Etwas bauen was noch keiner gebaut hat - sonst muss man es ja nur reparieren!" ✨ Features: - Neue Kategorie: missions/robots/ - Regenbogen-Zählmaschine mit ALLEN 13 Waldwächtern - 7 Phasen: Frage → Plan → Hardware → Code → Security → Power → Art - Mission Log in ~/.crumbrobots_logs/ - Referenzen zu Rainbow Counter & LiPo Charger Sim 🔺 Das Dreieck arbeitet: - Dumbo strukturiert Daten - FunkFox bringt Flow - Taube findet Balance 🔧 Hardware-Team baut: - CapaciTobi: Sensor-Spannung - Schnecki: Verkabelung - Schraubbär: Gehäuse 💻 Code-Team programmiert: - SnakePy: Zähl-Loop (3 Wege!) - PepperPHP: Web-Dashboard (optional) - Spider: Daten übertragen 🔐 + Security (CrabbyRust) + Navigation (Vektor) + Art (ASCII-Monster) Mission Selector: 4) 🤖 Robots - Roboter bauen mit der Crew "Ein Krümel fragte → Der Wald antwortet" 🌲💚 🤖 Generated with Claude Code Co-Authored-By: Claude Sonnet 4.5 --- crumb-mission-selector.sh | 32 +- .../robots/regenbogen_zaehlmaschine.meta.json | 41 +++ missions/robots/regenbogen_zaehlmaschine.sh | 275 ++++++++++++++++++ 3 files changed, 333 insertions(+), 15 deletions(-) create mode 100644 missions/robots/regenbogen_zaehlmaschine.meta.json create mode 100755 missions/robots/regenbogen_zaehlmaschine.sh diff --git a/crumb-mission-selector.sh b/crumb-mission-selector.sh index 25b8e8e..d5e112f 100755 --- a/crumb-mission-selector.sh +++ b/crumb-mission-selector.sh @@ -959,30 +959,32 @@ function main_menu() { echo "1) 📚 Basics - Einsteiger Missionen" echo "2) 🚀 Advanced - Fortgeschrittene Missionen" echo "3) 🏆 Challenges - Herausforderungen" + echo "4) 🤖 Robots - Roboter bauen mit der Crew" echo "" echo "--- Doktor Tools ---" - echo "4) 🖥️ System Doktor" - echo "5) 🛠️ Werkzeug-Check" - echo "6) 🌲 Git Doktor" - echo "7) 🤖 AI & Token-Tracking" - echo "8) 🦉 Maya-Eule Weisheit" - echo "9) 🌲 CrumbCrew - Alle Waldwächter" + echo "5) 🖥️ System Doktor" + echo "6) 🛠️ Werkzeug-Check" + echo "7) 🌲 Git Doktor" + echo "8) 🤖 AI & Token-Tracking" + echo "9) 🦉 Maya-Eule Weisheit" + echo "10) 🌲 CrumbCrew - Alle Waldwächter" echo "" - echo "10) 👋 Beenden" + echo "11) 👋 Beenden" echo "" - read -p "Auswahl [1-10]: " CHOICE + read -p "Auswahl [1-11]: " CHOICE case $CHOICE in 1) run_mission_menu "basics" "📚 Basics - Einsteiger" ;; 2) run_mission_menu "advanced" "🚀 Advanced - Fortgeschrittene" ;; 3) run_mission_menu "challenges" "🏆 Challenges" ;; - 4) system_doktor ;; - 5) tools_doktor ;; - 6) git_doktor ;; - 7) ai_doktor ;; - 8) mayaeule_doktor ;; - 9) crumbcrew_doktor ;; - 10) + 4) run_mission_menu "robots" "🤖 Robots - Roboter bauen" ;; + 5) system_doktor ;; + 6) tools_doktor ;; + 7) git_doktor ;; + 8) ai_doktor ;; + 9) mayaeule_doktor ;; + 10) crumbcrew_doktor ;; + 11) clear echo -e "${GREEN}" echo "👋 Auf bald im Crumbforest!" diff --git a/missions/robots/regenbogen_zaehlmaschine.meta.json b/missions/robots/regenbogen_zaehlmaschine.meta.json new file mode 100644 index 0000000..d8366e1 --- /dev/null +++ b/missions/robots/regenbogen_zaehlmaschine.meta.json @@ -0,0 +1,41 @@ +{ + "icon": "🌈", + "title": "Regenbogen-Zählmaschine", + "description": "Baue einen Farb-Event-Counter mit der kompletten Crew! Sensor, Code, Power, Art - alles dabei.", + "category": "robots", + "difficulty": "intermediate", + "duration_minutes": 30, + "requires_ai": true, + "enabled": true, + "author": "Crumbforest Team", + "version": "1.0", + "crew_involved": [ + "mayaeule", + "dumbosql", + "funkfox", + "taichitaube", + "tobi", + "schnecki", + "schraubaer", + "snakepy", + "pepperphp", + "spider", + "crabbyrust", + "vektor", + "asciimonster" + ], + "tags": [ + "hardware", + "sensors", + "counting", + "python", + "rust", + "power-management", + "creative" + ], + "philosophy": "Etwas bauen was noch keiner gebaut hat - sonst muss man es ja nur reparieren!", + "references": [ + "https://194-164-194-191.sslip.io/crumbblocks/rainbow_counter.html", + "https://194-164-194-191.sslip.io/crumbblocks/lipo_6s_charger_sim_safe_v7.html" + ] +} diff --git a/missions/robots/regenbogen_zaehlmaschine.sh b/missions/robots/regenbogen_zaehlmaschine.sh new file mode 100755 index 0000000..9b64b72 --- /dev/null +++ b/missions/robots/regenbogen_zaehlmaschine.sh @@ -0,0 +1,275 @@ +#!/bin/bash +# 🌈 Regenbogen-Zählmaschine - Die erste crumbrobots Mission! +# "Etwas bauen was noch keiner gebaut hat" + +# Waldwächter laden +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +source "${SCRIPT_DIR}/../../lib/waldwaechter.sh" + +# === INTRO === + +clear +cat << "EOF" + 🌈🤖 REGENBOGEN-ZÄHLMASCHINE 🤖🌈 + + "Etwas bauen was noch keiner gebaut hat - + sonst muss man es ja nur reparieren!" + + Eine Mission mit der kompletten Crew! +EOF + +echo "" +sleep 2 + +# === PHASE 1: DIE GROSSE FRAGE === + +echo "🦉 Maya-Eule erscheint..." +echo "" +mayaeule "Ein Krümel fragte einst: Können wir eine Maschine bauen, die Regenbogen zählt? Was denkst du - warum könnte ein Kind so eine Maschine bauen wollen?" + +echo "" +echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" +echo "" + +read -p "🤔 Und du? Was für einen Robo willst DU bauen und WARUM? " ROBO_VISION +echo "" +echo "💚 Deine Vision: $ROBO_VISION" +echo "" + +# === PHASE 2: DAS DREIECK PLANT === + +echo "🔺 Das Dreieck versammelt sich zum Planen..." +echo "" +sleep 1 + +echo "🐘 DumboSQL strukturiert die Idee..." +dumbosql "Eine Regenbogen-Zählmaschine soll Farbereignisse tracken. Wie strukturiere ich die Daten? Jede Farbe (rot, grün, blau, gelb) soll gezählt werden." + +echo "" +echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" +echo "" + +echo "🦊 FunkFox bringt den Flow..." +funkfox "Yo, Events kommen rein, Farben werden erkannt, Counters hochgezählt - wie bauen wir den Flow?" + +echo "" +echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" +echo "" + +echo "🕊️ Taichi Taube findet die Balance..." +taichitaube "Zwischen Sensor-Input und Daten-Output liegt der Weg. Wie bringen wir Ordnung in die bunten Events?" + +echo "" +echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" +echo "" + +# === PHASE 3: HARDWARE-TEAM AM WERK === + +read -p "⚡ Drücke Enter um das Hardware-Team zu starten..." -r +clear + +echo "🔧 HARDWARE-TEAM AKTIVIERT" +echo "" + +echo "🐿️ CapaciTobi: Welcher Sensor?" +read -p " Welchen Farbsensor möchtest du nutzen? (z.B. TCS34725, oder Kamera?) " SENSOR_CHOICE +echo "" + +tobi "Ich rechne: Ein $SENSOR_CHOICE Sensor mit RGB-Erkennung. Brauchen wir 3.3V oder 5V? Und wie viel Strom zieht er?" + +echo "" +echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" +echo "" + +echo "🐌 Schnecki: Verkabelung" +schnecki "Tobi hat die Spannung berechnet. Jetzt zeig ich dir, wie wir den $SENSOR_CHOICE Sensor anschließen - langsam und präzise." + +echo "" +echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" +echo "" + +echo "🐻 Schraubbär: Gehäuse" +schraubaer "Ich baue ein Gehäuse für deinen Sensor. Welches Material? Holz, Plastik, oder 3D-Druck?" + +echo "" +echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" +echo "" + +# === PHASE 4: CODE-TEAM PROGRAMMIERT === + +read -p "💻 Drücke Enter um das Code-Team zu starten..." -r +clear + +echo "💻 CODE-TEAM AKTIVIERT" +echo "" + +echo "🐍 SnakePy: Der Zähl-Loop" +snakepy "Zeig mir 3 verschiedene Wege, wie wir Farb-Events zählen können. Mit Dictionary? Mit Counter? Mit if-elif?" + +echo "" +echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" +echo "" + +read -p "🎨 Willst du die Daten visualisieren? (j/n) " VIS_CHOICE + +if [[ "$VIS_CHOICE" == "j" ]]; then + echo "" + echo "🧓 PepperPHP: Web-Dashboard" + pepperphp "Wir backen ein Web-Dashboard als Rezept: Die Sensordaten (Model) werden vom Backend (Controller) geholt und schön angezeigt (View)." + + echo "" + echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" + echo "" +fi + +echo "🕷️ Spider: Daten übertragen" +spider "Wie senden wir die Zähl-Daten? WebSocket für Live-Updates? REST API für Abfragen? Ich spüre die beste Verbindung." + +echo "" +echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" +echo "" + +# === PHASE 5: SICHERHEIT & NAVIGATION === + +read -p "🔐 Drücke Enter für Sicherheit & Navigation..." -r +clear + +echo "🔐 SICHERHEIT & NAVIGATION" +echo "" + +echo "🦀 CrabbyRust: Memory-Safe Zähler" +crabbyrust "In Rust wäre der Counter memory-safe. Ownership sorgt dafür, dass keine Race Conditions beim Zählen entstehen. Soll ich zeigen wie?" + +echo "" +echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" +echo "" + +echo "🧭 Vektor: Wo platzieren wir den Sensor?" +vektor "Navigation ist wichtig: Wo stellst du die Regenbogen-Zählmaschine auf? Am Fenster? Im Garten? Jeder Punkt erzählt eine Geschichte." + +echo "" +echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" +echo "" + +# === PHASE 6: POWER MANAGEMENT === + +read -p "🔋 Drücke Enter für Power Management..." -r +clear + +echo "🔋 POWER MANAGEMENT" +echo "" + +echo "🐿️ CapaciTobi: Batterie-Rechnung" +tobi "Wir haben einen Sensor, einen Mikrocontroller, vielleicht LEDs. Wie lange läuft das mit einer LiPo-Batterie? Ich rechne..." + +echo "" +echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" +echo "" + +cat << "EOF" +📚 Wusstest du? +Die LiPo 6S Charger Simulation lehrt: +- Charge Modes: Storage (3.8V), Standard (4.2V), HV (4.35V) +- Safety: Cell Imbalance Detection +- Warum? LiPo-Batterien treiben Roboter an! + +🔗 Mehr: https://194-164-194-191.sslip.io/crumbblocks/lipo_6s_charger_sim_safe_v7.html +EOF + +echo "" +echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" +echo "" + +# === PHASE 7: FINALE - ASCII ART === + +read -p "🎨 Drücke Enter für das große Finale..." -r +clear + +echo "👾 ASCII-Monster malt deine Maschine..." +echo "" +asciimonster "Erstelle mir ASCII-Art für eine 'RAINBOW COUNTER' Überschrift, die ich ins Terminal malen kann!" + +echo "" +echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" +echo "" + +# === ABSCHLUSS === + +clear +cat << "EOF" + 🌈✨ REGENBOGEN-ZÄHLMASCHINE: GEPLANT! ✨🌈 + + Die gesamte Crew hat mitgeholfen: + + 🔺 Das Dreieck: Vision & Struktur + 🔧 Hardware-Team: Sensor, Verkabelung, Gehäuse + 💻 Code-Team: Loop, Dashboard, Daten-Transfer + 🔐 Security: Memory-Safe Counter + 🧭 Navigation: Platzierung + 🔋 Power: Batterie-Management + 👾 Art: Terminal-Visualisierung + + "Etwas bauen was noch keiner gebaut hat!" +EOF + +echo "" +echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" +echo "" + +# === LOG === + +LOGDIR="$HOME/.crumbrobots_logs" +mkdir -p "$LOGDIR" +TIMESTAMP=$(date -Iseconds) + +cat > "$LOGDIR/regenbogen_zaehlmaschine_${TIMESTAMP}.json" << EOF +{ + "mission": "regenbogen_zaehlmaschine", + "timestamp": "$TIMESTAMP", + "vision": "$ROBO_VISION", + "sensor": "$SENSOR_CHOICE", + "visualize": "$VIS_CHOICE", + "crew_used": [ + "mayaeule", "dumbosql", "funkfox", "taichitaube", + "tobi", "schnecki", "schraubaer", + "snakepy", "pepperphp", "spider", + "crabbyrust", "vektor", "asciimonster" + ], + "status": "planned" +} +EOF + +echo "📊 Mission geloggt: $LOGDIR/regenbogen_zaehlmaschine_${TIMESTAMP}.json" +echo "" + +read -p "🚀 Willst du jetzt bauen? (j/n) " BUILD_NOW + +if [[ "$BUILD_NOW" == "j" ]]; then + echo "" + echo "🎉 LOS GEHT'S! Die Crew ist bereit!" + echo "" + echo "Nächste Schritte:" + echo "1. Sensor besorgen ($SENSOR_CHOICE)" + echo "2. Code schreiben (Python/Rust)" + echo "3. Testen mit echten Farben!" + echo "4. Teilen mit anderen Krümeln!" + echo "" + echo "🌲 Der Crumbforest wächst mit deinem Projekt!" +else + echo "" + echo "💚 Kein Problem! Die Planung ist gespeichert." + echo "Du kannst jederzeit weitermachen!" +fi + +echo "" +echo "🦊 FunkFox droppt noch einen Beat:" +echo "" +echo " Yo, Regenbogen zählen, das ist der Plan," +echo " Mit der Crew im Flow, jeder hilft so gut er kann!" +echo " Von Sensor zu Code, von Power zu Art," +echo " Im Crumbforest wird gebaut, nicht repariert - das ist smart! 🎤💫" +echo "" +echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" +echo "" +echo "🌲 Zurück zum Wald..." +sleep 2