Está en la página 1de 7

Diseño de un Sistema de Monitorización para el

Control de Aforo de Personas


Manya Espinoza Jeyson Armando, Benites Moncada David, Flores Huete Leonardo Sebastián, Tarrillo Sánchez
Markx, Quispe Castañeda Raúl Enrique.
Universidad Nacional del Callao

Lima Perú
jamanyae@unac.edu.pe

jdbenitesm@unac.edu.pe@unac.edu.pe

lstfloresh@unac.edu.pe

matarrillos@unac.edu.pe

requispec@unac.edu.pe

Resumen—El monitoreo de aforo en los II. INFORMACIÓN BÁSICA DEL


establecimientos es de suma importancia para poder PROYECTO
mantener la salud que es lo más relevante en este
proyecto y cuya finalidad de la misma. Se requiere el A. Planteamiento del problema
diseño de un sistema de monitorización, ya que nos
encontramos en una zona de alto riesgo por el En nuestra realidad de hace 2 años, La Organización
COVID-19. Por lo cual, con este sistema, podremos Mundial de Salud hizo pública el 31 de diciembre de
establecer un control de aforo, de las personas en 2019 la existencia de una nueva enfermedad infecciosa
tiempos de pandemia. que, en estado avanzado, ocasiona una neumonía, pero
con una causa desconocida y que fue registrada por las
Palabras claves –Sistema de monitorización autoridades de China en la ciudad de Wuhan. Dicha
(Monitoring System) enfermedad ha causado un impacto negativo social,
económico, ocasionando que nuestro sistema
hospitalario colapse por la ausencia de camas UCI, la
falta de una adecuada infraestructura y control sanitario
I. INTRODUCCIÓN: en todo tipo de establecimientos.
El sistema de control de aforo con DSPIC33fj32mc202
Por esta razón, varios pacientes infectados son enviados
nos permitirá contar, agilizar y controlar el ingreso de
a sus casas para realizar su aislamiento de prevención,
clientes dentro de un establecimiento, aplicando así los
siempre y cuando su situación no sea muy grave.
protocolos de bioseguridad y brindando tranquilidad.
También puede adaptarse tanto a pequeños como a
grandes establecimientos con múltiples entradas y
salidas. III. CAPÍTULO I: MARCO TEÓRICO
También puede usarse el sistema para controlar el 1. Microcontrolador
ingreso a los baños, cabinas, parqueaderos y demás
lugares donde se deba establecer un control con los Es un circuito integrado que es el componente
protocolos requeridos. principal de una aplicación embebida. Es como una
pequeña computadora que incluye sistemas para
controlar elementos de entrada y salida. Su función
es de automatizar procesos y procesar información. conjunto, depuración de errores, documentación
Los elementos de un microcontrolador son: y construcción. Con Proteus las fases de prueba
microprocesador, periféricos (unidades de entrada y no suponen la necesidad de volver a construir
salida) y memoria. nuevos prototipos, con el ahorro de costos y
tiempo que ellos suponen.
2. Cristal oscilador de cuarzo
5.2 Mplab
El oscilador de cristal se caracteriza por su
estabilidad de frecuencia y pureza de fase, dada por MPLAB es un editor IDE gratuito, destinado a
el resonador. El cristal de cuarzo en un montaje productos de la marca Microchip. Este editor es
electrónico, actúa como un circuito resonante modular, permite seleccionar los
sintonizado a una frecuencia determinada, la propia distintos microcontroladores soportados, además
del del cristal. En realidad, vibra mecánicamente, de permitir la grabación de estos circuitos
aunque debido a la propiedad del cuarzo, la integrados directamente al programador.
piezoelectricidad la vibración mecánica genera una
Es un programa que corre bajo Windows, Mac
vibración eléctrica y viceversa.  Pueden actuar de
OS y Linux. Presenta las clásicas barras de
filtros de frecuencia, aunque lo más normal es
programa, de menú, de herramientas de estado,
utilizarlos como osciladores.
etc. El ambiente MPLAB® posee editor de
3. LM35 texto, compilador y simulación (no en tiempo
real). MPLAB XC8 C es un compilador
El LM35 es un circuito electrónico sensor que puede
independiente, optimizado para ISO C90
medir temperatura. Su salida es analógica, es decir,
(popularmente conocido como ANSI C). Es
te proporciona un voltaje proporcional a la
compatible con todos los microcontroladores
temperatura. El sensor tiene un rango desde −55°C a
PIC® de 8 bits: PIC10, PIC12, PIC16 y
150°C. 
dispositivos de la serie PIC18, así como el
Para convertir el voltaje a la temperatura, el LM35 dispositivo PIC14000.
proporciona 10mV por cada grado centígrado.
IV. CAPÍTULO II: DESARROLLO DEL PROYECTO
También cabe señalar que ese sensor se puede usar
sin offset, es decir que, si medimos 20mV a la A. MATERIALES
salida, estaremos midiendo 2°C.
 DSPIC33FJ32MC202
