hello_mbot_kalibrierung
Dies ist eine alte Version des Dokuments!
Inhaltsverzeichnis
Hello mBot Kalibrierung
Abschnitt entsteht gerade!
Dieser Abschnitt zeigt, wie der mBot kalibriert werden kann. Grundsätzlich können alle Motoren oder Sensoren kalibriert werden. Ich stelle zwei Varianten vor, wie der mBot kalibriert werden kann (er besitzt keine Encoder), um 90-Grad-Drehungen durchzuführen.
Voraussetzungen:
- Der Abschnitt Hello mBot Blockierung sollte bekannt sein
- Der Abschnitt Hello mBot Programmorganisation sollte bekannt sein.
erste (einfache) Variante
Dieses Programm ermöglicht eine 90-Grad-Drehung des mBot.
Die Drehung erfolgt zeitgesteuert, wobei die Dauer (turn_time)
für eine präzise Kalibrierung angepasst werden kann.
Funktionsweise
- Der mBot führt eine Drehbewegung für die Dauer von
turn_time
aus. - Nach Ablauf der Zeit stoppt die Bewegung um dann alle 5 Sekunden wiederholt zu werden.
- Die Drehzeit bestimmt, wie weit sich der mBot dreht.
Kalibrierung
- Falls sich der mBot zu weit dreht →
turn_time
verringern. - Falls sich der mBot zu wenig dreht →
turn_time
erhöhen. - Der optimale Wert wird durch Tests ermittelt.
Listing 1:MinimalesProgramm.ino
#include <MeMCore.h> MeDCMotor motor1(M1); MeDCMotor motor2(M2); void setup() { Serial.begin(9600); } void loop() { turn90Degrees(400); // Hier die Drehzeit anpassen delay(5000); // Wartezeit zwischen Drehungen } void turn90Degrees(int turn_time) { int speed = 100; // Geschwindigkeit motor1.run(speed); motor2.run(speed); delay(turn_time); motor1.run(0); motor2.run(0); }
✅ Vorteil | ❌ Nachteil |
---|---|
Einfach zu implementieren und gut für Programmieranfänger geeignet. | ❌ Manuelle Kalibrierung ist aufwendig. |
❌ Bei schwächer werdender Batterie muss die Drehzeit erneut angepasst werden. | |
❌ Die Methode blockiert das Programm und lässt sich nicht elegant in komplexere Programme integrieren. |
zweite (komplexere) Variante
Listing 1:MinimalesProgramm.ino
hello_mbot_kalibrierung.1739884727.txt.gz · Zuletzt geändert: 2025/02/18 13:18 von torsten.roehl