//DECLARACIONES
const int ECHO = 4; // recibe la señal rebotada en el objeto a distancia desconocida
const int TRIG = 5; // emite un tono durante 10uS
//CONFIGURACIÓN // ajustes generales, inicializacion
void setup()
{
Serial.begin(9600); // se inicia la comunicacion serial al standard
pinMode(ECHO, INPUT); // a la constante se le define de entrada
pinMode(TRIG, OUTPUT); // a la constante, se le define de salida
}
//FUNCIÓN LOOP
void loop() // lazo de operacion
{
//Enviar el pulso ultrasónico:
digitalWrite(TRIG, LOW); // iniciamos TX, en cero
delayMicroseconds(4); // la misma tendrá una duración de 4uS
digitalWrite(TRIG, HIGH); // escribimos en disparo (trig) un nivel alto.
delayMicroseconds(10); // lo mantenemos ese valor por 10uS
digitalWrite(TRIG, LOW); // escribe en la salida nivel LOW
//tiempo que tarda en recibir el echo en microsegundos
float tiempo = pulseIn(ECHO, HIGH);
//tiempo en segundos
tiempo = tiempo / 1000000.0;
//calculo de la distancia en m
float distancia = (tiempo * 343)/ 2;
//resultado en el monitor serie
Serial.print("Tiempo: "); // impresion de la palabra "Tiempo:"
Serial.print(tiempo / 2); // efectua el resultado del cálculo
Serial.print("s - Distancia: "); // impresion el texto "s - Distancia : "
Serial.print(distancia); // imprime el valor contenido en distancia
Serial.println("m"); // imprime la unidad "m"
}