könnte mir einer sagen was an den programm falsch ist ? =(Code:#include "RP6RobotBaseLib.h" #include "RP6ControlLib.h" void runningLight(void) { static uint8_t runLight = 1; static uint8_t dir; if(getStopwatch4() > 100) { setLEDs(runLight); if(dir == 0) runLight <<= 1; else runLight >>= 1; if(runLight > 7 ) dir = 1; else if (runLight < 2 ) dir = 0; setStopwatch4(0); } } void takeABreakAfterSomeTime(void) { static uint8_t putScreenOnceOnly; if(getStopwatch5() > 24000) { clearLCD(); startStopwatch3(); startStopwatch4(); setStopwatch5(0); sound(160,20,20); sound(220,40,0); } else if(getStopwatch5() > 22000) { if(!putScreenOnceOnly) { showScreenLCD("ok lass uns", "gehen!"); putScreenOnceOnly = 1; } } else if(getStopwatch5() > 16000) { if(isStopwatch1Running()) { stopStopwatch1(); stopStopwatch2(); showScreenLCD("ich moechte", "ein shirt brechen!"); putScreenOnceOnly = 0; sound(220,40,20); sound(160,40,0); } } } void bumpersStateChanged(void) { writeString_P("\nBumper Status hat sich geaendert:\n"); if(bumper_left) writeString_P(" - Linker Bumper gedrueckt!\n"); else writeString_P(" - Linker Bumper nicht gedrueckt.\n"); if(bumper_right) writeString_P(" - Rechter Bumper gedrueckt!\n"); else writeString_P(" - Rechter Bumper nicht gedrueckt.\n"); } int main(void) { initRobotBase(); initRP6Control(); initLCD(); BUMPERS_setStateChangedHandler(bumpersStateChanged); setLEDs(0b111111); powerON(); moveAtSpeed(50,50); //getLeftSpeed(50,30) //getRightSpeed(30,50) startStopwatch1(); startStopwatch2(); startStopwatch3(); startStopwatch4(); setLEDs(0b000000); while(true) { if(getStopwatch1() > 4000) { move(60, FWD, DIST_MM(300), true); // 30cm Vorwärts fahren rotate(30, LEFT, 180, true); // um 180° nach links drehen move(60, FWD, DIST_MM(300), true); // 30cm Vorwärts fahren rotate(30, LEFT, 90, true); // um 90° nach links drehen move(60,FWD,DIST_MM(200), true); rotate(30, RIGHT, 45, true); setStopwatch1(0); } if(getStopwatch2() > 300) { writeString_P("\nADC Lichtsensor Links: "); writeInteger(adcLSL, DEC); writeString_P("\nADC Lichtsensor Rechts: "); writeInteger(adcLSL, DEC); writeString_P("\nADC Akku: "); writeInteger(adcBat, DEC); writeChar('\n'); if(adcBat < 600) writeString_P("Warnung! Akku ist bald leer!\n"); setStopwatch2(0); } if(getStopwatch3() > 300) { showScreenLCD("################", "################"); mSleep(1500); showScreenLCD("Ich bin RP6 ein", "inilligenter Roboter"); mSleep(2500); shwoScreenLCD("Dies war ein Test"); mSleep(5000); setStopwatch3(0); } task_motionControl(); task_ADC(); task_Bumpers(); runLCDText(); runningLight(); } return 0; }
Lesezeichen