Okay danke. Ich glaube die StatusLED blinkt deshalb rot, da ich sie vermutlich falschherum eingelötet habe. Also den Pol für Rot und grün vertauscht habe.
Funktioniert es so in der Schleife? Das komplimieren klappt, der Roboter mach hingegen nichts, nur die StatusLED ist rot.
Code:
// asuro steuert Sortieranlage
// https://www.roboternetz.de/community...eitsbestimmung
#include "asuro.h"
unsigned int data[2]; //Initialisiert zwei Int-werte hintereinander
int main(void)
{
Init();
while(1);
{
MotorDir(BREAK,FWD); //Abwerfen des Steines
MotorSpeed(0,240);
Msleep(1900);
MotorSpeed(0,0); // Motor abbremsen
Msleep(500);
FrontLED(ON); //Beleuchtung an
StatusLED(YELLOW); //Bewegung des Förderbands
MotorDir(FWD,BREAK);
MotorSpeed(240,0);
do
LineData(data);
while ((data[0]>22) && (data[0]<220)); // solange Helligkeit zwischen 22 und 79
Msleep(100); // Gegenstand erkannt. Noch etwas weiterfahren (wegen Kante)...
LineData(data); // und erneut den Wert einlesen
if (data[0] >= 80) // heller als 399? Richtigen Gegenstand erkannt, weiterfördern
{
FrontLED(OFF);
StatusLED(GREEN);
MotorSpeed(240,0);
Msleep(5000);
}
else // falsche Farbe, zurückfördern
{
FrontLED(OFF);
StatusLED(RED);
MotorSpeed(0,0);
Msleep(500);
MotorDir(RWD,BREAK);
MotorSpeed(240,0);
Msleep(6000);
}
MotorSpeed(0,0); // Band anhalten
StatusLED(OFF);
} // Programmende
return 0;
}
Gruß
Lesezeichen