PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Drehsensor abfragen



Fleix
23.11.2010, 19:26
Hallo, nach dem das fahren jetzt funktioniert:
Wie kann ich gucken, ob wie viele Umdrehungen in einer bestimmten Zeit gemacht wurden?

Mit odemetrie kommt immer der Fehler, dass encoder[RIGHT} nicht gefunden wird.

P.S. Das genze soll dazu dienen, dass wenn Asuro stecken bleibt, dass er sich dann ausschaltet!

Valen
23.11.2010, 23:19
Hallo, nach dem das fahren jetzt funktioniert:
Wie kann ich gucken, ob wie viele Umdrehungen in einer bestimmten Zeit gemacht wurden?

Mit odemetrie kommt immer der Fehler, dass encoder[RIGHT} nicht gefunden wird.

P.S. Das genze soll dazu dienen, dass wenn Asuro stecken bleibt, dass er sich dann ausschaltet!Bitte zeig deine ganze Code. Ich vermute du habst Schreibfehler drin. Zu ein "[" gehört ein "]" am ende, nicht ein "}".

Aber die OdometrieData funktion liefert nur die Helligkeit (eigentlich den 'Dunkelheit') der Odometrie sensoren. Du muss selbst Code schreiben der diese Dunkel/Hellig-Ubergangen erkannt und dan Zahlers erhöht. Dammit du weisst wieviel schritten jeder Rad gedreht ist. Es gibt 2 Erweiterte Bibliotheken der diese Funktionalität schon vorbereitet haben:

https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=39402

oder von Markusj:

https://www.roboternetz.de/phpBB2/viewtopic.php?p=518692

Fleix
25.11.2010, 11:48
Ok, habe jetzt die AsuroLib-v280rc1
wie kann ich jetzt die gemachten Schritte zählen?

radbruch
25.11.2010, 12:28
Hallo

Zuerst musst du der Lib die Kenndaten deines asuro beibringen:
https://www.roboternetz.de/phpBB2/viewtopic.php?t=31073

Gruß

mic

Valen
25.11.2010, 16:53
Ich empfehle erst die die Dokumentation der lib genau durch zu lesen. Erst den install.txt (wichtig!). Dan den index.chm Datei im Ordner: v280rc1\doc\html. Und nur dann den Beispiel Code im v280rc1\examples\EncoderTest durch zu schauen und vielleicht ausprobieren.

Aber den tip von Radbruch muss auch erst getan werden, sonnst werden deine Programmen mit Falsche Werten arbeiten.