also bei meinem asuro is ziemlich sichtbar was kaputt ist :P in der mitte durchgeborchen...hat sich draufgesetzt..aber ich war schuld hab ihn aufem boden stehen lassen...haste getestet obs geht?
edit: hab wieder nen funktionstüchtigen asuro...
so ich habe das programm jetzt getestet und es funktioniert soweit ganz gut...
jetzt habe ich folgendes problem:
ich wollte einbauen , dass wenn die kurve zu scharf ist nicht nur die geschwindigkeit variiert wird sondern , dass ein motor sogar "RWD" dreht.Code:#include "asuro.h" timewait(unsigned int t) // millisekundenwert als t eingeben { unsigned int pause; for (pause=0; pause<t; pause++) // 1 millisekunde Pause { Sleep (72); } } int main(void) { unsigned int data[2]; char links,rechts; int diffl,diffr,i,ledonl,ledonr,ledon,rab,x,rr,lr; Init(); for (i = 0; i < 2; i++ ) { FrontLED(ON); LineData(data); // Messung mit LED ON ledonl = data[0]; ledonr = data[1]; timewait(500); ledon = (ledonl - ledonr); // Regelabweichung mit LED ON rab = ledon; // Regelabweichung timewait(500); } while(1) { x=120; //maximalgeschwindigkeit FrontLED(ON); LineData(data); diffl=data[0]-data[1]-rab; //diff links zu rechts diffr=data[1]-data[0]-rab; //diff rechts zu links links=x-(diffr*4); rechts=x-(diffl*4); if (links<=0) { BackLED(ON,OFF); links = links*-1; lr=RWD; x=90; } if (rechts<=0) { BackLED(OFF,ON); rechts = rechts*-1; rr=RWD; x=90; } if (x-diffl*6>0) { lr=FWD; } if (x-diffr*6>0) { rr=FWD; } if (links>x) { links=x; } if (rechts>x) { rechts=x; } MotorSpeed(links,rechts); MotorDir(lr,rr); } return 0; }
...das funktioniert nicht ... hat jmd nen lösungsvorschlag?? wäre sehr dankbar







Zitieren

Lesezeichen