ich hab auch mal ne frage
probier scon seit stunden an einem programm rum
normaerweise sollte dann der asuro linien folgen und kolisionen erkennen
aber es klappt nicht so wirklich
hier mal der code
hab meinen asuro seit gesternCode:#include "asuro.h" int main(void){ Init(); StatusLED(RED); SerWrite("HALLO-Los geht´s!!!",20); unsigned int data[2]; //Speicher bereitstellen Init(); FrontLED(ON); // Linienbeleuchtung einschalten MotorDir(FWD,FWD); // Beide Motoren auf vorwärts while(1){ // Endlosschleife, ASURO soll beliebig lang einer Linie nachfahren LineData(data); // aktuelle Helligkeitswerte der Fototransistoren einlesen if (data [0] > data [1] ) // links heller als rechts... {MotorSpeed(200,150);} // ... dann links mehr Gas geben... else {MotorSpeed(150,200);} // ... sonst rechts mehr Gas geben! void MotorFwd(void) { MotorDir(FWD,FWD); MotorSpeed(150,150); } /* Motor rückwärts */ void MotorRwd(void) { MotorDir(RWD,RWD); MotorSpeed(160,150); } /* Motor rückwärts Links */ void MotorRwdL(void) { MotorDir(RWD,FWD); MotorSpeed(150,140); } /* Motor rückwärts Rechts */ void MotorRwdR(void) { MotorDir(FWD,RWD); MotorSpeed(140,150); } /* Motor stop */ void MotorStop(void) { MotorSpeed(0,0); } { unsigned char t1, t2; Init(); while(1) { t1 = PollSwitch(); t2 = PollSwitch(); if(t1 == 0 && t2 == 0) /* keine Taste */ { MotorFwd(); /* vorwärts fahren */ FrontLED(ON); BackLED(OFF,OFF); } else if (t1 && t2 && t1 == t2) { MotorStop(); if(t1 & 0x07) /* Tasten links gedrückt? */ { MotorRwdL(); /* Rückwärtskurve links fahren */ FrontLED(OFF); BackLED(ON,OFF); } if (t1 & 0x38) /* Tasten rechts gedrückt? */ { MotorRwdR(); /* Rückwärtskurve rechts fahren */ FrontLED(OFF); BackLED(OFF,ON); } Msleep(1000); /* 1 Sekunde fahren */ return 0; } } } } }![]()
danke







Zitieren

Lesezeichen