Está en la página 1de 5

CRONÓMETRO DE ATLETAS CON CUATRO

PULSADORES
(octubre de 2020)
Ronald Yessid Álvarez Suarez, Yennzy Camila Barrera Ardila.
Santander
Unidades Tecnológicas de Santander
ryalvarez@uts.edu.co , ycbarrera@uts.edu.co

Resumen- Este documento presentará las definiciones y Proteus, como primera instancia. El resultado o conversión de
funciones de una placa Arduino nano tales como la elaboración y entrada y salidas digital (I/0), se obtuvo con varias pruebas en
programación de un contador para saber el tiempo en segundos la correspondiente programación en este software, cabe
de 4 atletas, dependiendo de la salida del atleta se accionará un recalcar que se tuvo en cuenta que se hizo uso a los nuevos
pulsador y el contador empezará a contar el tiempo de dicho
atleta en segundos. para que dicho programa funcione se utiliza
comandos en la programación en C++, teniendo en cuenta las
programación por registros ya que es más eficiente al realizar restricciones del código. Mas adelante se explicará el proceso
múltiples tareas con una sola instrucción como la de poner varios realizado en la programación, finalmente luego de copilado y
bits en alto y bajo con el registro PORTD, dicha programación rectificado su funcionamiento en la simulación se procedió a
de registro nos permite eliminar el script DELAY ya que esta es traspasar al IDE de Arduino el código y compilado a la placa
muy nociva para el circuito ya que congela la CPU. dicho circuito Arduino-nano, donde estaba con las correctas conexiones al
es elaborado con un display de 4 dígitos a 7 segmentos cátodo protoboard con ayuda de resistencias, tanto de 470 como de
común, 4 pulsadores, 4 transistores 2n2222, la función de dichos 10k, transistores 2N2222 y pulsadores, 4 con exactitud que
transistores es para proteger el display, además de utilizar unos hacen referencia a 4 atletas, guiándose de la respectiva
cuantos resistores para proteger los segmentos del display.
conexión de los pines [2] y del montaje en el software.
Palabras clave- Lenguaje C, Arduino, Cátodo, Display,
programación, cronometro II. MATERIALES Y MÉTODOS

Abstract- This document will present the definitions and La elaboración de esta práctica se llevó a cabo gracias a los
functions of an arduino nano board such as the elaboration implementos que se utilizaron, implementos altamente
and programming of a counter to know the time in seconds programables, los cuales son: placa Arduino nano, resistencias
of 4 athletes, depending on the output of the athlete a button de 470 Ohms conectadas de los segmentos del display al
will be activated and the counter will begin to count the protoboard, resistencias de 10K Ohms y Transistores 2N2222
athlete's time in seconds. For this program to work, register- el cual la conexión de los referentes dígitos está reflejada en la
based programming is used because it is more efficient when Fig. 1. Cuatro pulsadores para que este proyecto funcione a la
performing multiple tasks with a single instruction, such as perfección ya que el fin es realizar un respectivo conteo de
setting several high and low bits with the PORTD register. tiempo a cada atleta (cada pulsador es un atleta) y señalar o
This registry programming allows us to eliminate the indicar cual es el ganador, es decir el que menos tiempo tenga.
DELAY script since it is very harmful to the circuit since it Además de esto, el display de 7 segmentos siendo Cátodo
freezes the CPU. This circuit is made with a 4-digit display común. Toda esta conexión fue en base a la simulación en
in 7 common cathode segments, 4 pushbuttons, 4 2n2222 proteus que puede observar en la Fig. 2. El software amigo que
transistors, the function of these transistors is to protect the permite realizar y comprobar o simular antes de montar en un
screen, as well as use some resistors to protect the screen protoboard el cual se muestra esta implementación en la Fig. 3.
segments. A continuación, se hará una breve descripción, un poco más
entendible, de cada uno de los componentes para entender más
Translated with https://www.spanishdict.com/ a fondo el funcionamiento de este circuito.

Keywords- C language, Arduino, Cathode, Display,


programming

I. INTRODUCCIÓN
El presente informe tiene como objetivo presentar el
respectivo procedimiento y practica realizada en simulación e
implementada en protoboard en el segundo corte del curso
Microprocesadores-II. En este lapso de tiempo se tuvieron en
cuenta las características e instrucciones de un DISPLAY 7-
SEG X4 [1], para la construcción en la Plataforma-Software
1 solo debido a que el microprocesador le asigna a cada
segmento un 1 lógico o un estado lógico ALTO. Para que sea
más claro, en la Fig. 4. Se presenta el display y su conexión en
pines.

Fig. 1. conexión de dígitos a Arduino-nano

Fig. 4.

C. TRANSISTOR 2N2222

Iniciamos con una definición concisa del transistor que se usó,


El transistor 2N2222 o PN2222 es otro de los transistores más
usados junto con el BC548. Por tanto, si te gusta el DIY y eres
un maker, seguramente en algún momento has necesitado uno
de estos dispositivos. En este caso, el PN2222 es un transistor
de silicio de baja potencia y diseñado para aplicaciones de
amplificación lineal y conmutación. [5] se presenta este
transistor en la Fig. 5

Se usó este transistor para realizar conexión directa del pin del
Fig. 2. Montaje en Proteus display al colector de este transistor, base en serie de una
resistencia 10k y de la resistencia al pin IO14 de la placa,
A. Placa Arduino-Nano finalmente Emisor a tierra, tal y como se muestra en la Fig. 1.

Arduino Nano es una placa de desarrollo de tamaño compacto,


completa y compatible con protoboard, basada en el
microcontrolador ATmega328P. Tiene 14 pines de
entrada/salida digital (de los cuales 6 pueden ser usando con
PWM), 6 entradas analógicas, un cristal de 16Mhz, conexión
Mini-USB, terminales para conexión ICSP y un botón de
reseteo tal y como se muestra en la Fig. 3.
Fig. 5. Transistor 2N2222

D. COMPONENTES BASICOS PARA UN PROYECTO-


PRACTICA EN PROTOBOARD

Para este cronometro de atletas, además, fue útil la ayuda de:


jumpers, alambre o cable, resistencias (10k, 470) Ohms,
Fig. 3. Arduino-Nano finalmente nos ayudamos de 4 pulsadores, el cual su conexión
se menciona en la Fig. 6. Igualmente, especificado que pines
se usaron.
B. Display 7 Segmentos x4 dígitos- CÁTODO COMÚN

El display de 7 Segmentos es un dispositivo opto-electrónico


que permite visualizar números del 0 al 9. Se utiliza para
representar visualmente números y algunos caracteres. Este
tipo de elemento de salida digital o display, se utilizaba en los
primeros dispositivos electrónicos de la década de los 70’s y
80’s. Hoy en día es muy utilizado en proyectos educativos o en
sistemas vintage. [4]
La razón por la que se trabajó cátodo común fue porque con
este funcionamiento se obtiene que los pines negativos están
conectados al mismo punto, haciendo que se controle gracias a
Fig. 6. Conexión de los pulsadores
III. PROCEDIMIENTO

A continuación, se hará una descripción sobre el procedimiento


de la programación y montaje que se realizó, tanto en
simulación como en protoboard.

A. PLATAFORMA PROTEUS

En primer lugar, se diseñó el circuito mostrado en la Fig. 2.


Utilizando la guía de pines del Arduino- nano mostrado en la
fig. 7. [5]. Esto para hacer una correcta conexión del display,
sus segmentos y dígitos, al ser el display cátodo común, se tuvo
que investigar que pines servirían.

Fig. 8

Fig. 7

Después de realizar el diseño correctamente, se procedió a


ejecutar la programación en lenguaje C. se proseguirá a
mostrar el diagrama de flujo correspondiente a la
programación de este contador-cronometro por medio de un Fig. 9
diagrama de flujo en las Fig. 8-9-10-11.
Primero, una breve explicación de lo que se hizo en el
código. Este programa se implementa en una función de
inicialización que depende algunos valores que se configuran
como etiquetas en la cabecera para establecer el estado o la
configuración de los puertos digitales de I/0, luego se espera
liberar todas las teclas, se inicializan las variables del sistema
que se necesitaron para este programa e inicializamos los dos
periféricos un TEMPORIZADOR y un GESTOR DE
INTERRUPCIONES EXTERNAS para detectar los cambios
en los pulsadores de manera asincrónica.
Las tareas que hacen referencia al multiplexado que siempre
hemos implementado, la actualización de los temporizadores,
para actualizar los puertos de entrada y salida y dos
adicionales una para actualizar el estado de carrera si inicio o
finalizo y otra para actualizar el estado general de la carrera,
es decir si ya iniciaron todos etc. Y que se calcule el ganador
de la competencia, se conserva la programación estructurada, Fig. 10
las tareas toman un muy corto tiempo de desarrollo y el
procesador está disponible para atender otras operaciones.
Fig. 11

Fig. 13 Atleta 2
Con esta programación se obtuvo lo requerido en la práctica,
cronometro de atletas, el cual maneja el tiempo de cada uno
con un pulsador y al final nos indica cual es el numero de atleta
ganador, en la Fig. 12-13-14-15 se muestra lo anteriormente
explicado.

B. MONTAJE EN PROTOBOARD

Finalmente, teniendo comprobado el funcionamiento gracias al


software de Proteus, se procedió a pasar el código al software
IDE de Arduino, ya que el bootloader de proteus no soporta el
Arduino nano. Se hizo el respectivo montaje con ayuda del
Datasheet [1] tanto del display como los pines [5] del display
y Arduino, las conexiones que se ven en la Fig.1 y finalmente
de segmento a resistencias de 470 y de éstas a las entradas IO
del Arduino nano, tal y como se muestra en la Fig. 16-17-18- Fig. 14 Atleta 3
19.
Finalmente se acciona el pulsador 4, de inmediato se muestra
IV. RESULTADOS Y GRAFICAS cual de los 4 obtuvo un tiempo menor, en este caso fue el atleta
2 y en el display se muestra el ganador.

A. SIMULACIÓN

Fig. 15 Ganador
Fig. 12 Atleta 1
B. MONTAJE EL PROTOBOARD

Fig. 20 Ganador

De igual manera, en este caso el ganador sería el atleta No. 2


Fig. 16 Atleta 1 Como añadidura, se puede decir que se realizó una relación de
los pulsadores con el led L integrado en el Arduino, esto quiere
decir que al ser un pulsador accionado el led encenderá, se
realizo para tener una base de corroboración del
funcionamiento de estos mismos.

V. CONCLUSIONES

• En primer lugar, los scripts de Arduino son una forma


más global de usar la programación, pero al usar la
programación por registro hace que sea más eficiente,
es decir, ocupa menos espacio
• Para poder llevar a cabo esta práctica, se tuvo que
obtener el conocimiento de la gestión I/O digitales,
Fig. 17 Atleta 2 interrupciones y temporizadores.
• De igual manera el Delay es un script muy perjudicial
para la placa, lo que hace es congelarla, por eso es más
fácil hacer un registro con el temporizador.
• A la hora de hacer las conexiones hay que revisar con
ayuda de un multímetro si el display que tenemos es
un ánodo o cátodo, comprobando si el común es
negativo dependiendo en este caso específicamente
sea cátodo.
• Finalmente se puede concluir que para dar
corroboración a este programa hay que entender cada
pieza y bloque de la programación y así dar con el
resultado esperado, el cronometro de atletas.

VI. BIBLIOGRAFIA
Fig. 18 Atleta 3
[1] bolanosdj. (16 de OCTUBRE de 2018). Obtenido de
https://www.bolanosdj.com.ar/MOVIL/ARDUINO2/segment
os7x4.pdf
[2] KOALAB. (15 de ABRIL de 2019). Obtenido de
https://koalab.tech/aprende/componentes/display-7-
segmentos/
[3] ARDUINO.cl. (s.f.). Obtenido de
https://arduino.cl/arduino-nano/
[4] UNIT ELECTRONICS. (s.f.). Obtenido de
https://uelectronics.com/funcionamiento-del-diodo-
rectificador/
[5] DESCUBREARDUINO.COM. (s.f.). Obtenido de
https://descubrearduino.com/arduino-nano-pinout/

Fig. 19 Atleta 4

También podría gustarte