hoi.
sorry, heb alles uitgezocht maar kan maar 1 sensor doen werken .
weet niet wat ik moet veranderen bij if ( distance1 > 30) en if ( distance2 < 30) {.
als ik dat verander werken de twee sensoren maar niet zo als ik wil
int trigPin2 = 2 ;
int echoPin2 = 3 ;
int trigPin1 = 4 ;
int echoPin1 = 5 ;
int revright = 8 ; //REVerse motion of Left motor
int fwdleft = 9 ; //ForWarD motion of Left motor
int revleft = 10 ; //REVerse motion of Right motor
int fwdright = 11 ;
volatile float duration ;
volatile float distance1 ;
volatile float distance2 ;
void setup() {
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
pinMode(trigPin1, OUTPUT);
pinMode(echoPin1, INPUT );
pinMode(trigPin2, OUTPUT);
pinMode(echoPin2, INPUT );
Serial.begin(96000);
}
void loop() {
digitalWrite(trigPin1, LOW);
delayMicroseconds(2);
digitalWrite(trigPin1, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin1, LOW);
duration = pulseIn(echoPin1, HIGH);
distance1 = (duration * 0.0343) / 2;
Serial.print("distance1: ");
Serial.println(" cm");
if ( distance1 > 30)
digitalWrite(trigPin2, LOW);
delayMicroseconds(2);
digitalWrite(trigPin2, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin2, LOW);
duration = pulseIn(echoPin2, HIGH);
distance2 = (duration * 0.0343) / 2;
Serial.print("distance: ");
Serial.println(" cm");
if ( distance2 < 30) {
digitalWrite(8, LOW);
digitalWrite(9, LOW);
digitalWrite(10, LOW);
digitalWrite(11, LOW);
delay(1000);
digitalWrite(8, LOW);
digitalWrite(9, HIGH);
digitalWrite(10, LOW);
digitalWrite(11, HIGH);
delay(500);
digitalWrite(8, LOW);
digitalWrite(9, LOW);
digitalWrite(10, LOW);
digitalWrite(11, LOW);
delay(2000);
digitalWrite(8, LOW );
digitalWrite(9, LOW );
digitalWrite(10, LOW );
digitalWrite(11, HIGH );
delay(500);
digitalWrite(8, LOW);
digitalWrite(9, LOW);
digitalWrite(10, LOW);
digitalWrite(11, LOW);
delay(1000);
} else {
digitalWrite(8, HIGH);
digitalWrite(9, LOW);
digitalWrite(10, HIGH);
digitalWrite(11, LOW);
}
}
[\code]