tablero indicador de turnos
TRANSCRIPT
-
7/26/2019 Tablero Indicador de Turnos
1/6
Tablero Indicador de Turnospara Oficinas Pblicas
Maggiolo Gustavo Caballero Raul Reula Germn Pfarher IvnEmail: {gustavomaggiolo, raul_caballero, germanreula}@frp.utn.edu.ar [email protected]
Facultad Regional ParanUniversidad Tecnolgica Nacional
Almafuerte 1033 3100. Entre Ros. Argentina
Eje temtico: aplicaciones acadmicas
Palabras claves: tablero, turnos, circuito electrnico.
RESUMENEl presente trabajo se encuadra en las actividades prcticas de la ctedra Tcnicas Digita-
les II dentro de la carrera de Ingeniera en Electrnica en la UTN-FRP y tiene como objeto
iniciar a los alumnos en la programacin de los microcontroladores.
Este caso consiste en el desarrollo de un tablero indicador de turnos, similar al que usan
en oficinas pblicas y otras organizaciones, con dos dgitos indicando el turno, un digito
para el nmero de caja o escritorio y una bocina que indica el cambio del turno.
El sistema se conforma por dos cajas, o escritorios, que tienen dos pulsadores uno de
ellos, y el otro tiene tres pulsadores, que ya indicaremos para que; un tablero con los dgi-
tos que indica el turno y el nmero de caja. Cada pulsador esta conectado directamente al
mdulo que visualiza los nmeros; a su vez, identifica que nmero de pulsador se presio-
n para indicar el nmero de caja que esta libre.
Uno de los mdulos pulsadores cuenta con la opcin de resetear el indicador de turnos, lo
que permite restablecer el sistema para iniciar una nueva secuencia de atencin.
Cada vez que se incrementa el contador de turnos, se hace sonar una bocina para indicarel evento de cambio de turno.
IntroduccinNo es de hoy en da, que llegado a unaoficina, de servicios pblicos o privados,las personas tengan que esperar paraser atendidos.En su comienzo se realizaba la selec-cin de quien era atendido haciendouna cola, uno tras otro, y cuando llega-ra el turno la persona se acercaba a la
caja, o ventanilla, para realizar el trmi-te. Luego se fueron incorporando otrasalternativas como ser, la persona quellegara sacaba de un aparato un nme-ro y se dedicaba a esperar, cuando lellegaba su turno, que poda ser indicadopor el cajero, nombrando en voz alta, elnumero que segua.Hoy en da, este esquema de atencinal pblico se puede mejorar en varios
-
7/26/2019 Tablero Indicador de Turnos
2/6
aspectos, como son: la incorporacinde un dispositivo electrnico que visua-lice el nmero del turno que espera seratendido, de forma clara y en un lugaraccesible a la vista por todos, el aviso
por medio de un sonido que el turnoacaba de cambiar, alertando a las per-sonas que esperan ser atendidas, laincorporacin del nmero de caja oventanilla que esta libre lo cual agilizala bsqueda de la caja desocupada.
Esquema general del sistemaEn la imagen siguiente se observa unesquema general del sistema.
Pulsadores VisualizacinMCU
Bocina
Esquema General
Est formado por el bloque de los pul-sadores, que estn conectador directa-mente al microcontrolador, la bocina, el
microcontrolador en si y el bloque devisualizacin, el cual incorpora los dis-play de siete segmentos que indican,en dos dgitos, el turno, y tambin, enun dgito, el de la caja o ventanilla.
Kits utilizadoPara desarrollar el sistema los alumnosutilizan los kits de entrenamientoEVAL08QTY[1] que posee el laborato-rio. De este modo los alumnos no nece-sitan adquirir el microcontrolador hautilizar dado que el mismo kits ya loincorpora. En la prxima figura se ob-serva una imagen del kits.
Kits EVAL08QTY
Este kits incorpora los circuitos necesa-rios para programar el microcontroladory la herramienta de debugger al mismotiempo, lo cual es muy verstil a la horade hace prcticos, adems de que in-
corpora un conector tipo header elcual conecta el kits con el protoboard, oplaca de armado, del alumno para des-arrollar los trabajos prcticos. La si-guiente imagen muestra la distribucinde pines del conector.
Conector del Kits
Es de destacar que el kits EVAL08QTYsirve para dos tipos de microcontrola-dores, y de ah su nombre tambin,para los MC68HC908QTx y losMC68HC908QYx, mediante zcalos dis-puestos en la placa se puede trabajarcon uno u otro.
El trabajo prctico lo desarrollan con elmicrocontrolador MC68HC908QY4 [2]que es el que trae el kits EVAL08QTY.
Circuito ImplementadoEn la siguiente figura se observa unesquema con ms detalle, del circuitoimplementado por los alumnos, paradesarrollar el trabajo prctico.
8 8 8Turno Caja
PTB(7..4)
PTB1PTB2PTB3
BCDa7segmentos
PTB0
PTA1
PTA3
PTA4
PTA2
MCU
PTA0
RSTBuzzer
Circuito implementado
A continuacin se describirn los circui-tos para los pulsadores, el buzzer y losdisplay.
-
7/26/2019 Tablero Indicador de Turnos
3/6
Los pulsadoresEl circuito de los pulsadores se muestraen la prxima figura. Es de notar que elmismo circuito incorpora un capacitor,C1, para reducir el rebote del pulsadoral ser presionado.
Circuito Pulsadores
Esta configuracin del pulsador la in-corporan todos los pulsadores del sis-tema, ya sea, los de subir y bajar elturno como el de reset.
El buzzerEn la siguiente figura vemos el circuitocorrespondiente a la buzzer.
Circuito buzzer
En el circuito se observa un divisor re-sistivo entre R2 y R3, el cual tiene co-mo objetivo reducir la tensin aplicadaa la base del transistor Q1. La alimen-tacin del buzzer, VCC, depender del
tipo de dispositivo que se utilice,habiendo disponibles en diversas ten-siones.Al utilizar este puerto para el buzzer, elPTA0, no se lo podr hacer sonar; alestar conectado con el debbug, debidoa que ste utiliza este pin para comuni-carse con el MCU.
Los display
El la siguiente figura se observa el cir-cuito de los display.
Circuito de los display
Como se puede apreciar, la salida deldato se ingresa a un decodificador deBCD a 7 segmentos (que puede ser elintegrado 74LS48), la salida ingresa alos display de siete segmentos ctodocomn. Mediante otras tres salidas delmicrocontrolador, que son B1, B2 y B3,se activa el digito correspondiente aldato que se quiere visualizar. Esta tc-nica (de multiplexado de los dgitos) seutiliza dado los pocos pines que dispo-ne el microcontrolador.Para activar el dgito correspondiente sedebe poner en alto (o uno lgico) el pindel puerto B, ya sea B1, B2 o B3. Estoes as dado que los display son de c-todo comn y lo que hace el transistores alimentarlos conectarlos a la refe-
rencia de cero volts o no. Tambin hayque notar el tipo de decodificador utili-zado. En este caso se planteo el74LS48 cuyas salidas son activas enalto; lo cual se utilizan activando undisplay ctodo comn.
El MicrocontroladorEl microcontrolador utilizado por losalumnos en el trabajo prctico, como
ya se mencion es el MC68HC908QY4de Freescale. Dicho dispositivo tiene lassiguientes caractersticas, en cuanto acapacidad de memoria se refiere.
Dispositivo Tamao de la FLASH ConversorA/D
Pines
MC68HC908QT1 1536 bytes - 8 pinesMC68HC908QT2 1536 bytes 4ch, 8 bit 8 pinesMC68HC908QT4 4096 bytes 4ch, 8 bit 8 pinesMC68HC908QY1 1536 bytes - 16 pinesMC68HC908QY2 1536 bytes 4ch, 8 bit 16 pinesMC68HC908QY4 4096 bytes 4ch, 8 bit 16 pines
-
7/26/2019 Tablero Indicador de Turnos
4/6
Y la distribucin de pines se muestra acontinuacin:
Distribucin de pines del MCU
Las caractersticas ms importantes sepueden resumir en las siguientes:
Voltajes de operacin de 5V y 3
V (VDD). 8 MHz bus interno a 5V, 4 MHz
a 3V. Capacidad de auto-despertarse
de STOP. Programacin de FLASH en sis-
tema. 128 Bytes de RAM. Hasta 13 lneas de I/O. 6 bits para interrupciones de te-
clado (KBI). Interrupcin externa (IRQ). Mapeo en memoria de los regis-
tros de I/O. Modos de ahorro de energa
STOP y WAIT.
El softwareEl software para desarrollar el progra-ma del microcontrolador se desarrolla
en CodeWarrior, provisto por la mismaempresa Freescale fabricante de losdispositivos.ste es un entorno integrado se desa-rrollo (IDE) que permite programar enassembler, o en los lenguajes de C yC++. Es de destacar que para progra-mar en lenguaje ensamblador no tienelimitaciones. La interfaz de programa-cin se puede observar en la siguienteimagen:
Imagen del proyecto en CodeWarrior
En el programa se tienen diferentesbloques. Como son:
Inicializacin del microcontrola-dor (funcin MCU_init).
Lectura de teclado (funcin
KBD_Read). Incrementar o disminuir el n-
mero del turno (funcionesADD_TURNO y SUB_TURNO).
Borrado del nmero del turno(funcin isrINT_RST de la inte-rrupcin de IRQ).
Refresco de los nmeros en losdisplay (funcin Refresh_DISP).
Activacin de la bocina (funcinBuzzer_ON)
La funcin para inicializar el MCU, quecomo ya se dijo es la funcin denomi-nada MCU_init, es generada automti-camente por el propio programa Code-Warrior. Lo hacer a travs de una inter-faz grfica, muy intuitiva, donde elalumno configura las distintas opciones
del microcontrolador, como son: oscila-dor (tipo, frecuencia, etc.), pines deentradas y de salida, configuracin delas interrupciones, etc., que como es deesperar, depender del tipo de disposi-tivo, se tendrn unas u otras opcionesde configuracin. A continuacin semuestra la pantalla de configuracin delas interrupciones:
-
7/26/2019 Tablero Indicador de Turnos
5/6
Configuracin de la interrupcin IRQ
En este caso, la interrupcin es la delpin IRQ (PTA2), la cual genera la fun-cin isrINT_RST que es para estableceren cero el indicador de turno y borra el
indicador de caja.A continuacin se puede observar elcdigo de la rutina de interrupcin:
Cdigo perteneciente a la interrupcin
La funcin de lectura de teclado es unpoco ms extensa, por lo que no seescribir l cdigo completo, solo sedar un detalle de su funcionamiento.La deteccin de la tecla presionada serealiza con la ayuda de bits que son
utilizados como banderas, indicando laocurrencia de cierto evento. En el grafi-co siguiente se muestra un diagrama delos valores que va adquiriendo el pinpropio del MCU y los valores de lasbanderas.
Pin MCU
Flag Key_A_Dn
Flag Key_Press
Banderas para detectar el accionamiento de los pul-sadores
La funcin para incrementar o disminuirel contador es muy similar, por eso que
en la siguiente imagen se observa elcdigo correspondiente al incrementodel indicador de turno.
Funcin que incrementa el nmero de turno
Se observa que luego de incrementar elturno se hace el ajuste decimal del n-mero.
Las funciones que siguen utilizan la in-terrupcin del timer 1 como base de
tiempo. Estas funciones son la del re-fresco de los display y la de activar elbuzzer. La interrupcin del timer seproduce cada 10 milisegundos.Para el primer caso, en cada interrup-cin se va colocando los datos de lasdecenas, unidades y del nmero decaja y se va activando el display quecorrespondiente.En el caso del buzzer se lo activa y se
lanza un timer de 1 segundo, al termi-nar el tiempo del timer se lo detiene yse apaga el buzzer.
Consideraciones finalesCon este proyecto se pretende que elalumno se inicie en la programacin deeste tipo de microcontroladores, es dedestacar que en el plan de la ctedra yalos alumnos anteriormente a esta prc-tica han desarrollado trabajos prcticoscon otras marcas de microcontrolado-res, por eso este trabajo tiene ciertas
-
7/26/2019 Tablero Indicador de Turnos
6/6
caractersticas en cuanto al grado dedificultad del mismo.Por otro lado, el indicador de turno, a lahora de montarlo en la realidad, setendran que hacer ciertas modificacio-
nes, como son: el display, que este tra-bajo se considero uno de siete segmen-tos, debera ser uno realizado con LED,para tener un tamao considerable ypoder ser visualizado desde cierta dis-tancia lejana del tablero. Otro elemen-to, y no menos importante, es que eneste trabajo se conectaron los pulsado-res directamente al microcontrolador.En la prctica esta pensado reemplazar
los pulsadores con mdulos de RF XBeepara poder tener una mayor cantidad
de pulsadores, y por ende, una mayorcantidad de cajas para atender a losusuarios. En el caso de la utilizacin demdulos inalmbricos los pulsadores sepueden conectar directamente al mdu-
lo RF, y desde el MCU se recibira eldato cada vez que se presione un pul-sador.
Referencias
[1] Kits didctico EVAL08QTYhttp://www.electrocomponentes.com
[2] MC68HC908QY4 Data Sheet, Frees-
cale, Documento: MC68HC908QY4.pdf