-
-
Moderator
Robotik Visionär
Hallo
Ist doch schon mal prima wenn er jetzt fährt. Nun hast du folgendes Problem:
Nach diesem Befehl
erg=erg2;
ganz am Ende der Schleife "vergisst" der asuro den Abgrund der sich vor im auftut. Er startet denn nächsten Schleifendurchlauf mit dem soeben eingelesenen und abgespeicherten Helligkeitswert des Abgrunds und vergleicht diesen mit dem nächsten Wert bis er unten aufschlägt.
Eine Lösung wäre eine Endlosschleife im Stopp-Teil der Abfrage (oder eine Variable die das Ereigniss speichert oder eine Flucht...):
...
{
MotorDir(BREAK,BREAK);
MotorSpeed(0,0);
StatusLED(RED);
while(1); // stehenbleiben und auf Hilfe warten
}
...
Wenn du das jetzt änderst wird er vermutlich überhaupt nicht mehr losfahren wegen:
Init();
LineData(lineData);
erg=lineData[0]+lineData[1];
FrontLED(ON);
Der allererste Wert wird mit ausgeschalteter FrontLED eingelesen. Der nächste Wert, der dann in der Schleife mit eingeschalteter FrontLED eingelesen wird, könnte als Abgrund interpretiert werden. Genau weis ich es nicht, bin zu faul zum Testen. *gg*
Gruß
mic
Bild hier
Atmel’s products are not intended, authorized, or warranted for use
as components in applications intended to support or sustain life!
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen