// C++ code for calculate distance by a ultrasonic sensor
//Develope by DLM
#define echoPin 7 //definimos el pin del eco
#define triggerPin 8 //definimos el pin del disparo
long duration; //declaro la variable duración como positiva
long distance; //declaro la variable distancia como positiva
void setup() // función que se ejecuta una sola vez, se declara el tipo de pin, inicialización del monitor
{
pinMode(echoPin, INPUT);//Pin de entrada porque el sensor entregará el 1 de llegada de eco al Arduino
pinMode(triggerPin, OUTPUT);//Pin de salida porque la programación ordena que se dispara o no el sonido
Serial.begin(9600);// comienza el monitor en serie, velocidad del monitor 9600 baudios
}
void loop()//Algoritmo que se repetirá cuando se llegue a la última orden, por siempre
{
digitalWrite(triggerPin,HIGH);//activamos el pin de disparo del sonido
delay(0.1); // lo dejamos activado despues de 0,1 milisegundos
digitalWrite(triggerPin,LOW);//desactivamos el sonido
duration = pulseIn(echoPin,HIGH);//asignamos a la variable duración el tiempo que tarda en llegar el pulso de entrada al pin del echo
//v=343m/s=0,0343cm/ms=d/t -> tenemos que despejar d, sabiendo que será la mitad por el eco
//d=(v.t)/2 =(0,0343.t)/2 -> d=0,01715.t
distance = 0.01715*duration; //asignamos a la variable distancia la fórmula para hallarla
Serial.println(distance);//escribe una línea el valor de la distancia
delay(1000);//espera un segundo para reiniciar el bucle y que vuelva a dispar
}