tutofinal

24
1 Contador 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 Ojeda Almagro Ana B.

Upload: manuel-tapia

Post on 23-Jul-2015

117 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: tutofinal

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

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

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

4Contador fotoeléctrico de personas

Ojeda Almagro Ana B.

Page 5: tutofinal

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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.