int TRIG = 10;
int ECO = 9;
int LED = 3;
int DURACION;
int DISTANCIA;
void setup(){
pinMode(TRIG, OUTPUT);
pinMode(ECO, INPUT);
pinMode(LED, OUTPUT);
Serial.begin(9600); // 9600 es la tasa de vel de la comuniacion, la cantidad de bits por segundo que estaremos recibinedo
}
void loop(){
digitalWrite(TRIG, HIGH);
delay(1);
digitalWrite(TRIG, LOW);
DURACION = pulseIn(ECO, HIGH); // pulseIn devuelve un valor de tiempo en microseg que le asignamos a la variable duracion. Esta linea nos da el tiempo que ha transcurrido desde que la emision del pulso ultrasonico hasta la recepcion del mismo, probocado por el rebote en un objeto.
DISTANCIA = DURACION/58.2;//distancia medida en cm (58.2 es una cte especificada por el fabricante del sensor)
Serial.println(); // Serial.println es imprimir una linea, colocara el valor de la variable distnacia y luego un enter de forma automatica.
delay(200);
if (DISTANCIA<= 20 && DISTANCIA >=0){ // le ponemos mayor a cero para desestimar un valor negativo (que suelen aparecer cuando el sensor esta fuera de rango)
digitalWrite(LED, HIGH);
delay(DISTANCIA*10); // demora proporcional a la distancia. Mientras mas cerca, mas rapido parpadea el led.
digitalWrite(LED, LOW);
}
}