miércoles, 17 de febrero de 2021

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);

    }

      }

  }

No hay comentarios:

Publicar un comentario