Hi,
Ich habe einen kleinen Robo mit Ultraschallsensor gebastelt.
Ich hätte gerne ein Zufallsentscheidung eingefügt die dafür sorgt das die Drehung zu beiden Seiten erfolgen kann.
Code:
int trigger=12;
int echo=13;
long dauer=0;
long entfernung=0;
int motor1_A=11;
int motor1_B=10;
int motor2_A=6;
int motor2_B=5;
void setup()
{
pinMode(trigger, OUTPUT);
pinMode(echo, INPUT);
}
void loop()
{
digitalWrite(trigger, LOW);
delay(5);
digitalWrite(trigger, HIGH);
delay(10);
digitalWrite(trigger, LOW);
dauer = pulseIn(echo, HIGH);
entfernung = (dauer/2) / 29.1;
if (entfernung <= 35)
{
digitalWrite(motor1_A,LOW); // Stop
digitalWrite(motor2_A,LOW);
digitalWrite(motor1_B,LOW);
digitalWrite(motor2_B,LOW);
delay(500);
digitalWrite(motor1_A,LOW); // Rückwärts
digitalWrite(motor2_A,HIGH);
digitalWrite(motor1_B,HIGH);
digitalWrite(motor2_B,LOW);
delay(400);
digitalWrite(motor1_A,HIGH); //Drehung links
digitalWrite(motor2_A,HIGH);
digitalWrite(motor1_B,LOW);
digitalWrite(motor2_B,LOW);
delay(500);
}
else
{
digitalWrite(motor1_A,HIGH); // Fahren
digitalWrite(motor2_A,LOW);
digitalWrite(motor1_B,LOW);
digitalWrite(motor2_B,HIGH);
}
}
Die Drehung rechst wäre dann,
Code:
digitalWrite(motor1_A,LOW); //Drehung rechts
digitalWrite(motor2_A,LOW);
digitalWrite(motor1_B,HIGH);
digitalWrite(motor2_B,HIGH);
delay(500);
Hat jemand eine idee?
Lesezeichen