lunes, 13 de mayo de 2019

SENSOR DE ULTRASONIDO

long distancia;//Creamos la variable de la distancia
long tiempo;//Creamos la variable del tiempo
int pinTrig=9;//Declaramos la variable Trig, que es el que envía el ultrasonido en el pin 9.
int pinEcho=8; //Declaramos la varibale Echo, que es la que recoge el rebote del ultrasonido, en el pin8.
int verde=13;//Declaramos el led verde en el pin 13.
int amarillo=2;//Declaramos el led amarillo en el pin 2;
int rojo=4;//Declaramos el led rojo en el pin 4;
int sonido=6;//Declaramos el zumbador en el pin 6;
int tonoa=2000;//Declaramos el tono a en 2000hz.
int tonob=5000;//Declaramos el tono b en 5000Hz.
int tonoc=1000;//Declaramos el tono c en 1000Hz.
void setup(){
  Serial.begin(9600);// El ordenador se conectar con la placa a 9600 bytes por segundo.
  pinMode(pinTrig, OUTPUT); //PIN9 como salida/TRIG para enviar el ultrasonido
  pinMode(pinEcho, INPUT);//PIN8 entrada,recoge el rebote del ultrasonido
  pinMode(verde,OUTPUT);// led verde como salida.
  pinMode(rojo,OUTPUT);//led rojo como salida
  pinMode(amarillo,OUTPUT);//led amarillo como salida.
  pinMode(sonido,OUTPUT);//el zumbador como salida.
}
void loop(){
  digitalWrite(pinTrig,LOW); /* Por cuestión de estabilización del sensor*/
  delayMicroseconds(5);//esperamos 5 microsegundos.
  digitalWrite(pinTrig, HIGH); /* envío del pulso ultrasónico*/
  delayMicroseconds(10);//esperamos 10 microsegundos.
  tiempo=pulseIn(pinEcho, HIGH);//
  distancia= int(0.017*tiempo); //distancia medida en cm
  Serial.println("Distancia ");//En la consula aparece la palabra distancia.
  Serial.println(distancia);
  Serial.println(" cm");//En la consula aparece la palabra cm
  delay(1000);//esperamos 1000ms
    if(distancia>30){//creamos una condicional
  digitalWrite(rojo,LOW);
  digitalWrite(amarillo,LOW);
  digitalWrite(verde,LOW);
  noTone(sonido);
    delay(10);//si la distancia es mayor que 30 cm todos los led estan apagados y esperamos 10 ms.

    }else
    {
      if(distancia>20d&&distancia<30){
 
    digitalWrite(rojo,LOW);
    digitalWrite(verde,HIGH);
    digitalWrite(amarillo,LOW);
    tone(sonido,tonoc,1000);
    delay(10);//si la distancia es mayor de 20 cm y menor que 30 cm solo se encience el led verde y espera 10 ms.
      }
      else{
        if(10<=distancia&&distancia<20){
  digitalWrite(rojo,LOW);
  digitalWrite(amarillo,HIGH);
  digitalWrite(verde,LOW);
  tone(sonido,tonob,100);
  delay(10);//si la distancia es mayor o igual que 10 cm y menos que 20 cm ,solo  se enciende el del amarillo.
  }
      else{
 
  if(distancia<10){
  digitalWrite(rojo,HIGH);
  digitalWrite(amarillo,LOW);
  digitalWrite(verde,LOW);
  tone(sonido,tonoc,10);
    delay(10);si la distancia  es manor que 10 cm, solo se enciende el led rojo y esperamos 10 ms.
  }
   
  }
      }
}

calendario