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_CALIBRATION,
STATE_LABYRINTH,
STATE_STOP
};
State state = STATE_CALIBRATION;
void setup() {
// Initialisierung
}
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_CALIBRATION:
actionCalibration();
break;
case STATE_LABYRINTH:
actionLabyrinth();
break;
case STATE_STOP:
actionStop();
break;
}
}
// ...Implementierung der einzelnen Routinen
hello_mbot_programmorganisation.1739645468.txt.gz · Zuletzt geändert: von torsten.roehl
