Hi Leute,
ich habe jetzt seit ca 2 wochen meinen asuro und bin wirklich sehr zufrieden!!!
Hab jetzt alles ein wenig ausprobiert und mich seit gestern an ein linienprogramm herangewagt.
folgendes ist dabei herausgekommen:
Code:#include "asuro.h" /*** *einfache Routine, zum folgen einer Linie **/ int linie_finden(void) { int lData[2]; if ((lData[0] < 50) && (lData[1] < 50)) { //linie verlassen, vorgang zum wiederfinden gestartet MotorDir (FWD,FWD); MotorSpeed (200,0); } //wenn linie gefunden, gib 1 zurück return(1); } /*** *einfache routine zum wiederfinden einer linie **/ int linie_fahren( void ) { int lData[2]; while(1) { LineData(lData); // Einlesen der Messwerte if ((lData[0] < 50) && (lData[1] < 50)) return(1); if (lData[0] > 100) { //Links hell, also hat links die Linie verlassen MotorDir (FWD,RWD); //LINKS mehr Gas geben --> rechtskurve MotorSpeed (200,0); //LINKS mehr Gas geben } else { MotorDir(RWD,FWD); MotorSpeed(0,200); } } } /*** *komplettes programm, zum folgen und wiederfinden einer Linie **/ int main(void) { int lData[2]; // Speicher für die Messwerte zur Verfügung stellen int verloren; Init(); while(1) { FrontLED(ON); verloren = linie_fahren(); if (verloren == 1) linie_finden(); } }
es funktioniert schon gut, aber wer es ausprobiert wird merken, das noch nicht so richtig rund läuft.
Ich komme aber einfach nicht drauf, wie ich das verbessern kann!
Vielleicht kann mir ja jemand einen kleinen denkanstoß geben.
MfG tortelini66
Ps:bitte nicht über mein programm lachen, es ist echt neuland für mich







Zitieren

Lesezeichen