tortelini66
29.08.2010, 16:24
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:
#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
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:
#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