Ach du meine Güte, sorry. Hab das komplett falsch verstanden und geändert. Aber auch nachdem ich es geändert habe, dreht sich der Robo einfach nur linksherum.
Tut mir leid, aber meine Datei ist ne cc und die kann man hier scheinbar nicht hochladen...
Ich habe leider kein LED, dementsprechend kann ich auch keine Werte messen, das hatten wir schon in der Schule gemacht.
____
Achso, jetzt versteh ich, soweit bin ich aber glaub noch nicht, dass ich das könnte. Wie man denke ich merkt, bin ich blutiger Anfänger.
Da ich es nicht hochladen kann, hier mal der Code so:
Code:
#include "qfixMiniBoard.h"
#include "qfixLCD.h"
const int SENSOR3 = 3;
int SENSOR1 = 1;
int SENSOR2 = 2;
int SENSOR = 0;
MiniBoard robot;
LCD lcd;
#define geradeaus 0
#define links 1
#define rechts 2
#define hindernis 85
#define freieSicht 150 // Wenn der Robo etwas nach links fährt, aber dann gegen das Hindernis, ist dieser Wert zu klein
#define True 1
#define False 0
int main()
{
unsigned char Drehrichtung = geradeaus; // unsigned char = 8bit integer von 0 bis 255, braucht weniger Platz im RAM
int abstand = robot.analog(1);
int infrarot = robot.analog(3);
while(1)
{
unsigned char Hindernis = false ;
if (Hindernis == false)
{
abstand = robot.analog (1);
robot.motors(250,250);
if(abstand < 85)
{
Hindernis = true;
}
}
else
{
if(Drehrichtung == links)
{
robot.motors (200, -200);
Drehrichtung = rechts;
}
else
{
robot.motors (-200, 200);
Drehrichtung = links;
}
infrarot = robot.analog (3);
if ( infrarot < 85)
{
Hindernis = false;
}
}
msleep(500);
}
}
Lesezeichen