Está en la página 1de 7

República Bolivariana de Venezuela

Universidad de los andes

Facultad de ingeniería

Escuela de ingeniería Mecánica

Práctica 8.
Midiendo distancias con un sensor de ultrasonidos
8.1 Objetivo General:

Utilizar un sensor de ultrasonido, HC-SR04 o PING de Parallax, para


medir distancias

8.2 Materiales y Métodos

1. Una tarjeta Arduino Uno-R3 o Arduino Mega 2560.


2. Un cable USB impresora.
3. Un computador.
4. Cables para el montaje del circuito.
5. Tarjeta Protoboard.
6. Un sensor de ultrasonido HC-SR04 o PING de Parallax.

El sensor ultrasonido tiene como principio de funcionamiento de que


emite un sonido, este rebota sobre la superficie que tiene frente de él,
al mismo tiempo mide el tiempo que la señal tarda en regresar. La
velocidad que va el sonido junto con el tiempo que tarda en regresar
la señal va a indicar la distancia a la cual está el objeto.

8.3 Montaje de la práctica:

Con el fin de comprender el funcionamiento del circuito, así como


verificar todas las conexiones existentes, se realiza en primer lugar el
montaje en el programa Fritzing.

Figura 1. Montaje del circuito para el sensor HC-SR04.


Figura 2. Montaje del circuito para el sensor PING de Parallax.

Si se va a trabajar con el sensor HC-SR04, ver Figura 3, hay que tener


en cuenta que tiene 4 pines, la conexión del cable rojo va desde el pin
VCC del sensor al pin de 5V de la tarjeta Arduino. El cable azul va
desde el pin TRIG del sensor al pin 12 de la tarjeta Arduino. El cable
verde va desde el pin ECHO del sensor al pin 11 de la tarjeta Arduino.
El pin 11 de la tarjeta tiene al lado un símbolo ( ̴) .  Por último, el cable
negro va desde el pin GND de sensor al pin de tierra de la tarjeta
Arduino.

Figura 3. Sensor de Ultrasonido utilizado en la práctica.

Luego que construir el circuito en el programa Fritzing, se desarrolla


del programa en el IDE de Arduino.
8.4 Código en el IDE de Arduino:

-Se debe seleccionar en la IDE de Arduino el tipo de tarjeta con el que


vamos a trabajar siendo Arduino Uno-R3 o Arduino Mega 2560.

– Se selecciona el Puerto Serial, es decir, el puerto USB al cual se va a


conectar la tarjeta Arduino con el computador.

– Se realiza el código:

 Inicialmente se debe identificar el programa que se está


desarrollando, por tanto, se asigna un nombre al programa, esto
se hace empleando el símbolo //.
 Se deben declarar las variables que serán utilizadas en el
programa. Pero primero se debe incluir el paquete dentro de la
IDE de Arduino llamado NewPing. El paquete carga los objetos
que permiten usar el dispositivo (HC-SR04). El comando para
llamar al paquete es #include.
 Se debe declarar la variable de accionar el sensor con el
comando #define TRIGGER_PIN, se define la variable y se
coloca el valor del pin en la cual enviará el sonido, en nuestro
caso será el pin #define TRIGGER_PIN 12.
 Luego se declara la variable de repetición, la cual permitirá saber
a qué distancia se encontró con un obstáculo. Para esto
utilizamos el comando #define ECHO_PIN, el pin que permite
enviar la señal modulada entre el obstáculo y el sensor y va al
pin 11. Nos quedaría entonces #define ECHO_PIN 11.
 Por último, debemos definir a que distancia máxima podrá leer el
sensor, para esto utilizaremos el
comando #define MAX_DISTANCE, en este caso se indicará una
distancia de 200 centímetro. Este comando es importante ya que
es el que le dará a la señal la distancia de ir y venir para que el
sensor pueda leer una respuesta.
 Seguidamente se realiza la declaración de las configuraciones de
