ist denke ich mal doch alles vorhanden:
Code:
#include "asuro.h"
#define SCHWELLEL 582
#define SCHWELLER 549
#define ANPASSUNG 10
#define LOW 0
#define HIGH 1
int main (void){
unsigned int data[2];
unsigned long int count=0;
signed int status[2]={0,0};
signed int difference=0;
signed int speed=200;
int i=0;
Init();
while(1){
switch(count)
{
case 0: MotorDir(FWD,FWD);speed=200;break;
case 249: MotorDir(BREAK,BREAK);
for(i=0;i<282;i++){Sleep(255);}
MotorDir(FWD,BREAK);speed=200;count=250;break;
case 330: MotorDir(BREAK,BREAK);
}
OdometrieData(data);
if ((status[0]==LOW)&&(data[0]>SCHWELLEL+ANPASSUNG))
{
status[0]=HIGH;
difference++;
count++;
}
if ((status[0]==HIGH)&&(data[0]<SCHWELLEL-ANPASSUNG))
{
status[0]=LOW;
difference++;
count++;
}
if ((status[1]==LOW)&&(data[1]>SCHWELLER+ANPASSUNG))
{
status[1]=HIGH;
difference--;
}
if ((status[1]==HIGH)&&(data[1]<SCHWELLER-ANPASSUNG))
{
status[1]=LOW;
difference--;
}
if (difference<-speed)difference=-speed;
if (difference>speed)difference=speed;
if (difference>0) MotorSpeed(speed,speed++);
else MotorSpeed(speed,speed--);
}
return 0;
}
Lesezeichen