hm ich glaube ein weiteres problem ist das er doch die kurve nur dann fährt wenn ein taster gedrück ist . Oder verstehe ich da das programm falsch?
tut mir wirklich leid aber ich habe kaum programmierfähigkeit ... ich wüsste auch nicht wie ich den programmteil einbinden könnte der jeden taster mehrmals abfrägt
hier nochmal der programm code:
Code:#include "asuro.h" int main(void) { Init(); int i; while(1) { if(PollSwitch()!=0) {StatusLED(RED); MotorDir(RWD,RWD); MotorSpeed(120,120); for (i=0;i<280;i++){Sleep(255);} MotorSpeed(0,0); MotorDir(FWD,FWD); MotorSpeed (0,120); for (i=0;i<280;i++){Sleep(255);} MotorSpeed(0,0); } else{ int line_data[2]; LineData(line_data); // line_date[0]: linker Sensor, [1]: rechter Sensor // schwarzer Untergrund: kleine Werte; heller Hintergrund: große Werte FrontLED(ON); // liefert bessere bzw. konstrastreichere Werte int limit = 45; // Dieser Vergleichswert ist an die Lichtverhältnisse anzupassen int speed = 120; int debug_mode = 0; // 0: aus; 1: an, ASURO sendet die Werte der Sensoren zurück while (line_data[1] > limit) { if (debug_mode) { SerWrite("rechts\r\n", 8 ); PrintInt(line_data[1]); SerWrite("\r\n", 2); } BackLED(OFF, ON); MotorSpeed(0, speed); LineData(line_data); } while (line_data[0] > limit) { if (debug_mode) { SerWrite("links\r\n", 7); PrintInt(line_data[0]); SerWrite("\r\n", 2); } BackLED(ON, OFF); MotorSpeed(speed, 0); LineData(line_data); } MotorDir(FWD, FWD); MotorSpeed(speed, speed); } } return 0; }







Zitieren


Lesezeichen