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
Grundstrukur
enum State { STATE_CALIBRATION, STATE_LABYRINTH, STATE_STOP }; State state = STATE_CALIBRATION; void setup() { // Initialisierung } void loop() { // step: command byte cmd = read(); // Funktion, die IR-Befehle einliest // step: state - Befehlsverarbeitungund ggf. Zustand wechseln currentState = decode(cmd); // step: action switch (state) { case STATE_CALIBRATION: actionCalibration(); break; case STATE_LABYRINTH: actionLabyrinth(); break; case STATE_STOP: actionStop(); break; } } // ...Implementierung der einzelnen Routinen
hello_mbot_programmorganisation.1739645567.txt.gz · Zuletzt geändert: 2025/02/15 18:52 von torsten.roehl