Hola bienvenidos a un nuevo capítulo de este máster en arruino y en esta oportunidad vamos a ver el
sensor ultrasónico un sensor de distancia el HS S. R 04.
Este sensor es muy popular y nos sirve para estimar la distancia a un obstáculo que tenga al frente.
Este tipo de sensores lo que hace es emitir una ráfaga de ultrasonidos como vemos en la animación esperando
que rebote en algún obstáculo próximo.
En este caso el alcance máximo aproximado es de unos cuatro a cinco metros.
Su principio de funcionamiento se basa en que la velocidad del sonido en el aire es una constante que
ronda los 300 metros por segundos entonces estimando cuánto demora en llegar este eco.
Podemos conocer así la distancia aproximada el Sr 0 4 tiene 4 pines el primero de la derecha es el que
vamos a conectar a gran onda o al negativo de la placa Arduino.
El positivo es este que vemos bien a la izquierda y en el medio tenemos dos pines de pulsos.
El primer pin del que vamos a hablar es el thriller o gatillo que al poner en ese PIN un pulso de al
menos 10 microsegundos vamos a hacer que se genere esa ráfaga de ultrasonidos se dispara el sensor enviando
una ráfaga una ráfaga muy corta de ultrasonidos esperando que viaje por el aire y rebote en algún obstáculo.
De inmediato no bien sale la ráfaga por el PIN eco vamos a tener un valor o un pulso que va hacia positivo
y se va a prolongar durante el tiempo hasta que el sensor reciba alguna respuesta no bien el eco ingresa
al receptor del sensor ese pulso pasa a cero.
Entonces vamos a poder decir que el ancho del pulso que obtenemos en eco es proporcional a la distancia
a la que está el obstáculo.
Vamos a decir que los microsegundos que le tomó el eco en ir y volver dividido 58 es igual a la distancia
en centímetros así que ya con todo esto claro sólo nos resta repasar cómo vamos a conectar estos pines
a la placa Arduino iba a ser sumamente fácil vamos a conectar.
Como dijimos recientemente el BCE directamente a 5 voltios de la misma placa Arduino Trigger lo vamos
a conectar en el PIN digital Número 3 y Eco lo vamos a conectar en el PIN digital Número 2 Gran ya no
necesita más explicación.
Directo al grano de la placa Arduino con esto conectado vamos al código.
Como primera medida vamos a crear dos variables una llamada Trig a donde vamos a guardar el pin que
corresponde a dicho Pin sería el 3 y otra variable llamada hehco a donde vamos a guardar el PIN correspondiente
también o dicho pin.
Bueno en este caso van a ser variables constantes del tipo Veidt algo que vamos a usar con certeza va
a ser la terminal entonces habilitamos el puerto serie y nos vamos a manejar con dos funciones que vamos
a crear en este momento una va a ser una función que va a devolver un entero.
Así es va a devolver un entero y se llama mide distancia
podemos presumir que acá adentro vamos a medir la distancia que vamos a devolver a donde llamemos.
Supongo que en ese valor la distancia en cuestión vía otra función la voy preparando es gay no devuelve
nada ni recibe nada llamada gatilla perfecto.
Entonces algo que me está faltando acá ya tengo la estructura preparada y vamos a empezar a escribir
líneas algo que me está faltando acá es definir qué rol van a jugar cada uno de los pines vamos Pin
mouse.
En el caso del gatillo obviamente va a ser de salida
y en el caso de Eco va a ser de entrada porque yo voy a escuchar voy a recibir datos voy a medir el
ancho de pulso entrada perfecta algo que me quiero asegurar es que no se vaya a gatillar accidentalmente
que no se metan ruidos entonces al gatillo lo que voy a hacer es ponerlo en bajo
perfecto esto sería todo por acá volvemos a gatilla en gatillo vamos a generar un pulso un pulso de
10 microsegundos que era lo que necesitamos como mínimo para generar que se dispare el sensor y emita
la ráfaga ultrasónica entonces vamos a hacer lo siguiente Digital Right vamos a poner en alto el PIN
Trig
hecho esto vamos a utilizar Dilemma micro seconds para poder generar ese ancho de 10 microsegundos y
luego inevitablemente debemos poner en cero este pin
como segunda medida pasemos acá en mi distancia y que primero vamos a hacer es gatilla llamamos a la
función que tenemos un poco más abajo para que se genere este pulso para medir el ancho de pulso de
respuesta.
Tenemos varios métodos uno complejo sería a través de la función micros pariente de milis funciona igual.
Bueno determinar cuándo se pone en alto el pulso cuando se ponen bajo restar pero nos estaremos complicando
porque Arduino tiene una maravillosa función que es
capaz de medir el ancho de pulso que ingrese por alguno de los pines.
Entonces qué tengo que pasarle a Pulcinella.
Tengo que pasar por donde va a venir ese pulso y Eco.
Y en segundo lugar tengo que pasarle si quiero medir la parte alta de la parte baja del pulso.
En nuestro caso en la parte alta esto me va a devolver un valor en microsegundos que voy a grabar en
una variable de tipo oblongo llamada Tiempo perfecto
lo último que me estaría faltando acá es devolverle a quien me haya llamado o sea a ha llamado a esta
función a ese lugar le tengo que devolver cosas y el valor de tiempo perfecto entonces ya lo último
quiero ir viendo si tengo algún error haber nada bien ya lo último sería desde el Luv ahora sí decir
supongamos a ver Long privamos el tiempo primero yo puedo decir así.
Tiempo es igual a mi de distancia.
Hasta ahí me siguen en básico serio el punto LN.
Tiempo de distancia llama a esta función devuelvo el tiempo llega el tiempo entonces y se mete adentro
de esta otra variable tiempo que no le cree en ningún lado así que le tengo que volver a crear acá pero
a decir verdad así como puedo hacer esto en versión larga yo tranquilamente puedo hacer esto.
Mira
mi distancia lo pongo directamente acá y con una línea Soluziona toda la impresión de la distancia que
en realidad ahora estoy retornando tiempo no estoy retornando a la distancia pero quiero ir viendo como
mide
Bamiyán estos números raros
acá es 9600.
Ahora si
y acá estoy poniendo la mano cerca del sensor la Alejo acercó miren cómo se reducen los microsegundos
así que yo me vuelvo el código y voy a aplicar la fórmula porque entonces en tiempo vamos a crear una
segunda variable y a hacer distancia y le voy a decir que va a ser igual a tiempo dividido 58 o me explicaba
la fórmula y ahora sí devuelvo distancia tenemos el valor en centímetros.
Ahora grabo de nuevo
y cómo ven la precisión es realmente sorprendente.
Bueno ya tenemos nuestro sensor de distancia funcionando lo tenemos hecho de una manera prolija ordenada
en funciones.
Listo para irnos preparando para un gran proyecto.
Gracias por la compañía y nos vemos en la próxima clase.