tutofinal
TRANSCRIPT
![Page 1: tutofinal](https://reader033.vdocumento.com/reader033/viewer/2022052600/557201e14979599169a28804/html5/thumbnails/1.jpg)
1Contador fotoeléctrico de personas
TEMA:
Contador fotoeléctrico de personas
OBJETIVOS
OBJETIVOS GENERALES:
Construir el circuito dado y programar el microcontrolador de manera correcta para contabilizar
personas dentro de un lugar o área específica.
OBJETIVOS ESPECÍFICOS:
- Programar correctamente el microcontrolador en lenguaje C utilizando el programa PCWHD
Compiler.
- Dibujar el circuito debidamente para su simulación utilizando el programa Isis Professional.
- Realizar adecuadamente el montaje del circuito en el protoboard.
MARCO TEÓRICO
Este circuito está diseñado para contabilizar el número de personas que se encuentran, entran o salen
de un área o lugar específico utilizando dos fotoceldas que trabajan como sensores de luz. Una de las
fotoceldas se encarga de incrementar el contador en el momento del ingreso de una persona y la
segunda fotocelda de decrementar el conteo en el momento de la salida de una persona. El número de
personas será mostrado a través de tres displays de 7 segmentos lo cuales podrán contar en un rango
desde cero hasta 999 puesto que se ha colocado tres displays. Además, será mostrado a través de un
LCD el número total de personas que han ingresado en el área dada.
El circuito a realizar se divide en distintas partes tal y como se explica en el Apéndice I. Pero el cerebro
del circuito es un microcontrolador PIC. Los PIC son una familia de microcontroladores tipo RISC
fabricados por Microchip Technology Inc. La mayoría de PICs que Microchip distribuye hoy en día
incorporan ICSP (In Circuit Serial Programming, programación serie incorporada) o LVP (Low Voltage
Programming, programación a bajo voltaje), lo que permite programar el PIC directamente en el circuito
destino. Caso contrario, si no se utilizan microcontroladores con ICSP incorporado, existen
programadores que permiten descargan la información al circuito destino. Figura 1.
Ojeda Almagro Ana B.
![Page 2: tutofinal](https://reader033.vdocumento.com/reader033/viewer/2022052600/557201e14979599169a28804/html5/thumbnails/2.jpg)
2Contador fotoeléctrico de personas
Figura 1: Programador para microcontroladores con salida USB
Este circuito se basa en un sistema de contador. Los contadores son sistemas de memoria que
“recuerdan” cuantos pulsos han sido aplicados en la entrada. La secuencia en que esta información se
almacena depende de las condiciones de la aplicación y del criterio del diseñador de equipo lógico.
En el caso de este circuito se debe asegurar de eliminar rebotes en la transición de la señal, de no contar
más de una vez cuando alguien permanece mucho tiempo frente el censor, de generar el código
correspondiente a cada número en los displays de 7 segmentos y de mostrar el total acumulado en un
LCD.
LISTA DE MATERIALES
Ítem Cantidad
PIC18F4550 1
Display 7 segmentos ánodo común 3
Transistor 2N3904 3
Resistencia de 150Ω 9
Cristal 20Mhz 1
Amplificador operacional (OPAMP) LM358N 1
Fotocelda 2
Resistencia de 10KΩ 5
Potenciómetro 10K 2
Cristal 2 KHz 1
Ojeda Almagro Ana B.
![Page 3: tutofinal](https://reader033.vdocumento.com/reader033/viewer/2022052600/557201e14979599169a28804/html5/thumbnails/3.jpg)
3Contador fotoeléctrico de personas
Reloj Tiempo Real DS1307 1
Resistencia de 4.7K 3
Pulsador 1
Capacitor de 1nf 1
Capacitor de 10µf 2
Regulador de Voltaje positivo 78L05 1
Voltaje regulador LM317L 1
Resistencia de 2K 1
Potenciómetro de 5K 1
Capacitor de 220µf 1
Pulsador 1
Diodo led 2
Puente rectificador W06M 1
LCD LM016L 1
Potenciómetro de 1K 1
Registro de desplazamiento 74HC164 1
Protoboard 1
HIPÓTESIS
La sensibilidad de la fotocelda dependerá de la cantidad de luz que se otorgue a la misma. A una mayor
incidencia de luz menor sensibilidad.
PROCEDIMIENTO
1. Dibujar el circuito mostrado en la figura 2 en el programa Isis Professional
Ojeda Almagro Ana B.
![Page 4: tutofinal](https://reader033.vdocumento.com/reader033/viewer/2022052600/557201e14979599169a28804/html5/thumbnails/4.jpg)
4Contador fotoeléctrico de personas
Ojeda Almagro Ana B.
![Page 5: tutofinal](https://reader033.vdocumento.com/reader033/viewer/2022052600/557201e14979599169a28804/html5/thumbnails/5.jpg)
5Contador fotoeléctrico de personas
abcdefg
abcdefg
abcdefg
S3
SCLa
p
bcdefg
S1
S3S2
S1S2
SDA
RA0/AN02
RA1/AN13
RA2/AN2/VREF-/CVREF4
RA4/T0CKI/C1OUT6
RA5/AN4/SS/C2OUT7
RE0/AN5/RD8
RE1/AN6/WR9
RE2/AN7/CS10
OSC1/CLKIN13
OSC2/CLKOUT14
RC1/T1OSI/CCP216
RC2/CCP117
RC3/SCK/SCL18
RD0/PSP019
RD1/PSP120
RB7/PGD40
RB6/PGC39
RB538
RB437
RB3/PGM36
RB235
RB134
RB0/INT33
RD7/PSP730
RD6/PSP629
RD5/PSP528
RD4/PSP427
RD3/PSP322
RD2/PSP221
RC7/RX/DT26
RC6/TX/CK25
RC5/SDO24
RC4/SDI/SDA23
RA3/AN3/VREF+5
RC0/T1OSO/T1CKI15
MCLR/Vpp/THV1
U0
PIC16F877A
SRG8R
C1/->
&1D132
4
5
6
10
8
11
12
9
13
U5
74HC164
D7
14D
613
D5
12D
411
D3
10D
29
D1
8D
07
E6
RW
5R
S4
VS
S1
VD
D2
VE
E3
LCD3LM016L
0%
RV3
1k
D1LED-RED
D2LED-GREEN
R12150R
R13150R
Q32N3904
Q42N3904
R1410
R1510
Q52N3904
R1610
D9LED-YELLOW
R17150R
X2CRYSTAL
3
21
84
U6:A
LM358
LDR2TORCH_LDR
36%
RV4
10k R19
220R
R2010k
1 2
U7:A
74LS14
C21nF
VBAT3
X11
X22
SCL6
SDA5
SOUT7
U
DS1307
BAT21.5V
X3CRYSTAL
R214k7
R224k7
R234k7
LS2
SPEAKER
UNIVERSIDAD CATOLICA DE SANTIAGO DE GUAYAQUIL
FACULTAD DE EDUCACION TECNICA
PROYECTO DE ELECTRONICA II
ANA BELEN OJ EDA
R27
10K
Q62N3904
D101N4007
RL25V
C3
4u7
VO
UT
R283.3k
R29
1k
R3047k
VI3
VO1
GN
D2
U978L05
VDD
C410uF
R31100
C510uF
V+
R33150R
VI3
VO2
AD
J1U10
LM317L
R32330
C9220uF
VOUT
100%
RV55k
VOUT
C72200u
C7(-)
3
21
84
U1:A
LM358
LDR1TORCH_LDR
36%
RV1
10k R2
220R
R310k
1 2
U2:A
74LS14
5
67
84
U1:B
LM358
Ojeda Almagro Ana B.
![Page 6: tutofinal](https://reader033.vdocumento.com/reader033/viewer/2022052600/557201e14979599169a28804/html5/thumbnails/6.jpg)
6Contador fotoeléctrico de personas
2. Programar el PIC mediante el programa PCWHD Compiler. (Véase Apéndice II).
Figura 3: Programación en PCWHD Compiler para microcontrolador
3. Simular el circuito dibujado anteriormente en Isis Professional con la ayuda de la programación
previamente realizada. (Véase Apéndice II).
Figura 4: Simulación del circuito en Isis Professional
Ojeda Almagro Ana B.
![Page 7: tutofinal](https://reader033.vdocumento.com/reader033/viewer/2022052600/557201e14979599169a28804/html5/thumbnails/7.jpg)
7Contador fotoeléctrico de personas
4. Montar el circuito en el protoboard debidamente con todos los elementos y los cableados
correspondientes.
Figura 5: Montaje del circuito en Protoboard
5. Descargar la programación de la PC al microcontrolador utilizando el programador mencionado
en la figura 1.
Figura 6: Conexión del programador en el circuito
6. Conectar el transformador en el diodo rectificador adecuadamente para encender el circuito.
(En este caso se ha utilizado un cable con puerto PS/21 para mayor facilidad, mostrada en la
figura 7)
1 El puerto PS/2 es el que se usa para conectar teclados o ratones, en este caso se lo ha utilizado para que proporcione el voltaje necesario para el circuito directamente desde una PC.
Ojeda Almagro Ana B.
![Page 8: tutofinal](https://reader033.vdocumento.com/reader033/viewer/2022052600/557201e14979599169a28804/html5/thumbnails/8.jpg)
8Contador fotoeléctrico de personas
Figura 7: Conexión del cable con puerto PS/2 de la PC al circuito.
RESULTADOS
Al hacer oscuridad en la fotocelda, estas comienzan a funcionar ya sea en el incremento o decremento,
automáticamente el valor es mostrado en los displays y en la pantalla LCD, aquí es donde también se
muestra el número total de personas que han entrado a cierta área o lugar. Al exponer más a la luz a las
fotoceldas, estas siguen funcionando normalmente sin importar la incidencia de luz en ellas.
Figura 8: Contador fotoeléctrico de personas en funcionamiento.
Ojeda Almagro Ana B.
![Page 9: tutofinal](https://reader033.vdocumento.com/reader033/viewer/2022052600/557201e14979599169a28804/html5/thumbnails/9.jpg)
9Contador fotoeléctrico de personas
CONCLUSIONES
De este proyecto puedo concluir que la sensibilidad de los contadores fotoeléctricos no dependen de su
exposición a la luz, si no a través de la regulación de su corriente, en este caso el que trabaja como
resistencia variable (potenciómetro) este es el encargada de regular la sensibilidad de la fotocelda
debido a que el mismo regula la corriente que este necesitaría para su función, por lo tanto, la hipótesis
resultó ser falsa.
La programación para este proyecto fue basada en lenguaje C. La disposición de los números en los
displays se la dio a través de números en hexadecimal, puesto que se trata de un lenguaje más claro
para el programador y más sintetizado para dígitos.
La pantalla LCD utilizada, ayudó también como comprobación de la función de los displays, esta posee
RAM interna la cual ayuda a guardar datos que son importantes en el muestreo.
Además, se utilizó un microcontrolador 18F4550 debido a que tiene una memoria mayor a comparación
de otros microcontroladores. Esto se debe a la gran demanda de voltaje que cada uno de los elementos
requiere, como lo es la pantalla LCD, el mismo microcontrolador, el amplificador opamp, etc.
Los transistores que se utilizaron en este circuito sirvieron para multiplexar el encendido de los displays.
Para que el display se ilumine el transistor debe estar conduciendo, de esta forma, conmutando los
transistores secuencialmente y a velocidad suficiente, para el ojo humano pareciese que los tres displays
están encendidos simultáneamente, cuando en realidad sólo uno se ilumina por vez.
RECOMENDACIONES
Se debe prevenir la cantidad de memoria que se necesita para el circuito puesto que los
microcontroladores tienen una cantidad de memoria RAM específica y cada uno de los diferentes
elementos con su respectiva programación ocupan un lugar en la memoria del microcontrolador.
Una mejora para futuros proyectos, es agregar un tipo de alarma para el circuito. Para esto, podemos
conectar un parlante (los de celulares podrían ser conveniente por tamaño y volumen) y programarlo
para que se encienda de acuerdo a nuestras necesidades. La conexión del parlante se encuentra en la
Figura 9 encerrada en rojo.
Ojeda Almagro Ana B.
![Page 10: tutofinal](https://reader033.vdocumento.com/reader033/viewer/2022052600/557201e14979599169a28804/html5/thumbnails/10.jpg)
10Contador fotoeléctrico de personas
abcdefg
abcdefg
abcdefg
S3
SCLa
p
bcdefg
S1
S3S2
S1S2
SDA
RA0/AN02
RA1/AN13
RA2/AN2/VREF-/CVREF4
RA4/T0CKI/C1OUT6
RA5/AN4/SS/C2OUT7
RE0/AN5/RD8
RE1/AN6/WR9
RE2/AN7/CS10
OSC1/CLKIN13
OSC2/CLKOUT14
RC1/T1OSI/CCP216
RC2/CCP117
RC3/SCK/SCL18
RD0/PSP019
RD1/PSP120
RB7/PGD40
RB6/PGC39
RB538
RB437
RB3/PGM36
RB235
RB134
RB0/INT33
RD7/PSP730
RD6/PSP629
RD5/PSP528
RD4/PSP427
RD3/PSP322
RD2/PSP221
RC7/RX/DT26
RC6/TX/CK25
RC5/SDO24
RC4/SDI/SDA23
RA3/AN3/VREF+5
RC0/T1OSO/T1CKI15
MCLR/Vpp/THV1
U0
PIC16F877A
SRG8R
C1/->
&1D132
4
5
6
10
8
11
12
9
13
U5
74HC164
D7
14D6
13D5
12D4
11D3
10D2
9D1
8D0
7
E6
RW
5RS
4
VSS
1
VDD
2
VEE
3
LCD3LM016L
0%
RV3
1k
D1LED-RED
D2LED-GREEN
R12150R
R13150R
Q32N3904
Q42N3904
R1410
R1510
Q52N3904
R1610
D9LED-YELLOW
R17150R
X2CRYSTAL
3
21
84
U6:A
LM358
LDR2TORCH_LDR
36%
RV4
10k R19
220R
R2010k
1 2
U7:A
74LS14
C21nF
VBAT3
X11
X22
SCL6
SDA5
SOUT7
U
DS1307
BAT21.5V
X3CRYSTAL
R214k7
R224k7
R234k7
LS2
SPEAKER
UNIVERSIDAD CATOLICA DE SANTIAGO DE GUAYAQUIL
FACULTAD DE EDUCACION TECNICA
PROYECTO DE ELECTRONICA II
ANA BELEN OJ EDA
R27
10K
Q62N3904
D101N4007
RL25V
VDD+
1
VOUT
7
GND-
6
SCE#
5
D/C
4
SDIN
3
SCLK
2
RES#
8
LCD4NOKIA3310_48X84
C3
4u7
RXD
RTS
TXD
CTS
VOUT
R283.3k
R29
1k
R3047k
VI3
VO1
GND
2
U978L05
VDD
C410uF
R31100
C510uF
V+
R33150R
VI3
VO2
ADJ
1U10
LM317L
R32330
C9220uF
VOUT
100%
RV55k
VOUT
C72200u
C7(-)
3
21
84
U1:A
LM358
LDR1TORCH_LDR
36%
RV1
10k R2
220R
R310k
1 2
U2:A
74LS14
5
67
84
U1:B
LM358
Figura 9: Conexión de un parlante del circuito contador.
Para futuros proyectos similares, también se puede colocar un LCD NOKIA, aquí se podrían mostrar
imágenes o mensajes que avisen cuando una persona puede pasar, detenerse o esperar. Esta
programación es un poco compleja, pero el cablear y montar el hardware es algo muy sencillo. Si se
desea realizar el proyecto con este LCD, este debería ir colocada de la siguiente manera tal y como se
muestra en la figura (LCD NOKIA encerrada en círculo rojo):
abcdefg
abcdefg
abcdefg
S3
SCLa
p
bcdefg
S1
S3S2
S1S2
SDA
RA0/AN02
RA1/AN13
RA2/AN2/VREF-/CVREF4
RA4/T0CKI/C1OUT6
RA5/AN4/SS/C2OUT7
RE0/AN5/RD8
RE1/AN6/WR9
RE2/AN7/CS10
OSC1/CLKIN13
OSC2/CLKOUT14
RC1/T1OSI/CCP216
RC2/CCP117
RC3/SCK/SCL 18
RD0/PSP0 19
RD1/PSP120
RB7/PGD 40RB6/PGC
39RB5
38RB4 37
RB3/PGM 36RB2 35RB1
34RB0/INT
33
RD7/PSP730
RD6/PSP629
RD5/PSP528
RD4/PSP427
RD3/PSP322
RD2/PSP221
RC7/RX/DT26
RC6/TX/CK25
RC5/SDO24
RC4/SDI/SDA 23
RA3/AN3/VREF+5
RC0/T1OSO/T1CKI 15
MCLR/Vpp/THV1
U0
PIC16F877A
SRG8R
C1/->
&1D132
4
5
6
10
8
11
12
9
13
U5
74HC164
D7
14D6
13D5
12D4
11D3
10D2
9D1
8D0
7
E6
RW
5RS
4
VSS
1
VDD
2
VEE
3
LCD3LM016L
0%
RV3
1k
D1LED-RED
D2LED-GREEN
R12150R
R13150R
Q32N3904
Q42N3904
R1410
R1510
Q52N3904
R1610
D9LED-YELLOW
R17150R
X2CRYSTAL
3
21
84
U6:A
LM358
LDR2TORCH_LDR
36%
RV4
10k R19
220R
R2010k
1 2
U7:A
74LS14
C21nF
VBAT3
X11
X22
SCL 6
SDA 5
SOUT7
U
DS1307
BAT21.5V
X3CRYSTAL
R214k7
R224k7
R234k7
LS2
SPEAKER
UNIVERSIDAD CATOLICA DE SANTIAGO DE GUAYAQUIL
FACULTAD DE EDUCACION TECNICA
PROYECTO DE ELECTRONICA II
ANA BELEN OJ EDA
R27
10K
Q62N3904
D101N4007
RL25V
VDD+
1
VOUT
7
GND-
6
SCE#
5
D/C
4
SDIN
3
SCLK
2
RES#
8
LCD4NOKIA3310_48X84
C3
4u7
VOUT
R283.3k
R29
1k
R3047k
VI3
VO1
GND
2
U978L05
VDD
C410uF
R31100
C510uF
V+
R33150R
VI3
VO2
ADJ
1U10
LM317L
R32330
C9220uF
VOUT
100%
RV55k
VOUT
C72200u
C7(-)
3
21
84
U1:A
LM358
LDR1TORCH_LDR
36%
RV1
10k R2
220R
R310k
1 2
U2:A
74LS14
5
67
84
U1:B
LM358
Figura 10: Conexión del LCD NOKIA en el circuito.
Ojeda Almagro Ana B.
![Page 11: tutofinal](https://reader033.vdocumento.com/reader033/viewer/2022052600/557201e14979599169a28804/html5/thumbnails/11.jpg)
11Contador fotoeléctrico de personas
BIBLIOGRAFÍA:
http://es.wikipedia.org/wiki/PIC16F84
Jueves 10 Dic. 12H00
http://es.wikipedia.org/wiki/Microcontrolador_PIC
Jueves 10 Dic. 12H00
http://usuarios.lycos.es/charlytospage/contador_de_personas.htm
Sábado 05 Dic. 19H00
http://www.pablin.com.ar/electron/circuito/mc/contador/index.htm
Sábado 05 Dic. 19H00
http://es.wikipedia.org/wiki/PS/2_%28puerto%29
Jueves 18 Feb. 15H00
http://ww1.microchip.com/downloads/en/devicedoc/39632c.pdf
Jueves 18 Feb. 15H00
http://www.datasheetcatalog.net/es/datasheets_pdf/7/4/H/C/74HC164.shtml
Jueves 18 Feb. 15H00
Ojeda Almagro Ana B.
![Page 12: tutofinal](https://reader033.vdocumento.com/reader033/viewer/2022052600/557201e14979599169a28804/html5/thumbnails/12.jpg)
12Contador fotoeléctrico de personas
APENDICE I
CIRCUITO Y EXPLICACIÓN
El circuito que permitirá realizar el contador que se desea se lo puede dividir en partes para una mejor
explicación. Cada una de las partes que lo componen se encuentra conectada entre sí y cumplen una
función específica. En la figura 1 se muestra al circuito fraccionado en cinco partes, a continuación se
explicará cada una de ellas.
abcdefg
abcdefg
abcdefg
S3
SCLa
p
bcdefg
S1
S3S2
S1S2
SDA
RA0/AN02
RA1/AN13
RA2/AN2/VREF-/CVREF4
RA4/T0CKI/C1OUT6
RA5/AN4/SS/C2OUT7
RE0/AN5/RD8
RE1/AN6/WR9
RE2/AN7/CS10
OSC1/CLKIN13
OSC2/CLKOUT14
RC1/T1OSI/CCP2 16
RC2/CCP1 17
RC3/SCK/SCL 18
RD0/PSP0 19
RD1/PSP1 20
RB7/PGD 40RB6/PGC 39
RB5 38RB4 37
RB3/PGM 36RB2 35RB1 34
RB0/INT 33
RD7/PSP7 30RD6/PSP6 29RD5/PSP5 28RD4/PSP4 27RD3/PSP3 22RD2/PSP2 21
RC7/RX/DT 26RC6/TX/CK 25RC5/SDO 24
RC4/SDI/SDA 23
RA3/AN3/VREF+5
RC0/T1OSO/T1CKI 15
MCLR/Vpp/THV1
U0
PIC16F877A
SRG8R
C1/->
&1D132
4
5
6
10
8
11
12
9
13
U5
74HC164
D7
14D6
13D5
12D4
11D3
10D2
9D1
8D0
7
E6
RW
5RS
4
VSS
1
VDD
2
VEE
3
LCD3LM016L
0%
RV3
1k
D1LED-RED
D2LED-GREEN
R12150R
R13150R
Q32N3904
Q42N3904
R1410
R1510
Q52N3904
R1610
D9LED-YELLOW
R17150R
X2CRYSTAL
3
21
84
U6:A
LM358
LDR2TORCH_LDR
36%
RV4
10k R19
220R
R2010k
1 2
U7:A
74LS14
C21nF
VBAT 3
X11
X22
SCL 6
SDA 5
SOUT 7
U
DS1307
BAT21.5V
X3CRYSTAL
R214k7
R224k7
R234k7
LS2
SPEAKER
UNIVERSIDAD CATOLICA DE SANTIAGO DE GUAYAQUIL
FACULTAD DE EDUCACION TECNICA
PROYECTO DE ELECTRONICA II
ANA BELEN OJ EDA
R27
10K
Q62N3904
D101N4007
RL25V
C3
4u7
VOUT
R283.3k
R29
1k
R3047k
VI3 VO 1
GND
2
U978L05
VDD
C410uF
R31100
C510uF
V+
R33150R
VI3 VO 2
ADJ
1U10
LM317L
R32330
C9220uF
VOUT
100%
RV55k
VOUT
C72200u
C7(-)
3
21
84
U1:A
LM358
LDR1TORCH_LDR
36%
RV1
10k R2
220R
R310k
1 2
U2:A
74LS14
5
67
84
U1:B
LM358
Ojeda Almagro Ana B.
![Page 13: tutofinal](https://reader033.vdocumento.com/reader033/viewer/2022052600/557201e14979599169a28804/html5/thumbnails/13.jpg)
13Contador fotoeléctrico de personas
La primera parte está conformada por el microcontrolador,
este es el “cerebro” de nuestro circuito, es aquí donde se
almacenará la programación necesaria para nuestro
contador fotoeléctrico. Se ha utilizado un PIC 16F877A, el
cual contiene cuatro puertos (A, B, C, D) y trabaja con una
frecuencia de 20 Mhz. También se puede apreciar que en el
borne 9 y 10 del microcontrolador se encuentra conectado
un cristal. El cristal es encargado de controlar la frecuencia
del microcontrolador; en este caso, debido a que este PIC
trabaja con una frecuencia de 20 MHz., el cristal a utilizar será de 20 MHz.
Nuestros resultados serán mostrados en
displays, poseen siete segmentos y cada uno
de ellos se encuentra conectado a una entrada
del microcontrolador. Cada display tiene un
punto común que como se observa, se
encuentran conectados en un transistor. Se
han colocado tres transistores con su respectiva resistencia para cada uno de los displays montados. La
función de los transistores en este circuito es de multiplexar el encendido de los displays. ¿Qué significa
esto? Los tres displays se encuentran conectados en paralelo, por lo que el segmento A del primero está
cableado junto con el del segundo y el tercero, y lo mismo sucede con los seis segmentos restantes; para
que no encienda los mismos números sobre los tres displays, se multiplexa a través de los tres
transistores. ¿Por qué? Para que el display se ilumine se requiere que el transistor esté conduciendo, de
esta forma, conmutando los transistores secuencialmente y a velocidad suficiente se log para el ojo
humano pareciese que los tres displays están encendidos simultáneamente, cuando en realidad sólo
uno se ilumina por vez.
Puesto que se trata de un contador fotoeléctrico, la señal debe ser
luminosa. Los indicados de detectar luz y convertir dicha señal son los
sensores de luz o las conocidas fotoceldas. Se emplearán dos fotoceldas,
una para cada uno de los displays. Las fotoceldas detectan la presencia de
luz, una vez interrumpida esta luz, se activa dicho sensor y envía una señal
en voltaje, la cual debe ser amplificada para el microcontrolador. Para la
amplificación de este voltaje se utilizó un amplificador operacional, este
se encarga de aumentar proporcionalmente el voltaje que emite la
Ojeda Almagro Ana B.
![Page 14: tutofinal](https://reader033.vdocumento.com/reader033/viewer/2022052600/557201e14979599169a28804/html5/thumbnails/14.jpg)
14Contador fotoeléctrico de personas
fotocelda y debe receptar el microcontrolador. Además del amplificador se usa un trigger schmitt el cual
se encarga de invertir la señal alta obtenida y de enviar la señal baja al microcontrolador. En este caso el
circuito se ha repetido dos veces ya que se está aplicando para dos displays.
En esta parte del circuito se encuentra la pantalla LCD con su
registro de desplazamiento. En el LCD se mostrará el saludo del
proyecto y el total de personas contabilizadas en un
determinado periodo, el LCD se puede ver en caracteres ASCII
(alfabeto mas números y signos) la información es enviada
desde el microcontrolador hacia un registro de desplazamiento
74LS164 que es quien envía las señales directas al LCD. El
verdadero uso que el registro de desplazamiento tiene es el de disminuir los bornees de uso del
microcontrolador, es decir, sin registro de desplazamiento el display tendría que disponer de 16 bornees
del microcontrolador, en cambio, con el registro de desplazamiento conectado solo se necesitan 3
bornees del microcontrolador.
Ojeda Almagro Ana B.
![Page 15: tutofinal](https://reader033.vdocumento.com/reader033/viewer/2022052600/557201e14979599169a28804/html5/thumbnails/15.jpg)
15Contador fotoeléctrico de personas
APENDICE II
PROGRAMACIÓN DEL MICROCONTROLADOR Y SIMULACIÓN DEL
CIRCUITO
Para la programación del microcontrolador se utiliza el programa PCWHD Compiler. El lenguaje que se
usa es muy parecido al C++.
Para comenzar, se debe crear un nuevo proyecto y guardarlo en la carpeta que se desee.
Ahora se comenzará a elegir el dispositivo, fusibles, librerías y frecuencia de trabajo.
Una vez ya definido el dispositivo con sus librerías, es hora de programar, realizar las sentencias y
condiciones para que nuestro contador funcione correctamente. La programación es la siguiente:
Ojeda Almagro Ana B.
![Page 16: tutofinal](https://reader033.vdocumento.com/reader033/viewer/2022052600/557201e14979599169a28804/html5/thumbnails/16.jpg)
16Contador fotoeléctrico de personas
#include <18f4550.h>
#use delay(clock=20000000)
#fuses HS,NOWDT,NOPROTECT,NOLVP//,NOBROWNOUT,NOCPD//,XTPLL
#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8)
#include <tonos_anita.c>
#include <flex_lcd_3pins.c>
#include <ds1307_FLEX.c>
//#byte port_a=0x05
//#byte port_b=0x06 // Dirección del PortB
//#byte port_c=0x07
#byte port_d=0x83
#byte port_E=0x84
//#byte TRIS_A=0x85
//#byte TRIS_B=0x86
//#byte TRIS_C=0x87
#byte TRIS_D=0x95 // Dirección Del TrisB
#byte TRIS_E=0x96 // Dirección Del TrisB
int8 h,k,p,I;
void SALUDO3PIN()
{
printf(lcd_putc,"\f UNIVERSIDAD \n CATOLICA ");
delay_ms(1500);
printf(lcd_putc,"\f SANTIAGO DE \n GUAYAQUIL ");
delay_ms(1500);
printf(lcd_putc,"\f TUTORIA DE \n ELECTRONICA 1 ");
delay_ms(1500);
printf(lcd_putc,"\f PROFESOR: \nIng. Luis Palau");
delay_ms(1500);
printf(lcd_putc,"\f ESTUDIANTE: \nAna Belen Ojeda");
delay_ms(1500);
printf(lcd_putc,"\f Contador \n Fotoelectrico ");
delay_ms(1000);
}
Ojeda Almagro Ana B.
![Page 17: tutofinal](https://reader033.vdocumento.com/reader033/viewer/2022052600/557201e14979599169a28804/html5/thumbnails/17.jpg)
17Contador fotoeléctrico de personas
VOID INITLCD()
{
INT t;
for(t=0;t<2;t++)
{
printf(lcd_putc,"\fINICIALIZANDO. \n ");
delay_ms(500);
printf(lcd_putc,"\fINICIALIZANDO.. \n ");
delay_ms(500);
printf(lcd_putc,"\fINICIALIZANDO...\n ");
delay_ms(500);
}
}
void main()
{
const int display1[10]={0X40,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90}; //asigna un valor de salida de puerto para cada numero
// const int display2[10]={0x3F,0x06,0x5B,0x4F,0x55,0x5D,0x7D,0x00,0x7F,0x6F}; int i,h,k;
lcd_init3pin();
delay_ms(100);
lcd_init3pin(); // Inicialización LCD 3 pines
SALUDO3PIN();
INITLCD();
output_high(Pin_C1); Delay_ms(500);output_low(Pin_C1);
OUTPUT_E(0x07);
OUTPUT_D(0x00);
delay_ms(500);
BEEP();
output_high(Pin_C5);
output_low (PIN_E2);output_low (PIN_E1);output_high(PIN_E0);OUTPUT_D(display1[1]);delay_ms(1000);
output_low (PIN_E2);output_low (PIN_E0);output_high(PIN_E1);OUTPUT_D(display1[2]);delay_ms(1000);
output_low (PIN_E0);output_low (PIN_E1);output_high(PIN_E2);OUTPUT_D(display1[3]);delay_ms(1000);
while(true)
{
Ojeda Almagro Ana B.
![Page 18: tutofinal](https://reader033.vdocumento.com/reader033/viewer/2022052600/557201e14979599169a28804/html5/thumbnails/18.jpg)
18Contador fotoeléctrico de personas
//time_date();
if(!input(PIN_A2)) //detecta el estado del pin B2
{ i=i+1;
p=p+1;
if(i>99)
i=0;
while(!input(PIN_A2)) //controla el efecto antirrebote
{}
h=i/10;
k=i-h*10;
lcd_gotoxy(1,1); printf(lcd_putc,"IN=%2u TOTAL= %3u",i,p);
} if(!input(PIN_A1))
{
i=i-1;
p==p;
if(i>99)
i=99;
while(!input(PIN_A1))
{}
h=i/10;
k=i%10;
lcd_gotoxy(1,1); printf(lcd_putc,"IN=%2u TOTAL= %3u",i,p);
}
output_low (PIN_E0);output_high (PIN_E2);output_low(PIN_E1);OUTPUT_D(display1[0]);
delay_ms(5);
output_low (PIN_E0);output_low (PIN_E2);output_high(PIN_E1);OUTPUT_D(display1[k]);
delay_ms(5);
lcd_gotoxy(1,2); printf(lcd_putc,"Por: Ana B. Ojeda");
output_low (PIN_E1);output_low (PIN_E2);output_high(PIN_E0);OUTPUT_D(display1[h]);
delay_ms(5);
}
}
Ojeda Almagro Ana B.
![Page 19: tutofinal](https://reader033.vdocumento.com/reader033/viewer/2022052600/557201e14979599169a28804/html5/thumbnails/19.jpg)
19Contador fotoeléctrico de personas
Una vez terminada la programación se procede a compilar el documento
Y se lo enlaza con nuestro circuito dibujado en Isis Professional realizando un doble clic sobre el
microcontrolador y eligiendo el documento compilado.
Y ahora se podrá simular el circuito en Isis Professional previo al montaje.
Ojeda Almagro Ana B.