hello_mbot_programmorganisation
Dies ist eine alte Version des Dokuments!
Hello mBot Programmorganisation
Eine professionelle Programmstruktur für den Arduino (mBot) sollte modular, erweiterbar und gut wartbar sein. Ich verwende hier eine Finite-State-Machine (FSM), um verschiedene Abläufe sauber steuern zu können. Die Steuerung erfolgt hier mit Hilfe der Infrarot-Fernbedienung. Alternativ kann man natürlich auch Bluetooth verwenden. Dies würde auch komplexere Abläufe ermöglichen, da man beispielsweise einen Rechner mit einem Python-Programm als Steuerung verwenden könnte.
Vorteile einer geordneten Programmstruktur:
- Modularität: Jeder Modus ist in einer eigenen Funktion gekapselt.
- Erweiterbarkeit: Neue Modi oder Befehle können problemlos hinzugefügt werden.
- Wartbarkeit: Durch die klare Zustandsaufteilung ist der Code auch bei Änderungen leicht nachvollziehbar.
- Flexibilität: Unterschiedliche Abläufe (wie Kalibrierung, Labyrinth oder Stopp) können unabhängig voneinander optimiert und getestet werden.
ABSCHNITT SCHREIBEN
enum State { STATE_IDLE, STATE_CALIBRATION, STATE_LABYRINTH, STATE_STOP }; State state = STATE_IDLE; void setup() { // Initialisierung z. B. von IR-Empfänger, Serial, etc. } void loop() { byte cmd = read(); // Funktion, die IR-Befehle einliest // step: state - Befehl verarbeiten und ggf. Zustand wechseln currentState = decode(cmd); // step: action switch (state) { case STATE_IDLE: idleRoutine(); break; case STATE_CALIBRATION: calibrationRoutine(); break; case STATE_LABYRINTH: labyrinthRoutine(); break; case STATE_STOP: stopRoutine(); break; } } // Implementierung der einzelnen Routinen
hello_mbot_programmorganisation.1739645318.txt.gz · Zuletzt geändert: 2025/02/15 18:48 von torsten.roehl