ULTRASONIDOS
//declaramos todos los puertos en los que están conectados los materiales de la práctica
long distancia;
long tiempo;
int pinTrig=8;
int pinEcho=9;
int verde=10;
int amarillo=11;
int rojo=5;
int sonido=13;
void setup(){ //declaramos si cada puerto de los anteriores son entradas o salidas
Serial.begin(9600);
pinMode(pinTrig, OUTPUT);
pinMode(pinEcho, INPUT);
pinMode(verde, OUTPUT);
pinMode(amarillo, OUTPUT);
pinMode(rojo, OUTPUT);
pinMode(sonido, OUTPUT);
}
void loop(){ // declaramos que el ultrasonidos mide cada cierto tiempo a que distancia está el objeto y lo convierta en una medida en cm
digitalWrite(pinTrig,LOW);
delayMicroseconds(5);
digitalWrite(pinTrig, HIGH);
delayMicroseconds(10);
tiempo=pulseIn(pinEcho, HIGH);
distancia= int(0.017*tiempo);
Serial.println("Distancia ");
Serial.println(distancia);
Serial.println(" cm");
delay(1000);
if(distancia>30) { // declaramos que si la distancia es mayor que 30, solo se encienda el led verde y el zumbador no emita ningún sonido
digitalWrite(verde,HIGH);
digitalWrite(amarillo,LOW);
digitalWrite(rojo,LOW);
noTone(sonido);
}
else{ //declaramos que si la distancia es entre los 30 y los 15 cm, se encienda el led amarillo y el zumbador emita un sonido con una frecuencia de 400 Hz
if(distancia<30&&distancia>15) {
digitalWrite(verde,LOW);
digitalWrite(amarillo,HIGH);
digitalWrite(rojo,LOW);
tone(sonido,400);
}
else{ //declaramos que si no cumple ninguna de las dos condiciones anteriores, el led rojo se encienda y el zumbador emita un sonido de 1000 Hz
digitalWrite(verde,LOW);
digitalWrite(amarillo,LOW);
digitalWrite(rojo,HIGH);
tone(sonido,1000);
}
}
}