Jo, ich habe schon ein Radgeschwindigkeitssynchronisationsprogramm geschrieben, das den Roboter geradeaus fahren lässt:
Code:#include "asuro.h" int main(void){ int Lnow; int Rnow; int Rold; int Lold; int Count; int sl; int sr; unsigned int data[2]; Init(); Count=0; sl=120; sr=120; while(1){ MotorDir(FWD,FWD); MotorSpeed(sl,sr); OdometrieData(data); if (data[0] > 512) Lnow = 1; else Lnow = 0; if (data[1] > 512) Rnow = 1; else Rnow = 0; if (Lnow ^ Lold) Count++; if (Rnow ^ Rold) Count--; Lold=Lnow; Rold=Rnow; if (Count>0) {sr++;} if (Count<0) {sr--;} if (sr>254){sr=255; sl--;} if (sr<61){sr=60; sl++;} } return 0; }







Zitieren

Lesezeichen