void setup() {
pinMode(12, OUTPUT);
pinMode(11, OUTPUT);
pinMode(10, OUTPUT);
Serial.begin(9600);
}
void loop() {
float distancia = sonar(7, 8);
Serial.println(distancia);
digitalWrite(10, HIGH); // verde
if (distancia <= 15 && distancia >= 3) {
digitalWrite(10, LOW); // verde
// amarelo
digitalWrite(11, HIGH); delay(500);
digitalWrite(11, LOW); // amarelo
// vermelho
digitalWrite(12, HIGH); delay(3000);
digitalWrite(12, LOW); // vermelho
}
delay(200);
}
float sonar(int pino_TRIG, int pino_ECO) {
float tempo, distancia;
pinMode(pino_TRIG, OUTPUT) ;
pinMode(pino_TRIG, INPUT) ;
digitalWrite(pino_TRIG, LOW) ;
delayMicroseconds(2);
digitalWrite(pino_TRIG, HIGH) ;
delayMicroseconds(10);
digitalWrite(pino_TRIG, LOW) ;
tempo = pulseIn(pino_ECO, HIGH);
distancia = (tempo * 0.0343) / 2;
return distancia;
}