4. LCD LM041L  Resistencia (10k,1KΩ,330)
 Potenciómetro 1k
Una pantalla de cristal líquido o LCD (sigla del  Condensador 22pF
inglés liquid-crystal display) es una pantalla delgada  LM041
y plana formada por un número de píxeles en color o  LM35
monocromos colocados delante de una fuente de luz  Cristal de cuarzo (8MHz)
o reflectora. A menudo se utiliza en dispositivos  Pulsador
electrónicos de pilas, ya que utiliza cantidades muy  Led (green, red)
pequeñas de energía eléctrica.

B. CODIGO DEL PROGRAMA:


5. Softwares
5.1 Proteus #Pragma config FNOSC = PRI, POSCMD = XT,
FWDTEN = OFF
Es una aplicación para la ejecución de proyectos
de construcción de equipos electrónicos en todas #include "p33FJ32MC202.h"
sus etapas: diseño del esquema electrónico, #include "reloj.h"
programación del software, construcción de la
placa de circuito impreso, simulación de todo el #include "xlcd.h"
#include "xc.h" interruption2();
#include <libpic30.h> interruption3();
#include <stdio.h> XLCDInit(); // iniciala pantalla LCD
#include <math.h> AD1PCFGL=0xFFFF;//salidas digitales
TRISBbits.TRISB7=1;//Definimos que el pin va a ser
entrada
// Declaración de funciones:
TRISBbits.TRISB9=1;// Definimos que el pin va a ser
void __attribute__((interrupt,auto_psv))
entrada
_INT0Interrupt(void);
void __attribute__((interrupt,auto_psv))
_INT1Interrupt(void); LATA=0;
void __attribute__((interrupt,auto_psv)) LATB=0;
_INT2Interrupt(void);
__delay_ms(100);

