Hallo Hans
Init() fehlt in main() for dem while(1):
GrußCode:#include "asuro.h" #define STOP 50 /*asuro kann einem abgrund mittels der liniensensoren ausweichen und hindernissen mittels der kollisionstaster*/ unsigned int lineData[2]; //array für die daten der liniensensoren //unsigned char running = TRUE; unsigned char i; //laufvariable für die for-schleifen unsigned char taste=0; //nimmt den wert der kollisionstaster auf int main(void) { Init(); while(1) { FrontLED(ON); Sleep(255); //kurze pause, damit linedata die richtigen werte erfasst LineData(lineData); PollSwitch(); Sleep(50); PollSwitch(); Sleep(50); PollSwitch(); Sleep(50); taste = PollSwitch(); if ((lineData[0] > STOP) && (lineData[1] > STOP) && (taste == 0)) //vorwärts falls kein hinderniss und kein abgrund { MotorDir(FWD,FWD); MotorSpeed(255,255); } else //wenden falls abgrund { MotorSpeed(0,0); //stop BackLED(ON,ON); FrontLED(OFF); StatusLED(RED); Sleep(255); for(i=0; i<100; i++) //kurz zurueck { MotorDir(RWD,RWD); MotorSpeed(190,190); Sleep(255); } MotorSpeed(0,0); for(i=0; i<170; i++) //wenden { MotorDir(FWD,RWD); MotorSpeed(120,120); Sleep(100); } MotorSpeed(0,0); BackLED(OFF,OFF); FrontLED(ON); StatusLED(GREEN); } Sleep(100); } return 0; }
mic







Zitieren

Lesezeichen