PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [ERLEDIGT] Taste-Aufgaben



asurer
16.12.2012, 10:00
Hi Leute,
ich bin neu hier und hab gleich erst mal eine Frage zu einem von mir geschriebenem Programm.
Ich wollte das das Programm den Asuro geradeaus fahren lässt und wenn auf der rechten Seite die Taster ausgelöst werden soll er sich nach links drehen und auf der andren Seite genau andersrum.
Für mich ist das Programmieren Neuland und dadurch bin ich am verzweifeln da ich meinen Fehler einfach nicht finde zur Zeit fährt der asuro nur Rückwärts :(

Bitte helft mir!!!
hier kommt mein Programm (es wird kein Fehler angezeigt)


#include "asuro.h"

int main(void){
unsigned int i;

Init();

while(1){
while(PollSwitch()==0)
{StatusLED(YELLOW);
MotorDir(FWD,FWD);
MotorSpeed(122,120);}
if(PollSwitch()>7)
{StatusLED(RED);
MotorDir(RWD,RWD);
MotorSpeed(122,120);
for (i=0;i<560;i++){Sleep(255);}
MotorSpeed(0,0);
MotorDir(FWD,FWD);
MotorSpeed(120,0);
for(i=0;i<415;i++){Sleep(255);}
MotorSpeed(0,0);
}
else
{StatusLED(RED);
MotorDir(RWD,RWD);
MotorSpeed(122,120);
for (i=0;i<560;i++){Sleep(255);}
MotorSpeed(0,0);
MotorDir(FWD,FWD);
MotorSpeed(0,120);
for(i=0;i<415;i++){Sleep(255);}
MotorSpeed(0,0);
}
}
return 0;
}

radbruch
16.12.2012, 10:30
Hallo

Möglicherweise werden die Tastenwerte nicht richtig eingelesen, deshalb hier dein Programm mit Mehrfachabfrage der Tasten:

#include "asuro.h"

int main(void)
{
unsigned int i;
char taste1, taste2;

Init();
taste2=PollSwitch();

while(1)
{
taste1=PollSwitch();

if(taste1==taste2)
{
if(taste1==0)
{
StatusLED(YELLOW);
MotorDir(FWD,FWD);
MotorSpeed(122,120);
}
else if(taste1>7)
{
StatusLED(RED);
MotorDir(RWD,RWD);
MotorSpeed(122,120);
for (i=0;i<560;i++){Sleep(255);}
//MotorSpeed(0,0); // wirkungslos
MotorDir(FWD,FWD);
MotorSpeed(120,0);
for(i=0;i<415;i++){Sleep(255);}
//MotorSpeed(0,0);
}
else
{
StatusLED(RED);
MotorDir(RWD,RWD);
MotorSpeed(122,120);
for (i=0;i<560;i++){Sleep(255);}
//MotorSpeed(0,0);
MotorDir(FWD,FWD);
MotorSpeed(0,120);
for(i=0;i<415;i++){Sleep(255);}
//MotorSpeed(0,0);
}
}
taste2=taste1;
}
return 0;
}(ungetestet)

Gruß

mic

asurer
16.12.2012, 10:49
Danke für die schnell Antwort :D
das Programm funktioniert super :D
Gruß asurer