WriteCmdXLCD(CLEAR_XLCD); //Limpia la
void ADC_Init(void); pantalla LCD al reiniciar
int val=0; XLCDgotoXY(0, 0);//coordenadas de ubicación del
caracter
float val1=0;
putrsXLCD("PROYECTO FINAL");
float temp=0;
__delay_ms(1000);
char vector[15]="";//cadena de caracteres para valores
de temperatura XLCDgotoXY(1,0);//coordenadas de ubicación del
caracter
void interruption1(void);
putrsXLCD("ELECTRONICOS");
void interruption2(void);
__delay_ms(1000);
void interruption3(void);
while(1){
val1=(float)val*5/4095;//conversion ADC
char trama[15]=""; //cadena de caracteres para cantidad
de personas temp=val1*99.6;
int i=0; __delay_ms(10);
int n=0; sprintf(vector,"t=%.2fC",temp);//para mostrar con
dos decimales la temperatura
int b=0;
sprintf(trama, "%d", i);//CONVERTIR LECTURA
//PROGRAMA PRINCIPAL:
ADC EN STR
int main(void) {
WriteCmdXLCD(CLEAR_XLCD); //Limpia la
ADC_Init(); pantalla LCD al reiniciar

interruption1();
if(temp<37){ putrsXLCD(trama);// Mostramos cantidad de
personas
XLCDgotoXY(0,0);
__delay_us(10);
putrsXLCD("PERSONAS:");//encendido de
pantalla
XLCDgotoXY(1,0);//posición de la trama en el lcd }
putrsXLCD(trama);// Mostramos cantidad de }
personas

}
else{
WriteCmdXLCD(CLEAR_XLCD); //Limpia la
if(i==15){//MAXIMO DE PERSONAS pantalla LCD al reiniciar

IFS1bits.INT2IF=1; XLCDgotoXY(0,4);
putrsXLCD(vector);// Mostramos cantidad de
personas
}
__delay_us(100)
else{
XLCDgotoXY(2,3);
if(n==1){
putrsXLCD(¡”NO INGRESAR!”);
XLCDgotoXY(0,0);
__delay_us(100);
putrsXLCD("PERSONAS:");
__delay_us(10);
}
XLCDgotoXY(1,0);
}
putrsXLCD(trama);// Mostramos cantidad de personas
return 0;
__delay_us(10);
}
XLCDgotoXY(1,6);
void interruption1(void){
putrsXLCD(vector); // Mostraremos Temperatura
__delay_us(10);
INTCON2bits.INT0EP=1; //flanco de subida
}
IPC0bits.INT0IP=5; // prioridad 5
if(b==2){
IEC0bits.INT0IE=1; //habilitar interrupción externa
XLCDgotoXY(0,0);
putrsXLCD("PERSONAS:");
}
__delay_us(10);
void __attribute__((interrupt,auto_psv))
XLCDgotoXY(1,0);
_INT0Interrupt(void){//Pin RB7
n=0;

AD1CON1bits.SAMP = 1; //Inicio del muestreo i--;

__delay_ms(100); //Tiempo de muestreo IFS1bits.INT1IF=0; // se apaga la bandera y se realiza


la interrupción
AD1CON1bits.SAMP = 0; //Finalizar el
muestreo
while(!AD1CON1bits.DONE);
AD1CON1bits.DONE = 0;//reinicio muestreo }
val = ADCBUF0; void interruption3(void){
INTCON2bits.INT2EP=1;//flanco de subida

if(temp>37){ IPC7bits.INT2IP=6;// prioridad 6

i=i; IEC1bits.INT2IE=1; //habilitar interrupción interna

}
else{
i=i+1; }
n=1; void __attribute__((interrupt,auto_psv))
_INT2Interrupt(void){
}
IFS0bits.INT0IF=0; // para apagar la bandera y se
realiza la interrupción WriteCmdXLCD(CLEAR_XLCD); //Limpia la
pantalla LCD al reiniciar
XLCDgotoXY(0, 0);
}
putrsXLCD("AFORO MAXIMO:");
XLCDgotoXY(1, 0);
void interruption2(void){//Resta las personas que salen
del lugar putrsXLCD(¡”NO INGRESAR!”);
INTCON2bits.INT1EP=1; //flanco de subida __delay_ms(100);
IPC5bits.INT1IP=7; // prioridad 7 if(i==14){//condición para mostrar Aforo máximo
IEC1bits.INT1IE=1; //habilitar interrupción externa IFS1bits.INT2IF=0;
RPINR0bits.INT1R=0b01001; // habilitar el INT1 en }
el pin RP9
}
void __attribute__((interrupt,auto_psv))
_INT1Interrupt(void){//Pin RB9
b=2; }
void ADC_Init(void)
{

AD1CON1bits.ADON=0;//Deshabilitar el ADC
AD1CON1bits.AD12B=1;
AD1CON2bits.VCFG=0b000;//AVss y AVdd
AD1PCFGLbits.PCFG1=0;//AN1 como entrada
analógica
AD1CHS0bits.CH0SA=0b0001;//Toma el canal
analógico AN1
AD1CHS0bits.CH0NA=0;//La entrada negativa del
canal 0 es vref-
AD1CON3bits.ADCS=0b0001001;//ADCS = 9
AD1CON1bits.ASAM=0;//Muestreo manual
AD1CON1bits.SSRC=0b000;//Limpiar el bit
SAMP //finaliza el muestreo e inicia la conversión
AD1CON1bits.ADON=1;//Habilitar el ADC
VI. Conclusiones
}  Es una solución para usuarios que
demanden experiencias bien enfocadas a
C. FUNCIONAMIENTO DEL PROGRAMA: evitar aglomeraciones.
Nuestro propósito es simular un sistema de control de  En casos como los de centro
aforo, en este caso el pulsador tendrá la función de un comerciales o espacios para eventos,
sensor que al ingresar una persona a un dicho para que el visitante pueda disfrutar de
establecimiento se captará su ingreso y su temperatura la experiencia implica no preocuparse
corporal, se visualizará en la pantalla LCD y si cuenta por aspectos como masificación.
con una temperatura común a 37C° su ingreso se le  Los responsables de las instalaciones,
permitirá, si tiene una temperatura mayor a 37C°, no se necesitan soluciones que permitan
le será posible ingresar al establecimiento. El aforo gestionar el flujo máximo de clientes de
máximo será de 10 personas por lo que el LCD indicará forma automática y en tiempo real.
que se llegó al “AFORO MAXIMO” y no se permite el  Garantizar el cumplimiento de la
INGRESO, esto hasta que una persona salga del normativa y garantizar la seguridad de
establecimiento y vuelva a si el proceso. clientes en tiempos de pandemia.

V. Capítulo III. Diagrama VII. Bibliografía

 J.M. Angulo, S. Romero y I. Angulo.


“Microcontroladores PIC: diseño
práctico de aplicaciones. Segunda
parte: PIC16F87X, PIC18FXXXX”,
2nd ed. McGraw-Hill Interamericana,
2006.
 E. Mandado, L. M. Menéndez, L.
Fernández, E. López.
“Microcontroladores PIC. Sistema
integrado para el autoaprendiaje”,
Barcelona: Marcombo, 2007.

También podría gustarte