Hallo ich bin neu hier.
Nun zu meinem Problem:
Ich muss für die Schule ein Programm schreiben, bei der ein Roboter Hindernisse UMfahren muss. Leider komm ich nicht derzeit noch nicht soweit, da ich ein Problem habe. Der Roboter erkennt das Hindernis und fährt links. Nach einer Weile sollte er wieder nach rechts fahren, was er aber konsequent nicht tut. Wollte das eigentlich mit einem Infrarotsensor regeln(es gibt einen bestimmten Boden vorgegeben), bekomm das aber nicht hin. Habe was dazu geschrieben, aber irgendwie reagiert der Roboter nicht darauf. Vielleicht könnt ihr mir sagen was der Fehler ist. Das ist aber nur mein erstes Problem.
Das zweite:
Nachdem der Roboter nach rechts gefahren ist, fährt er ja auf das nächste Hindernis zu. Nun sollte er, wenn er das Hindernis erkennt, aber nicht nach links, sondern jetzt nach rechts fahren. Habe es versucht mit einer Variable x dies zu regeln, also dass beim ersten Hindernis X=1, beim zweiten X=-1 und so weiter und so fort. Das klappt aber nicht, dann fährt der Roboter immer nur vor und zurück.
Ich hoffe ihr könnt mir helfen.Code:#include "qfixMiniBoard.h"
#include "qfixLCD.h"
const int SENSOR3 = 3;
int SENSOR1 = 1;
int SENSOR2 = 2;
int SENSOR = 0;
MiniBoard robot;
LCD lcd;
int main(){
{
int i=0;
int mitt = 0;
int x = 1;
while(1){
int i = robot.analog(1) ;
int mitt= robot.analog(3);
if (i > 75){
robot.motors(250,250); //geradeaus
}
else{
robot.motors(-200*x,200*x); //drehung
msleep(300);
if( mitt > 185){
robot.motors(100,-100);
msleep(300);
x= x*(-1);
}
}
}
}
}
PS: Falls das hier, das falsche Forum ist, tut es mir Leid, hab kein anderes gefunden...