dir fehlt glaub ich EncodeInit(), oder?
Moin Moin,
ich habe folgendes Programm geschrieben:
In dem Programm soll er erstmal ca. 3 sec. lang geradaus fahren, dann für 3 sec. stehen bleiben sich darauf um 90° drehen und dann die beiden Back leds anschalten.Code:#include "asuro.h" int main(void) { Init(); MotorDir(FWD,FWD); MotorSpeed(140,140); Msleep(3000); MotorSpeed(0,0); Msleep(3000); Turn(90,140); Msleep(3000); BackLED(ON,ON); while (1); return 0; }
Bis auf die 90° Drehung macht er auch alles ich weiß nicht was ich falsch gemacht habe.
PS.: Mit der Go funktion habe ich ähnliche probleme, obwohl im selftest die Odometrie eigenltich reibungslos funktioniert hat.
schon mal Danke im vorraus
mfg
Erik
dir fehlt glaub ich EncodeInit(), oder?
Also, wenn ich die encoder intialisiere dreht er sich andauernd im Kreis anstatt den Teil zu überspringen . Das ist zwar schon ein Fortschritt aber er macht trotzdem noch nich wirklich das was er soll.
Hier nochmal der neue Code
mfgCode:#include "asuro.h" int main(void) { Encoder_Init(); Init(); MotorDir(FWD,FWD); MotorSpeed(140,140); Msleep(3000); MotorSpeed(0,0); Msleep(3000); Turn(90,140); Msleep(3000); BackLED(ON,ON); while (1); return 0; }
Erik
tu encoder_init mal hinter das normale init.
ahh danke nun klappt das, auch wenn die 90° eher 130° waren .
dann hast du vermutlich die falschen encoderscheiben aufgeklebt. mit den anderen wird es funktionieren.
Lesezeichen