Hiho,
ich habe für die schule gerade die aufgabe die "go()" funktion der asuro.c in eine "kreis()" funktion abzuwandeln. ich hab mir hier schon mal was überlegt,doch da ich zu hause keinen asuro besitze wäre es schön wenn ihr mal ein auge auf den quell code werft und evtl. mal an eurem asuro testet. desweiteren weiß ich nicht genau ob die mathe formeln unten funktionieren z.b. "((radius+11.5)*2*pi)/100" <-- was müsste ich sonst für den ausdruck schreiben unter c?
Hier der Quellcode:
ps: der kreis soll nach einem angegebenen radius fahren, weiteres sieht unten.
void Kreis(int distance, int speed)
{
int enc_count = 0;
int tot_count = 0;
int diff = 0;
int pi = 3,141592654;
int radius = 50; // angabe des radius, den der asuro fahren soll.
int r_rad = ((radius+11.5)*2*pi)/100; //damit berechnet man 1% vom "rechtenrad-umkreis",die 11.5 ist die spannweite zwischen den beiden rädern.
int l_rad = (radius*2*pi)/r_rad; //hier wird berechnet, wie viel % das rechte rad mehr fahren muss.
int speed1 = (speed/100)*l_rad; // speed1 ist der speed, den das rechte rad mehr fahren muss.
int l_speed = speed;
int r_speed = speed+speed1; // normal speed+speed welches das rechte rad mehr fahren muss.
enc_count=abs(distance);
naja die ganze rechnung und überlegungen hatte ich mir vor den ferien schon in der schule gemacht... sprich wie man das probb mit den verschiedenen speed werten lösen kann
ohne Asuro wird das nix. Entschuldige bitte die offenen Worte, aber wenn du das als Trockenübung machst bleibt das alles akademisch und du kannst nie feststellen ob und welche Fehler du gemacht hast. Sag mal deinem Lehrer er soll, wenn er solche Aufgabe vergibt, auch einen bot rausrücken.
naja in der schule steht uns der robo immer zur verfügung, aber das is ja jetzt auch nich ne sache die ich morgen fertig haben will, sonder ab nächstem montag kann ich ja wieder praktisch dran arbeiten
Lesezeichen