//************PRÁCTICA 11***************
//Sensor ultrasónico HC-SR04 y monitor serial. Medir distancias 
//dentro de un rango
//Frecuencia 40 Khz
//Rango 2 a 400 cms

int TRIG = 10;      //pin lee el pulso para empezar la medición
int ECO = 9;
int LED = 3;
int DURACION;
int DISTANCIA;

void setup() {
  pinMode(TRIG, OUTPUT);
  pinMode(ECO, INPUT);
  pinMode(LED, OUTPUT);
  //activar la comunicación serial
  Serial.begin(9600);  //9600 es la tasa de velocidad de comunicación, 
  //cantida de bits por segundo que se recibe
}

void loop() {
 digitalWrite(TRIG, HIGH);
 delay(1);
 digitalWrite(TRIG, LOW);
 DURACION = pulseIn(ECO, HIGH);  //devuelve un valor de triempo en microsegundo
//convertir el tiempo de rebote en distancia
 DISTANCIA = DURACION / 58.2;  //58.2 es una constante especificada por el fabricante del sensor

//monitor serial/serie para visualizar la distancia registrada
//enviar el valor de la distancia
Serial.println(DISTANCIA);  //imprime en pantalla
delay(200); //200 milisegundo
//Encendido del led al detectar el obstáculo

if(DISTANCIA <= 20 && DISTANCIA >= 0)
{ //Evaluar la distancia. Valor negativo si está fuera de rango
  digitalWrite(LED,HIGH);
  delay(DISTANCIA * 10);
   digitalWrite(LED,LOW);
}//IF

}//loop