Liste der Anhänge anzeigen (Anzahl: 1)
peinlich, peinlich... ich wollte eigentlich beides hochladen und habe es vergessen, aber ja klar, hier siehst du beides:
Code:
const int s0 = 53;
const int s1 = 52;
const int s2 = 51;
const int s3 = 50;
const int out = 40;
const int motor1 = 10;
const int motor2 = 11;
const int motor3 = 12;
const int motor4 = 13;
const int trigger = A1;
const int echo = A0;
float red=0,green=0,blue=0;
float redA[10], greenA[10], blueA[10];
float rav=0,gav=0,bav=0;
int counter;
int state=0;
unsigned long time=0;
int currentTime=0;
int previosTime=0;
void setup()
{
pinMode(motor1, OUTPUT);
pinMode(motor2, OUTPUT);
pinMode(motor3, OUTPUT);
pinMode(motor4,OUTPUT);
pinMode(trigger, OUTPUT);
pinMode(echo, INPUT);
// pinMode(irPin,INPUT);
pinMode(s0, OUTPUT);
pinMode(s1, OUTPUT);
pinMode(s2, OUTPUT);
pinMode(s3, OUTPUT);
pinMode(out, INPUT);
//Scaling to 20% frequency
digitalWrite(s0, HIGH);
digitalWrite(s1, LOW);
Serial.begin(9600);
}
int getDistance()
{
long distance=0;
long t=0;
digitalWrite(trigger,LOW);
delayMicroseconds(3);
noInterrupts();
digitalWrite(trigger,HIGH);
delayMicroseconds(10);
digitalWrite(trigger,LOW);
t=pulseIn(echo,HIGH);
noInterrupts();
t=(t/2);
distance=(t/29.1);
return(distance);
}
void driveForward()
{
analogWrite(motor1,200);
analogWrite(motor4,223);
}
void driveBackward()
{
analogWrite(motor2,200);
analogWrite(motor3,223);
}
void turnLeft()
{
analogWrite(motor1,0);
analogWrite(motor4,200);
}
void turnRight()
{
analogWrite(motor1,200);
analogWrite(motor4,0);
}
void brake()
{
analogWrite(motor1,0);
analogWrite(motor2,0);
analogWrite(motor3,0);
analogWrite(motor4,0);
}
void loop()
{
int distance=getDistance();
Serial.println(distance);
if(distance<15)
{
turnRight();
// driveBackward();
}
else
{
driveForward();
}
Achtung nicht alle Variablen werden benutzt. Das liegt daran, dass ich nur den problematischen Code kopiert habe, alles andere läuft.
Und hier das Bild:
Anhang 33416
Liste der Anhänge anzeigen (Anzahl: 1)
okay.
Code:
const int s0 = 53;
const int s1 = 52;
const int s2 = 51;
const int s3 = 50;
const int out = 40;
const int motor1 = 10;
const int motor2 = 11;
const int motor3 = 12;
const int motor4 = 13;
const int trigger = A1;
const int echo = A0;
float red=0,green=0,blue=0;
float redA[10], greenA[10], blueA[10];
float rav=0,gav=0,bav=0;
int counter;
int state=0;
unsigned long time=0;
int currentTime=0;
int previosTime=0;
void setup()
{
pinMode(motor1, OUTPUT);
pinMode(motor2, OUTPUT);
pinMode(motor3, OUTPUT);
pinMode(motor4,OUTPUT);
pinMode(trigger, OUTPUT);
pinMode(echo, INPUT);
// pinMode(irPin,INPUT);
pinMode(s0, OUTPUT);
pinMode(s1, OUTPUT);
pinMode(s2, OUTPUT);
pinMode(s3, OUTPUT);
pinMode(out, INPUT);
//Scaling to 20% frequency
digitalWrite(s0, HIGH);
digitalWrite(s1, LOW);
Serial.begin(9600);
}
int getDistance()
{
long distance=0;
long t=0;
digitalWrite(trigger,LOW);
delayMicroseconds(3);
noInterrupts();
digitalWrite(trigger,HIGH);
delayMicroseconds(10);
digitalWrite(trigger,LOW);
t=pulseIn(echo,HIGH);
noInterrupts();
t=(t/2);
distance=(t/29.1);
return(distance);
}
void driveForward()
{
analogWrite(motor1,200);
analogWrite(motor4,223);
}
void driveBackward()
{
analogWrite(motor2,200);
analogWrite(motor3,223);
}
void turnLeft()
{
analogWrite(motor1,0);
analogWrite(motor4,200);
}
void turnRight()
{
analogWrite(motor1,200);
analogWrite(motor4,0);
}
void brake()
{
analogWrite(motor1,0);
analogWrite(motor2,0);
analogWrite(motor3,0);
analogWrite(motor4,0);
}
void loop()
{
int distance=getDistance();
Serial.println(distance);
if(distance<15)
{
turnRight();
// driveBackward();
}
else
{
driveForward();
}
}
https://www.pic-upload.de/view-35155...tplan.jpg.html
- - - Aktualisiert - - -
Problem gelöst. Danke für die Hilfe.