Está en la página 1de 7

Proyecto con Arduino UNO: Medición de distancia de un objeto en un rango de 180° [Ingeniería en Computación], [2022]

Proyecto con Arduino UNO: Medición de distancia de un objeto


en un rango de 180°
Project with Arduino UNO: Measurement of distance of an object in a range of 180°

Astore Matias David1


matiasastore10@gmail.com

Rivero Mateo Tomas2


teoorivero15@gmail.com

Universidad Nacional de Rafaela, Ingeniería en Computación, Ingeniería en Computación I


Resumen
En la búsqueda de lograr un acercamiento a la electrónica y el entendimiento por parte de los estudiantes, se desarrolló un
experimento flexible y de bajo costo basado en Arduino para estudiar la distancia de un objeto en un rango de 180°. El mismo se ha
diseñado en torno a la placa Arduino UNO y el sensor de ultrasonidos HY-SRF05. Este proyecto permite relacionar conceptos de
Física mediante la utilización de herramientas técnicas adquiridas en el cursado de la materia Ingeniería en Computación, dan do así un
quiebre a la introducción de conceptos básicos de la carrera que servirán para años posteriores. Por otro lado, se describen en detalle
los procedimientos, los circuitos montados y el código empleado.

Palabras Clave: Arduino; Distancia; Ultrasonido; Física.


Abstract
In the search for an approach to electronics and understanding by students, a flexible and low-cost experiment based on Arduino was
developed to study the distance of an object in a range of 180°. It has been designed around the Arduino UNO board and the HY-
SRF05 ultrasonic sensor. This project allows relating concepts of Physics through the use of technical tools acquired in the Computer
Engineering course, thus giving a break to the introduction of basic concepts of the career that will serve for later years. On the other
hand, the procedures, the assembled circuits and the code used are described in detail.

Keywords: Arduino; Distance; Ultrasound; Physical.

1. INTRODUCCIÓN
Arduino UNO (Fernandez, 2020) es una placa electrónica de uso genérico, la cual está basada en hardware y software
libre. La misma es fácil de emplear para creadores y desarrolladores, abriendo así infinitas posibilidades y permitiendo su
aplicación en diversos campos de la Ciencia y la Tecnología, especialmente en Electrónica y Robótica. Debido a su
flexibilidad y costo accesible, su aplicación en el ámbito universitario se ha vuelto de gran ayuda en el aprendizaje para los
estudiantes, en particular, aquellos enfocados en carreras con base de electrónica.
En este artículo se presenta un proyecto construido en base a una placa Arduino UNO y otros elementos como
sensores y actuadores. El proyecto fue llevado a cabo por estudiantes de Ingeniería en Computación bajo la supervisión de
profesores, con el fin de adquirir los conocimientos básicos y fundamentales para su introducción a la electrónica. Así
como también para aplicar lo aprendido durante el cursado de la cátedra. Este proyecto permite medir la distancia de un
objeto que se encuentra a una determinada posición dentro de los 180° permitidos por el servomotor. Dicha experiencia
se emplea en el campo de los estudios físicos.
Existen proyectos que utilizan una tecnología similar empleados por varios autores para el estudio de la distancia
(Ebotics, 2018). En (Ebotics, 2018) se realizó una experiencia donde se estudia la distancia de un objeto en un rango
de 180°, la cual fue tomada como punto de referencia para la elaboración del proyecto. En este artículo se amplía el
estudio reforzando y mejorando la información expuesta. Además, se incluyó un Display LCD 16x2 junto con un
potenciómetro para mostrar la información al exterior captada por el sensor ultrasónico sin tener que estar utilizando el
monitor serial, es decir, sin tener que estar observando la pantalla

Astore Matías – Rivero Mateo | 1


