(aumenta su intermitencia, mientras mas cerca esté el objeto)
int led = 2;
int trig = 3;
int echo = 6;
int distancia;
int duracion;
void setup() {
pinMode(trig, OUTPUT); //trig es la salida del pulso o señal
pinMode (echo, INPUT);// receptor o entrada de el pulso o señal
pinMode(led, OUTPUT); // actuador (led, parlante, motor DC, etc...)
Serial.begin(9600); // valor en dispositivo de visualizacion(monitor serie) velocidad de 9600bps comunicación con el ordenador.
}
void loop() {
digitalWrite(trig,HIGH); //emision de pulso o señal
delay(1); // espera de 1 milisegundo
digitalWrite(trig, LOW); // apagar el emisor de de pulso o señal
duracion=pulseIn(echo, HIGH); // devuelve un valor de tiempo, echo espera un pulso alto (calcula el tiempo entre la emision del pulso y la recepcion)
distancia = duracion/58.2; //transforma el tiempo en distancia usando duracion / constante 58.2(dato que da el fabricante)
Serial.println(distancia); // imprime en monitor serie la informacion de distancia
delay (200); // tiempo en pantalla de la respuesta
// con lo anterior, nuestro programa puede otorgar información de la distancia de objetos.
//para realizar una accion cuando un objeto llegue a cierta distancia, hay que seguir lo siguiente...
if(distancia<=20 && distancia >=0){ //instrucción, lo que quiero que verifique
digitalWrite(led, HIGH); // encender el led
delay(distancia*10); // tiempo del led encendido, tiempo proporcional a la distancia(aumenta velocidad al acercar el objeto)
digitalWrite(led, LOW); // apagar el led
}
}