Hallo
Ich hab mal etwas an deinem Programm rumgefummelt:
(ungetestet)Code:// asuro steuert Sortieranlage // https://www.roboternetz.de/community/threads/58103-Asuro-Helligkeitsbestimmung #include "asuro.h" unsigned int data[2]; //Initialisiert zwei Int-werte hintereinander int main(void) { Init(); MotorDir(BREAK,FWD); //Abwerfen des Steines MotorSpeed(0,240); Msleep(1900); MotorSpeed(0,0); // Motor abbremsen Msleep(500); StatusLED(YELLOW); //Bewegung des Förderbands MotorDir(FWD,BREAK); MotorSpeed(240,0); do LineData(data); while ((data[0]>90) && (data[0]<110)); // solange Helligkeit zwischen 90 und 110 Msleep(100); // Gegenstand erkannt. Noch etwas weiterfahren (wegen Kante)... LineData(data); // und erneut den Wert einlesen if (data[0] >= 400) // heller als 399? Richtigen Gegenstand erkannt, weiterfördern { StatusLED(GREEN); // MotorSpeed(240,0); Msleep(10000); } else // falsche Farbe, zurückfördern { StatusLED(RED); MotorSpeed(0,0); Msleep(500); MotorDir(RWD,BREAK); MotorSpeed(240,0); Msleep(10000); } MotorSpeed(0,0); // Band anhalten while(1){StatusLED(RED); Msleep(100); StatusLED(OFF); Msleep(300);} // Programmende return 0; }
Ich hoffe, dass funzt so.
Gruß
mic






Zitieren

Lesezeichen