PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : schwirigkeiten beim zusammenführen zweier programme



javaisttoll
08.02.2010, 11:41
Hallo,
ich wollte zwei programme zusammenführen und mache da wohl irgendetwas faltsch ich wollte ein linienprogramm mit einem kollisionsprogramm verbinden
mein momentaner stand ist so



#include "asuro.h"

int main(void){
unsigned int data[2];
Init();
int p;
FrontLED(ON);
MotorDir(FWD,FWD);
while(1){

LineData(data);

if(data[0]>data[1])
{MotorSpeed(150,0);}
else
{MotorSpeed(0,150);}


if(PollSwitch()>1)
{
MotorDir(RWD,RWD);
MotorSpeed(125,125);
for(p=0;p<300;p++)
{Sleep(72);}

MotorDir(BREAK,RWD);
MotorSpeed(0,125);
for(p=0;p<1000;p++)
{Sleep(72);}

}
}

return 0;
}


er folgt erst der linie wenn er auf etwas stößt dreht er sich auch weg , aber wenn er wieder eine linie findet bleibt er stehen und verfolgt diese nicht wieder weiter. ich würde mich auf hilfe freuen

mfg Java

Thund3r
25.03.2010, 22:39
Hallo

Versuchs mal so:


#include "asuro.h"

int main(void){
unsigned int data[2];
Init();
int p;
FrontLED(ON);
MotorDir(FWD,FWD);
while(1){

LineData(data);

if(data[0]>data[1]){MotorSpeed(150,0);}
else if (data[0]<data[1]){MotorSpeed(0,150);}
else if(PollSwitch()>1)
{
MotorDir(RWD,RWD);
MotorSpeed(125,125);
for(p=0;p<300;p++)
{Sleep(72);}
MotorDir(BREAK,RWD);
MotorSpeed(0,125);
for(p=0;p<1000;p++)
{Sleep(72);}
MotorSpeed(100,100);
MotorDir(FWD,FWD);
}
}

return 0;
}

Glaube das Problem lag daran dass nach einem Hindernis und darauf folgendem drehen nicht wieder auf FWD gesetzt wurde.

Gruß Thund3r