de la computadora. El resultado experimental en donde se comprueba el
La estructura de este artículo es como se presenta a correcto funcionamiento del proyecto se presenta en la
continuación. sección 3. En ella se muestra una tabla en donde se
En la sección 2 se detallan los materiales utilizados presentan una serie de mensuraciones.
para la construcción del equipo. Además, se explica En la sección 4, se concluye acerca del proyecto y los
minuciosamente el procedimiento para poder llevar a resultados obtenidos.
cabo esta experiencia, así como también los códigos de
programación empleados, siendo uno de ellos el
principal.

2. MATERIALES Y MÉTODOS/METODOLOGÍA

2.1 Materiales

La placa Arduino UNO R3 SMD (CH340G) es una


placa electrónica de uso genérico y de bajo costo, para la
cual existen diversos ambientes públicos de programación.
Para las placas de la familia Arduino existen varias
extensiones llamadas “shields”, que amplían la
funcionalidad del dispositivo mediante sensores y
actuadores. En esta ocasión, este proyecto se asienta en
base al sensor de distancia ultrasónico HY-SRF05 (SIGMA
Electronica, s.f.), el cual cuenta con dos pines que son los
encargados de enviar pulsos de ultrasonido (Trigger) y
recibir el eco del ultrasonido enviado previamente (Echo).
Para poder lograr que el sensor ultrasónico gire en un radio Figura 1: Materiales utilizados
de 180° se dio uso del SG90 - Micro Servo TowerPro
(SanDoRobotics, s.f.) como también de un soporte acrílico
para obtener un movimiento cómodo encima del actuador. 2.2 Montaje experimental

Asimismo, se implementó como mejora un LCD 1602 - Para la realización de este proyecto en primer lugar se
Display 16x2 (HETPRO, s.f.) con el fin de proyectar en el procedió a realizar un esquema virtual de las conexiones en
mismo la distancia y el ángulo obtenidos a través del la plataforma ThinkerCAD (ThinkerCAD, s.f.) (Figura 2).
sensor de distancia y el servomotor. En complementación A partir de este, una vez en mano los componentes y
a este componente, se utilizó un Potenciómetro lineal 10K materiales necesarios, se procedió a llevar a cabo el
para que pueda controlarse el brillo perteneciente al LCD. proceso de construcción.

Por último, para alcanzar la conexión entre los distintos


componentes anteriormente nombrados se empleó una
Protoboard de 400 puntos, cables dupont macho-macho,
cables dupont macho-hembra y una resistencia de 200Ω.
La estructura de la experiencia fue ensamblada mediante
una caja de cartón.
Figura 2: Esquema de conexiones entre la placa
Arduino UNO y los componentes empleados.
Realizado en la plataforma TinkerCAD (10)

En primer lugar, se realizaron los cortes


correspondientes. Estos fueron los necesarios para la salida
externa de ciertos componentes: LCD, potenciómetro,
sensor ultrasónico junto con sus cables, el servomotor y el

Astore Matías – Rivero Mateo | 2


cable USB que da energía al Arduino. Luego, se procedió a Posteriormente, se colocó el sensor ultrasónico en el
recubrir la caja con papel contact de color azul. soporte acrílico para que el mismo pueda ser unido a la
paleta del servomotor mediante pegamento. Los pines
VCC y GND de ambos componentes fueron conectados a
los buses negativos y positivos de la protoboard. Luego,
los pines TRIG y ECHO del sensor se conectaron a los
puertos digitales 5 y 6, además debe tenerse en cuenta que
el pin OUT no fue empleado en este proyecto. A
continuación, el pin encargado de enviar la señal al
servomotor se conectó al puerto digital 12 de la placa
microcontroladora (Figura 5).

Figura 3: Cortes sobre la estructura.


Una vez preparada la caja, dentro de la misma se realizó
el conexionado del Arduino con la protoboard
proporcionándole la corriente necesaria mediante los pines
GND y 5V de la placa.
Seguidamente se procedió a soldar los pines del display
LCD con un lápiz soldador de estaño. Una vez concluido
esto se conectó el display LCD partiendo con los pines
GND, RW y LED de cátodo conectándolos a la terminal
negativa de la protoboard. Después se potenció el display
conectando el pin VCC y LED de ánodo a la parte positiva
de la protoboard, cabe destacar que para el pin LED de
ánodo se utilizó una resistencia de 200Ω. Además, los
pines DB4 al DB7 se conectaron en los puertos digitales 8, Figura 5: Unión del ultrasonido junto con el
9,10 y 11 de la placa Arduino UNO. Luego, los pines RS y
E del LCD se conectaron a los puertos digitales 2 y 4 servomotor y sus conexiones.
respectivamente. Por último, el pin V0 se conectó al pin Finalmente, concluida la conexión de todos los
medio del potenciómetro para que el mismo pueda ser componentes utilizados se colocaron en sus respectivas
capaz de controlar el contraste del LCD y, los pines posiciones en la caja (Figura 6).
restantes de la resistencia variable se conectaron a los
buses negativos y positivos de la protoboard (Figura 4).

Figura 6: Proyecto finalizado


Figura 4: Soldadura del LCD y
conexión del mismo.

Astore Matías – Rivero Mateo | 3


2.3 Software y código

En este trabajo se utilizó el ambiente de programación Para el correcto uso del LCD primero se limpia el display,
estándar Arduino IDE (el cual utiliza lenguaje similar a es decir, se borran todos los caracteres en caso de que se
C++) que puede ser descargado en (Arduino, s.f.). El inicialice con caracteres a la vista (lcd.clear), también se
mismo permite escribir, depurar, editar y grabar programas inicializa el cursor (lcd.cursor) para que luego se puedan
de una manera sumamente sencilla. visualizar los caracteres y se le aplica al mismo una
posición inicial (lcd.setCursor (filas, columnas)) donde
A continuación, se dará a conocer el código parte por comenzara desde esa ubicación a escribir los datos que el
parte con su respectiva explicación. usuario desea reflejar en pantalla (lcd.print).
Al final de la función, se procede a declarar el pin
En primer lugar, se procedió a definir las librerías que TRIG del sensor HY-SRF05 como salida, asimismo, se
se utilizaron para facilitar la codificación del programa. La declara al pin ECHO del sensor HY-SRF05 como entrada.
librería Servo.h (Crespo, Arduino en español, 2016)
permite a una placa Arduino controlar servomotores RC,
mientras que LiquidCrystal (Crespo, Arduino en español,
2016) permite a la misma controlar las pantallas en base a
la Hitachi HD44780 chipset, que se encuentra en la
mayoría de las pantallas LCD basadas en texto.

En las posteriores líneas se establecieron los pines del


LCD, los cuales corresponden a RS (pin 2) que controla en
qué parte de la memoria LCD se están escribiendo los
datos, enable (pin 4), el cual habilita los registros, D04 (pin
8), D05 (pin 9), D06 (pin 10) y D07 (pin 11). Estos últimos
4 pines (D04 A D07) se utilizaron para enviar bits y
escribir en un registro. Luego, se procedió a definir la
variable que guiara al servomotor.
Dentro de la función void loop () (Proyectos con
Arduino) se declaran los comandos que se ejecutarán de
manera seguida, es decir, se partirá desde la primera
línea de código que se encuentre dentro de la función hasta
En las siguientes líneas de código se declararon como la última e inmediatamente comenzará nuevamente por la
constantes enteras los puertos donde se conectó el pin primera línea. Esta acción se repetirá siempre que la placa
TRIG del sensor HY-SRF05 (pin 6) y pin ECHO del Arduino cuente con suministro eléctrico.
sensor HY-SRF05 (pin 6). También se definieron las Para iniciar el giro del servomotor de 0° a 180° se
variables “duración”, “distanciaCm” como flotantes y un utilizó un bucle for () como también se dio uso del mismo
iterador entero “pos”, que luego se utilizaron para el para que el servomotor gire de 180° a 0°. Por otro lado,
cálculo de la distancia y el barrido del servomotor. para el cálculo de la distancia, dentro del for () primero se
apagó el pin TRIG del sensor para un funcionamiento
correcto. Luego se enciende el mismo pin para emitir una
onda original desde el sensor hacia el objeto, después de
diecinueve microsegundos se procede a apagar el pin
TRIG con el mismo comando (digitalWrite). El tiempo
En la función void setup () (Proyectos con Arduino, que el sonido tarda en llegar al receptor de ECHO es
s.f.) se especifican al microcontrolador los comandos que almacenado en la variable "duración". Consecuentemente,
se ejecutarán en el momento del arranque únicamente, esto se procede a calcular la distancia que se verá reflejada tanto
quiere decir que solo se ejecutarán en el momento de en el LCD (lcd.print) como en el monitor serial
encendido de la placa Arduino. Es aquí donde se inicializa (Serial.println).
el LCD (lcd.begin), como también se define el PIN de
control donde se conectó el servomotor (servo.attach).