las variables o la inicialización de la comunicación serie dentro de
los corchetes que delimitan el bloque de programa void setup ().
Para la realización de esta práctica se trabaja con la
comunicación serie, es decir, la comunicación de datos con el
computador. Para abrir el puerto serie se utiliza el
comando Serial.Begin(115200); indicando dentro de los
paréntesis la velocidad de comunicación con el computador, esta
generalmente es 9600 bits por segundo, aunque otras tasas
pueden ser soportadas.
 Luego de inicializada la comunicación serie, se procede con el
bloque de programación que se encuentra ubicado en el interior
de los corchetes del comando void loop () el cual se ejecuta
continuamente leyendo las entradas y generando las salidas. En
las primeras instrucciones del bloque de programa se quiere
darle un delay de 50, ya que es necesario que tenga un tiempo
de espera entre los pines. Luego a través del comando unsigned
int uS = sonar.ping(), permite enviar la señal digital la cual se
encar de enviar el sonar y medir el tiempo en que tarda en
retornar.
 Posteriormente, se emplea la función Serial.print(); para mostrar
el valor medido a través del monitor Si se quieren desplegar en
el puerto serial palabras o frases estas deben ir delimitadas
mediante los comillas, es decir, Serial.print (“Ping:    ”). Luego
para que pueda convertir el tiempo en que la señal va y viene en
distancia (cm) debemos utilizar el comando Serial.print (uS/
US_ROUNDTRIP_CM). Luego Serial.println(“cm:    ”).
 Finalmente se debe verificar que al final de cada instrucción se
haya colocado el respectivo punto y coma, de lo contrario
habrán errores a la hora de compilar.
 Una vez compilado el programa se ejecuta el mismo. Si las
conexiones se hicieron de manera correcta el señor capta y
envía las señal a la tarjeta y esta posteriormente al monitor, sin
embargo para poder observar estos datos es necesario activar el
monitor serial, esto se realiza oprimiendo click izquierdo en la
barra de herramientas del IDE de Arduino que señaliza el
monitor serial en la parte superior derecha, Figura 4.

NOTA: Para que el IDE de Arduino pueda entender los comandos es


necesario que al final de cada instrucción se coloque punto y coma (;).

En el siguiente algoritmo se muestra el código en el IDE de Arduino de


los procedimientos anteriormente señalados:

// Medir distancia con sensor ultrasonido HC-SR04


#include<NewPing.h>
#define TRIGGER_PIN 12
#define ECHO_PIN 11
#define  MAX_DISTANCE 200
NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); // NewPing setup of pins and
maximum distance.
void setup(){
Serial.begin(115200);
}
void loop(){
delay (50);
unsigned int  uS=sonar.ping ();
Serial.print (“Ping: “);
Serial.print (uS/ US_ROUNDTRIP_CM);
Serial.print (“cm”);
}

Algoritmo 1 Código de Lectura de valor de distancia a través


de un sensor de ultrasonido

Figura 4. Botón para activar el Monitor Serial.

La explicación y el código anterior son para el sensor HC-SR04. Si se


dispone del sensor Ping Parallax el código del programa, así como la
simulación virtual del circuito lo puede ver en el portal
https//123d.circuits.io:

https://circuits.io/circuits/3757681-practicas-8-midiendo-distancias-
con-un-sensor-de-ultrasonidos

8.5 Conclusión:

Se ha utilizado el sensor de ultrasonido con una librería que facilita en


gran medida el desarrollo de aplicaciones. Sin embargo, es de destacar
que también se pueden desarrollar paquetes propios de código que
optimice el uso del tiempo del CPU.

El código realizado con la librería NewPing queda bastante sencillo


conjuntamente con el sensor ultrasónico HC-SR04.

Las ventajas e inconvenientes de estos sensores son, al no necesitar el


contacto físico con el objeto, ofrece la posibilidad de detectar objetos
frágiles, como pintura fresca. Además, detecta cualquier material,
independientemente del color, al mismo alcance, sin ajuste ni factor de
corrección.

Los sensores ultrasónicos tienen una función de aprendizaje para


definir el campo de detección, con un alcance máximo y uno mínimo
de precisión de 6 mm. El problema que presentan estos dispositivos
son las zonas ciegas y el problema de las falsas alarmas. La zona ciega
es la zona comprendida entre el lado sensible del detector y el alcance
mínimo en el que ningún objeto puede detectarse de forma fiable.

También podría gustarte