-
-
Erfahrener Benutzer
Roboter Genie
Hallo Simsmann,
ok, verstehe das könnte natürlich funktionieren. Da war ich wohl auf dem Holzweg.
In der erweiterten ASURO Bibliothek gibt es Funktionen zur Abfrage der Radencoder.
Mit EncoderInit() zum Beispiel startet man die Radencoder Auswertung (läuft im Hintergrund interrupt-gesteuert)
Die Werte der Encoder kann man mit encoder[left] und encoder[right]
auslesen und daraus die Differenz bilden. Diese aktuelle Differenz mit der letzten gemessenen Differenz vergleichen. Wird die Differenz größer fährt man in einer Kurve und sollte abbremsen. Wird sie kleiner fährt man aus der Kurve und kann wieder beschleunigen.
Die Encoder Werte kann man mit der Funktion Encoder_Set(l,r) zurücksetzen. Sollte man tun, nachdem man die Differenz gebildet hat (für die nächste Messung).
Damit hat man alles um ein Programm zu schreiben das in der Kurve bremst und auf der Geraden beschleunigt.
Es sollte nicht allzu schwer sein, das Linienfolger Programm entsprechend anzupassen.
Das schafft du doch sicher alleine? 
Gruß Peter
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen