Posted On 2026-10-19

Der Handshake – Verbindung herstellen und Motoren starten

Roland Strohmer 0 comments
Die Silizium-Schmiede >> Botball , Praxis , Theorie >> Der Handshake – Verbindung herstellen und Motoren starten

Der KIPR-Controller liegt vor euch auf dem Tisch. Er hat Strom, sein Bildschirm leuchtet, aber er ist im Moment noch wie ein tief schlafendes Gehirn. Er weiß nichts von der Welt, hat keine Ziele und keine Ahnung, was er tun soll.

Heute ändern wir das. Wir werden uns kabellos in dieses Gehirn einhacken, ihm unsere eigenen Gedanken einpflanzen und den allerersten, wichtigsten Befehl der Robotik ausführen: Losfahren und rechtzeitig bremsen.

Ein Roboter, der nicht losfährt, ist ein teurer Briefbeschwerer. Ein Roboter, der nicht bremst, ist eine Gefahr für die Arena! Lasst uns die Kontrolle übernehmen.

1. Der Handshake: Wie wir uns verbinden 🤝

Vergesst lästige USB-Kabel, die sich ständig um die Reifen eures Roboters wickeln. Der KIPR-Controller (egal ob Wallaby oder Wombat) ist ein vollwertiger kleiner Computer mit einem eigenen WLAN-Router an Bord!

Das Programmieren funktioniert komplett drahtlos und direkt in eurem normalen Internet-Browser (Chrome, Firefox, Safari). So stellt ihr die Verbindung her:

  1. Controller einschalten: Drückt den Power-Knopf. Wartet, bis das Betriebssystem hochgefahren ist und der Bildschirm das Menü zeigt.

  2. WLAN suchen: Klickt auf eurem Laptop auf das WLAN-Symbol. Sucht nach einem Netzwerk, das so ähnlich heißt wie Wombat-1234 oder Wallaby-5678 (die Zahl ist die Seriennummer eures Controllers). Verbindet euch damit. (Keine Panik, wenn euer Laptop sagt „Kein Internet“ – der Controller ist ja kein Router ins echte Internet, sondern nur zu sich selbst!).

  3. Die Matrix betreten: Öffnet euren Webbrowser. Tippt in die Adresszeile exakt diese IP-Adresse ein: 192.168.125.1:8888

  4. Willkommen in der IDE: Bäm! Ihr seht jetzt die sogenannte KISS IDE (Integrated Development Environment). Das ist eure Kommandozentrale. Hier schreibt ihr euren Code, organisiert Dateien und startet Programme direkt auf dem Roboter.

2. Die Mission: „Hallo Motor“ 🏁

Erstellt in der IDE ein neues C-Projekt und nennt es „erste_fahrt“. Wir schließen jetzt einen einfachen Gleichstrommotor an den Port 0 (die Motor-Anschlüsse sind auf dem Controller beschriftet) an.

Unser Ziel: Der Motor soll für genau 2 Sekunden mit 100 % Leistung drehen und dann stoppen.

So sieht der Code dafür aus:

#include <kipr/wombat.h>

int main() {
    
    printf("System online. Starte Motor...\n");
    
    // 1. Motor an Port 0 einschalten (100% Leistung)
    motor(0, 100);
    
    // 2. Wartezeit (Die Zeit verstreichen lassen)
    msleep(2000);
    
    // 3. Alles ausschalten (Sicherheitsstopp)
    ao();
    
    printf("Mission erfolgreich. Roboter gestoppt.\n");
    
    return 0;
}

3. Code-Analyse: Warum die Maschine Zeit braucht ⏱️

Lasst uns den Code Zeile für Zeile auseinandernehmen, denn hier versteckt sich der absolute Kern der Autonomie:

  • #include <kipr/wombat.h>: Das ist unser Wörterbuch. Damit sagen wir dem C-Programm, dass es die speziellen Vokabeln für den KIPR-Controller (wie motor oder ao) laden soll.

  • motor(0, 100);: Dieser Befehl braucht zwei Argumente. Das erste ist der Port (Wo steckt das Kabel? -> Port 0). Das zweite ist die Geschwindigkeit (-100 bis 100 Prozent).

  • ao();: Steht für All Off (Alles aus). Das ist die Notbremse. Es schaltet sofort alle Motoren ab.

Das große Geheimnis: Warum brauchen wir msleep()? Stellt euch vor, wir lassen msleep(2000); weg und schreiben nur: motor(0, 100); ao();

Was würde passieren? Gar nichts. Der Prozessor des KIPR-Controllers rechnet so unfassbar schnell (Millionen Befehle pro Sekunde), dass er den Motor einschaltet und in der allergleichen Mikrosekunde den Befehl zum Ausschalten hinterherschiebt. Der Motor hat physikalisch nicht einmal die Zeit, überhaupt anzulaufen!

Der Befehl msleep(2000); (milli-sleep) sagt dem Gehirn: „Lege dich für 2000 Millisekunden (also 2 Sekunden) schlafen und mache exakt gar nichts.“ Weil der Controller schläft, bleibt der Strom am Motor-Port auf dem letzten Stand (nämlich 100 % AN). Der Motor dreht sich. Erst nach den 2 Sekunden wacht das Gehirn wieder auf, liest die nächste Zeile (ao();) und schaltet den Strom ab.

 

4. Eure Challenge für die Werkstatt 🛠️

Ihr habt den Code auf den Controller geflasht (übertragen) und auf „Run“ geklickt? Der Motor hat gesurrt und brav gestoppt? Großartig! Ihr seid offiziell Roboter-Programmierer.

Aber ein Roboter mit nur einem Rad fährt bestenfalls im Kreis.

Eure Aufgabe für heute:

  1. Schnappt euch einen zweiten Motor und schließt ihn an Port 3 an.

  2. Verändert euren C-Code so, dass beide Motoren gleichzeitig anspringen.

  3. Lasst den Roboter für exakt 4 Sekunden geradeaus fahren und dann stoppen.

  4. Bonus-Level: Schafft ihr es, dass der Roboter danach für 2 Sekunden rückwärts fährt? (Tipp: Schaut euch das Vorzeichen bei der Geschwindigkeit im Motor-Befehl an! Was passiert bei -100?)

  5. Versucht sanft zu beschleunigen und zu bremsen. Wir werden künftig alle ruckartigen Bewegungen vermeiden.

Baut eure Reifen an, stellt den Roboter auf den Boden und drückt den Startknopf. Die Arena wartet!

Schreibe einen Kommentar

Related Post

Wie GPS funktioniert – Ein Tanz mit Lichtgeschwindigkeit und Einsteins Relativität

Egal ob ihr einen E-Scooter sucht, euch auf dem Weg zum Festival navigieren lasst oder…

Das Breadboard – Deine elektronische Spielwiese

Wenn Ingenieure eine neue Idee haben, greifen sie nicht sofort zum heißen Lötkolben und schmelzen…

Der Druck, die Flut und die Bremse – Das Ohmsche Gesetz

Wir haben bereits gelernt, dass Strom eigentlich nur ein gewaltiger "Moshpit" aus Milliarden von Elektronen…