Astore Matías – Rivero Mateo | 4


Proyecto con Arduino UNO: Medición de distancia de un objeto en un rango de 180° [Ingeniería en Computación], [2022]

Cabe destacar que además del código explicado


anteriormente se utilizó un segundo código junto con un
software llamado Processing (Processing, s.f.), el cual actúa
como herramienta alternativa al monitor serial para
visualizar la información mesurada por el proyecto.
El código para el funcionamiento del experimento es
muy similar al citado con anterioridad, solo posee unas
pequeñas modificaciones que permiten que el mismo
pueda complementarse con el código necesario para la
proyección de la información en el software Processing.
Debe mencionarse que tanto el código del Arduino IDE
como el de Processing no fueron elaborados por los
autores debido a que ambos escapan de los conocimientos
adquiridos. Solo se produjo una pequeña modificación en
la línea de código diecinueve en donde se modificó el
puerto “COM7” por “COM5”. Ambos fueron obtenidos
de un video de YouTube (UNO, 2020) (Figura 7).

Por último, para el retorno del servomotor, las


sentencias dentro del bucle son las mismas. Pero en este
caso se realizan cambios para que el servomotor realice su
recorrido de vuelta. Cabe destacar que en ambos for () se
definió un paso de tres, quiere decir que el servomotor se
moverá cada tres grados, tanto en la ida como en la vuelta.

Figura 7: Visualización del proyecto con el


software Processing.

2. Resultados experimentales

A modo de ejemplo, se mostrarán a continuación


en una tabla los datos experimentales de cinco
distancias en un radio de 180° grados, las cuales se
obtuvieron colocando diversos objetos alrededor de la
estructura del proyecto (Figura 8).

Esto se realizó con el fin de comprobar el


funcionamiento adecuado del proyecto junto con sus
actuadores y sensores. Para comprobar que el mismo
mesuro correctamente se utilizó una cinta métrica y

Astore Matías – Rivero Mateo | 5


gracias a esta se pudo concluir que el proyecto realiza web se logró una consolidación exitosa de lo objetado.
correctamente su tarea. Además, se necesitaron ciertos conocimientos de
programación para la codificación del proyecto, en base a
Mensuraciones Distancia Angulo esto, gracias a la presencia de códigos similares en diversos
1 15cm 24° sitios web y un estudio previo de los autores mediante
videos y lectura, se logró la consolidación del programa
2 55cm 36° para el funcionamiento adecuado de la experiencia.
3 10cm 72° El proyecto muestra que Arduino junto con su amplio
4 92cm 147° abanico de sensores y actuadores es un instrumento idóneo
para el aprendizaje e introducción a la electrónica debido a
5 23cm 168° que es flexible, de precio asequible y se adapta a diferentes
Figura 8: Tabla de valores para la comprobación prácticas y aplicaciones. Asimismo, la utilización de la
del correcto funcionamiento del proyecto. tecnología de sensores integrada con Arduino puede
ayudar a los estudiantes a entender cambios físicos y
químicos, relación entre variables dependientes y
obtención de datos en tiempo real con el empleo de
recursos sencillos.

