#define echo 12
#define trig 13
#define MtoLonge 18
#define Longe 5
#define Medio 4
#define Perto 2
#define MtoPerto 15
void setup() {
Serial.begin(115200);
pinMode(trig, OUTPUT);
pinMode(echo, INPUT);
pinMode(MtoLonge, OUTPUT);
pinMode(Longe, OUTPUT);
pinMode(Medio, OUTPUT);
pinMode(Perto, OUTPUT);
pinMode(MtoPerto, OUTPUT);
}
float readDistanceCM() {
digitalWrite(trig, LOW);
delayMicroseconds(2);
digitalWrite(trig, HIGH);
delayMicroseconds(15);
digitalWrite(trig, LOW);
int duration = pulseIn(echo, HIGH);
return duration * 0.034 / 2;
}
void loop() {
float distance = readDistanceCM();
if (distance >= 75 && distance < 100){
digitalWrite(MtoLonge, HIGH);
digitalWrite(Longe, LOW);
digitalWrite(Medio, LOW);
digitalWrite(Perto, LOW);
digitalWrite(MtoPerto, LOW);
}
if (distance >= 50 && distance < 75){
digitalWrite(MtoLonge, LOW);
digitalWrite(Longe, HIGH);
digitalWrite(Medio, LOW);
digitalWrite(Perto, LOW);
digitalWrite(MtoPerto, LOW);
}
if (distance >= 35 && distance < 50){
digitalWrite(MtoLonge, LOW);
digitalWrite(Longe, LOW);
digitalWrite(Medio, HIGH);
digitalWrite(Perto, LOW);
digitalWrite(MtoPerto, LOW);
}
if (distance >= 25 && distance < 35){
digitalWrite(MtoLonge, LOW);
digitalWrite(Longe, LOW);
digitalWrite(Medio, LOW);
digitalWrite(Perto, HIGH);
digitalWrite(MtoPerto, LOW);
}
if (distance >= 10 && distance < 25){
digitalWrite(MtoLonge, LOW);
digitalWrite(Longe, LOW);
digitalWrite(Medio, LOW);
digitalWrite(Perto, LOW);
digitalWrite(MtoPerto, HIGH);
}
Serial.print("Distancia Medida: ");
Serial.println(readDistanceCM());
delay(1000);
}