So I can't see the distance of the proximity sensor anymore as soon as I type the code for the piezo buzzer. I've tried many things but it doesn't work.. Can anybody help me fixing this?
int trigPin = D7;
int echoPin = D8;
int BLUE = D3; //D3 zit in blauw
int GREEN = D4;
int RED = D5;
int piezoPin = D10;
void setup() {// deze code gaat maar 1 keer
Serial.begin (115200);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(GREEN, OUTPUT);
pinMode(BLUE, OUTPUT);
pinMode(RED, OUTPUT);
}
void loop() { //code wordt steeds herhaalt
long duration, distance;
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH); // trig zendt een signaal uit
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH); // kijkt hoelang het duurt totdat signaal heen en weer gaat
distance = (duration/2) / 29.1;
// omdat het signaal heen wordt gezonden moet het door twee gedeelt worden
// snelheid van geluid door lucht is circa 29 microseconden per cm dus gedeelt 29.
Serial.print(distance);
Serial.println(" cm");
//afstand wordt in cm weergegeven in serial monitor
delay(500);
if ((distance > 100) && (distance <= 150)){ //dit gebeurd er als de afstand vanaf sensor tussen groter dan 100 cm en gelijk aan of kleiner dan 150 cm is.
analogWrite(BLUE, 0);
analogWrite(GREEN, 255);
analogWrite(RED, 0);
tone(piezoPin, 1000, 1000); // toon duurt 1 seconden
delay(2000); // 2 seconden geen geluid
tone(piezoPin, 1000, 1000);
delay(2000);
}
else if ((distance > 50) && (distance <= 100)){ //dit gebeurd er als de afstand vanaf sensor tussen groter dan 50 cm en gelijk aan of kleiner dan 100 cm is.
Serial.println("Ga weg!");
analogWrite(BLUE, 0);
analogWrite(GREEN, 102);
analogWrite(RED, 252);
tone(piezoPin, 1000, 700); // toon duurt 0.7 seconden
delay(1000); // 1 seconde geen geluid
tone(piezoPin, 1000, 700);
delay(1000);
}
else if ((distance >= 0) && (distance <= 50)){ //dit gebeurd er als de afstand vanaf sensor tussen groter dan of gelijk aan 0 cm en gelijk aan of kleiner dan 50 cm is.
analogWrite(BLUE, 0);
analogWrite(GREEN, 0);
analogWrite(RED, 255);
tone(piezoPin, 1000, 200); // toon duurt 0,2 seconden
delay(100); // 0,1 seconden geen geluid
tone(piezoPin, 1000, 200);
delay(100);
}
else {
analogWrite(BLUE, 0);
analogWrite(GREEN, 0);
analogWrite(RED, 0);
}
}