4. Agradecimientos

Todos los autores agradecen al Prof. Martín Picó, Prof.


Javier Fornari y Prof. Fabio Rocchi de la Universidad
UNRaf Argentina por las sugerencias y el apoyo tanto en
elproyecto como en la redacción de este artículo.
Figura 9: Esquema de conexiones realizado en el
software Fritzing. 5. Referencias

Arduino. (s.f.). Arduino. Obtenido de Arduino:


https://www.arduino.cc/en/software
Crespo, M. D. (Marzo de 2016). Arduino en español.
Obtenido de Manuel Delgado Crespo:
http://manueldelgadocrespo.blogspot.com/p/bib
ilioteca-servo.html
Crespo, M. D. (Marzo de 2016). Arduino en español.
Obtenido de Manuel Delgado Crespo:
http://manueldelgadocrespo.blogspot.com/p/bib
lioteca-lyquid-crystal.html
Figura 10: Esquema eléctrico. Diagrama de Ebotics. (22 de Octubre de 2018). PROYECTO Nº 3:
conexionado de los componentes a la placa Radar 180º. Obtenido de Ebotics:
Arduino extraído de ThinkerCAD (10)
https://ebotics.com/es/actividad/proyecto-no-3-
3. Conclusión radar-180o/
Fernandez, Y. (3 de Agosto de 2020). Qué es Arduino, cómo
En base a la búsqueda, recopilación y comprobación de
funciona y qué puedes hacer con uno. Obtenido de
la experiencia se puede concluir que la placa Arduino
UNO ha mostrado una gran versatilidad a la hora de Xataka: https://www.xataka.com/basics/que-
experimentar y adquirir datos con eminente precisión. Los arduino-como-funciona-que-puedes-hacer-uno
componentes son de fácil manejo, construcción y de bajo HETPRO. (s.f.). LCD 16x2. Obtenido de HETPRO:
costo. El equipo utilizado pudo ser construido por un
https://hetpro-store.com/lcd-16x2-blog/
valor redondeado de $ARS5200 (02/03/2022). Debe
destacarse que se presentaron ciertos inconvenientes a la Processing. (s.f.). Processing. Obtenido de Processing:
hora de desarrollar la experiencia, pero gracias al aporte de https://processing.org
profesores y sitios

Astore Matías – Rivero Mateo | 6


Proyecto con Arduino UNO: Medición de distancia de un objeto en un rango de 180° [Ingeniería en Computación], [2022]

Proyectos con Arduino. (s.f.). Funciones arduino void loop () y SIGMA Electronica. (s.f.). Sensor ultrasónico HY-SRF05.
void setup (). Obtenido de Proyectos con Arduino: Obtenido de SIGMA Electronica:
https://proyectosconarduino.com/curso/funcion https://www.sigmaelectronica.net/producto/hy-
es-arduino-void-loop-y-void-setup/ srf05/
SanDoRobotics. (s.f.). Micro Servomotor Tower Pro SG90. ThinkerCAD. (s.f.). Obtenido de ThinkerCAD:
Obtenido de SanDoRobotics: https://www.tinkercad.com/
https://sandorobotics.com/producto/sg90/
UNO, R. (02 de 07 de 2020). PROYECTO RADAR con
SIGMA Electronica. (s.f.). Sensor ultrasonico HY-SRF05. ARDUINO utilizando SENSOR de
Obtenido de SIGMA Electronica: ULTRASONIDOS [explicado paso a paso] +códigos.
https://www.sigmaelectronica.net/producto/hy- Obtenido de Robor UNO:
srf05/ https://www.youtube.com/watch?v=tDJb5aCa9P
Q&t=277s&ab_channel=RobotUNO

Astore Matías – Rivero Mateo | 7

También podría gustarte