Hallo

Ich hab mal etwas an deinem Programm rumgefummelt:
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;
}
(ungetestet)

Ich hoffe, dass funzt so.

Gruß

mic