PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Asuro Drehen



Mezmerise
30.04.2012, 14:17
Hallo zusammen,

als absoluter Anfänger mit dem Asuro habe ich ein kleines (so wie ich mir dachte einfaches)
Programm geschrieben.... Der Asuro sollte eigentlich solange mit dem Motorspeed von 100 vorwärts fahren bis ein Pollswitch erreicht(betätigt) wird.
Dann sollte er sich drehen für eine bestimmte Zeit ( linker motor läuft frei und rechter läuft rückwärts)
Leider macht der kleine Asuro was er will mit diesem Programm was ich geschrieben habe.
Von daher bitte ich um Eure Hilfe woran es denn liegt.
Hier der Programmcode:
#include "asuro.h"

int main(void)
{
Init();
while(1)
{
if (PollSwitch()>0)
{
MotorSpeed(0,120); // drehen wenn schalter gedrückt
MotorDir(FREE,RWD);
int i;
for(i=0;i<300;i++) Sleep(72);
}
else
{
MotorSpeed(100,100);
MotorDir(FWD,FWD); // geradeaus
}
}
return(0);
}

Vielen Dank im voraus schonmal für eure Hilfe
Gruß Mez

Mattze96
30.04.2012, 21:22
Hallo,

zuerst musst du immer die "direction" des Motors angeben dann den speed.



#include "asuro.h"
int main(void)
{
int i; //variablen hier am anfang deklarieren
unsigned char taste; //die variable taste, der später der Wert der Kollisionstaster zugeordnet wird deklarieren.

Init();
while(1)
{
taste=Pollswitch();
if (taste>0)
{
MotorDir(FREE,RWD);
MotorSpeed(0,120);
for(i=0;i<300;i++) {Sleep(72);}
}
else
{
MotorDir(FWD,FWD);
MotorSpeed(100,100); // ich würde die werte höher setzten da der motor erst ab 120 richtig anfängt sich zu drehen
}
}
return(0);
}

mfG Mattze