Ciclo Formativo de Grado Superior de Desarrollo de ... · 1.- Explicación breve del Proyecto: El...
Transcript of Ciclo Formativo de Grado Superior de Desarrollo de ... · 1.- Explicación breve del Proyecto: El...
1
Ciclo Formativo de Grado Superior
de Desarrollo de Productos Electrónicos
Módulo: Desarrollo de Proyectos de Productos
Electrónicos
Proyecto: Sistema de Vigilancia
Curso: 2003/2004
2
Índice: Pagina
1.- Explicación breve del Proyecto. ........................................................... 3
2.- Diagrama en Bloques. ........................................................................... 4
3.- Análisis de los Esquemas Eléctricos. .................................................... 5
3.1.- Tarjeta Transmisora de Datos Serie vía Radiofrecuencia
+ Control Manual. .......................................................................... 5
3.2.- Tarjeta Transmisora de Datos Serie vía Radiofrecuencia
+ Detector de Presencia D1 ó D2. ................................................. 8
3.3.- Tarjeta Transmisora de Datos Serie vía Radiofrecuencia
+ Barrera de Infrarrojos. ................................................................ 10
3.4.- Tarjeta Receptora de Datos vía Radiofrecuencia. ......................... 15
4.- Ordinograma y Programa. ..................................................................... 17
4.1.- Receptor de Radiofrecuencia y controlador de un
Servomotor de Posición. ......................................................... 17
4.2.- Barrera de Infrarrojos. ............................................................ 29
4.3.- Detector de Presencia D1. ...................................................... 36
4.4.- Detector de Presencia D2. ...................................................... 43
4.5.- Control Manual. ..................................................................... 50
5.- Lista de Componentes. ......................................................................... 57
6.- Anexos .................................................................................................. 59
6.1.- Características Eléctricas del Servomotor de Posición
( FUTABA S3003 ) ............................................................... 59
6.2.- Características Eléctricas de la Camara de T.V. Color +
Tarjeta Transmisora ( MSE-V110 ) ....................................... 64
6.3.- Características Eléctricas Tarjeta Emisora SAW para
Datos 433,92 MHz. ( CEBEK C-0503 ) ......................................... 66
6.4.- Características Eléctricas Tarjeta Receptora de
Datos 433,92 MHz. ( CEBEK C-504 ) ................................... 67
6.5.- Características principales del PIC 16F876A ........................ 68
7.- Diseño de Placas de Circuitos Impresos. .............................................. 94
3
1.- Explicación breve del Proyecto:
El proyecto Sistema de Vigilancia consiste en que una cámara de televisión se
posiciona en un lugar concreto, en función del módulo que lo detecte “ Detector de
Presencia D1, Detector de Presencia D2 , Barrera de Infrarrojos o Control Manual”.
La transmisión de datos entre los Módulos y el Receptor se realiza a través de
una señal modulada en AM vía radiofrecuencia.
El receptor esta a la escucha, analizando los datos que le llegan, cuando un
Módulo Emisor transmite los datos, el Módulo Receptor posiciona la cámara a un sitio
predefinido, enciende la cámara durante un tiempo determinado.
La cámara transmite la imagen via radiofrecuencia a un televisor u ordenador.
El Módulo Control Manual, cuando esta activo anula a los otros Módulos y
posiciona la cámara en función del recorrido de un potenciómetro.
El elemento encargado de posicionar la cámara es un servomotor de posición
que obtiene un ángulo proporcional a la modulación en anchura de un pulso P.W.M.
La cámara estará siempre encendida si el Módulo Control Manual está activo.
Cuando desactivamos el Módulo Control Manual el control dependerá de otros
Módulos Receptores.
Para el control de transmisión/recepción de datos y posicionamiento de la
cámara se utilizará como elemento principal los microcontroladores PIC.
Para la transmisión/recepción de datos utilizaremos un circuito híbrido
comercial.
Para la transmisión de señal de video utilizaremos un circuito híbrido comercial.
4
2.- Diagrama en Bloques:
Transmisor
Serie vía
Radiofrecuencia Fp = 433,92 MHz
Detector de
Presencia D1
CON2
CON1
Transmisor
Serie vía
Radiofrecuencia Fp = 433,92MHz
CON3
Detector de
Presencia D2
CON4
Transmisor Serie vía
Radiofrecuencia Fp = 433,92 MHz
Receptor Barrera de
Infrarrojos
CON6
Transmisor Barrera
de Infrarrojos
CON5
Control Manual
(Utilzando un Potenc.)
+
Transmisor Serie vía
Radiofrecuencia Fp = 433,92 MHz
Receptor Serie
vía
Radiofrecuencia Fp = 433,92 MHz
Transmisor de
Radiofrecuencia
+
Cámara de T.V. Color Canal 12 VHF (Fp = 224 MHz)
Servomotor
de Posición
CON7 CON8
CON9
CON10
T.V.
Color
Canal 12 VHF
(Fp = 224 MHz)
Antena
Antena
Antena
Antena
Antena
Antena
Antena
5
3.- Análisis de los Esquemas Eléctricos:
3.1.- Tarjeta Transmisora de Datos Serie vía Radiofrecuencia + Control Manual.
Tarjeta Emisora
SAW para Datos
433,92 MHz.
CEBEK
C-0503
1 4 13
11
15
2
3
Entrada de
Modulación Antena
VDD
Masa Masa Masa
Microcontrolador
PIC 16F876A
1
8
19
9 10
MCLR
Vss
Vss
OSC1 OSC2
VDD
20
RA4 6
TX 17
DATOS: R1 = 10 K
R2 = 470
R3 = 15 K
C1 = 220 F C4 = 15 pF
C2 = 100 nF C5 = 100 F
C3 = 15 pF
D1 = 1N 4007 Led = Rojo
D2 = 1N 4007
E1 = 9 V
C.I. = 7805
C.I. = PIC16F876A
C.H. = CEBEK C-0503
Cristal de Cuarzo = 1MHz.
Micropulsador
Interruptor
Antena de 17 cm
Potenciómetro = 10 K
6
El circuito de la figura 1, tiene la misión de proporcionar una tensión de 5V
( Regulador de continua a continua 7805), indicar que el circuito está alimentado ( R4 y
LED) y proteger el circuito contra las tensiones negativas (D1 y D2).
El circuito de la figura 2, tiene la misión de resetear el microcontrolador.
La Resistencia R3, el Potenciometro y el condensador C5 tienen la mision de
proporcionar una tensión (V2) que hara variar de forma proporcional la posición del
servomotor que lleva la cámara de televisión. Figura 3
Figura 1 V1= 5V
Figura 2
MCLR
V2
RA4
Figura 3
7
El cristal de cuarzo, C3 y C4 junto con parte de la circuiteria del
microcontrolador forman un reloj de fo= 1 MHz, con esto conseguimos ejecutar las
instrucciones en un tiempo T = 4/fo = 4S. (Figura 4)
El Microcontrolador PIC 16F876A tiene la misión de transformar la señal
analógica (V2) en códigos digitales, enviarla vía serie junto con unas llaves a través de
la patilla (TX).
La Tarjeta Emisora SAW para Datos 433,92 MHz. CEBEK C-0503 es un
circuito híbrido encargado de transmitir vía radiofrecuencia, los datos digitales
procedentes del microprocesador (TX). La señal digital tiene que tener una
20 Hz < fo < 4 KHz. Se modula en AM cuya frecuencia portadora es de 433,92 MHz.
OSC1 OSC2
Figura 4
8
3.2.- Tarjeta Transmisora de Datos Serie vía Radiofrecuencia + Detector de Presencia D1 ó D2.
Microcontrolador
PIC 16F876A
1
8
19
9 10
MCLR
Vss
Vss
OSC1 OSC2
Tarjeta Emisora
SAW para Datos
433,92 MHz.
CEBEK
C-0503
1 4 13
11
VDD
20
15
2
3
Entrada de
Modulación Antena
VDD
Masa Masa Masa
TX
17
RA0
RA2
2
4
Detector de
Presencia
DATOS:
R1 = 10 K R4 = 150 E1 = 9 V Cristal de Cuarzo = 1MHz.
R2 = 470 R3 = 5 K C.I. = 7805 Micropulsador
C1 = 220 F C3 = 15 pF C.I. = PIC16F876A Antena de 17 cm
C2 = 100 nF C4 = 15 pF C.H. = CEBEK C-0503 TRT = BD 138
D1 = 1N 4007 D2 = 1N 4007 R5 = 22K Led = Rojo
Antena
Ve
R5
9
Los Detectores de Presencia se alimenta con 9v y tiene una salida que abre el
contacto cuando detecta una presencia en la habitación. (Ve=5 v).
El circuito formado por R5 y el TRT, tiene la misión de desactivar la Tarjeta
Emisora SAW para Datos 433,92 MHz. CEBEK C-0503, poniendo un nivel alto de
tensión en RA0. La Tarjeta Emisora esta desactivada si el Detector de Presencia no
detecta. (Figura 5)
RA0
VDD
Figura 5
10
3.3.- Tarjeta Transmisora de Datos Serie vía Radiofrecuencia + Barrera de Infrarrojos.
Microcontrolador
PIC 16F876A
1
8
19
9 10
MCLR
Vss
Vss
OSC1 OSC2
Tarjeta Emisora
SAW para Datos
433,92 MHz.
CEBEK
C-0503
1 4 13
11
VDD
20
15
2
3
Entrada de
Modulación Antena
VDD
Masa Masa Masa
TX
17
DATOS:
R1 = 10 K R3 =150 E1 = 9 V Cristal de Cuarzo = 1MHz.
R2 = 470 R4 = 22 K C.I. = 7805 Micropulsador
C1 = 220 F C4 = 15 pF C.I. = PIC16F876A Antena de 17 cm
C2 = 100 nF C3 = 15 pF C.H. = CEBEK C-0503 TRT = BD 138
D1 = 1N 4007 D2 = 1N 4007 LED = Verde
Receptor
Barrera de
Infrarrojos
RA0
RA2
2
4
Transmisor
Barrera de
Infrarrojos
Vcc
11
Transmisor de la Barrera de Infrarrojos Receptor de la Barrera de Infrarrojos
LENTES
INPUT Vcc
R NE 567
OUT
R.C.
MASA FILTRO1 FILTRO2
5
6
7 1 2
8
3 4
Luz
Infrarroja
DATOS:
R6 = 1 K C5 = 1 F C.I.. = NE 555
R7 = 100 K C6 = 1 F C.I. = LM 324
R8 = 100 C7 = 18 nF C.I. = NE 567
R9 = 10 K C8 = 2,2 F LED = Rojo
R10 = 150 C9 = 1 F Emisor de I RED = CQY 98
R11 = 10 K C10 = 10 nF Receptor de I RED = BPW50
R12 = 3,9 K C11= 15 nF LENTES = 3 cm
R13 = 5,6 K D1 = 1N 4007 Potenciómetro 1 = 1 K
R14 = 240 D2 = 1N 4007 Potenciómetro 2 = 2,5 K
R15 = 10 K E2 = 9 V
Emisor I RED
12
Transmisor de la Barrera de Infrarrojos (Figura 6)
Esta compuesto por un circuito Aestable que genera una señal cuadrada que
emite el Emisor de Infrarrojos ( I RED ) a una frecuencia:
Receptor de la Barrera de Infrarrojos
El Receptor de Infrarrojos (I RED), junto con R5 y C5 tiene la misión de obtener
una señal digital proporcional a la señal de Infrarrojos recibida. (Figura 7)
V3 esta compuesta de una señal cuadrada + una componente de continua y V4
solo tiene la señal cuadrada filtrando la componente continua.
0,69[R12 + 2(R13 + Pot.)] C11
1 Fo = 1/To =
Emisor I RED
Figura 6
V3 V4
Señal de
Infrarrojos
Figura 7
13
El circuito de la Figura 8, tiene la misión de amplificar la señal procedente del
Receptor I RED ( V4 ) y contrarrestar la amplificación de componente de continua que
producen los operacionales, obteniendo una tensión V6
V7 filtra la continua obteniendo la siguiente ecuación:
El Circuito Integrado NE567 es un decodificador de tonos, es decir nos da un
cero ( V8 = 0V), proprcional a la frecuencia de la señal V4
El valor de la frecuencia viene fijada por fo = 1/(1,1.R11.C7) .
El valor de C9 se saca de la tabla que existe a continuación. Para ello se fija el
ancho de banda en % y el valor de tensión de entrada al decodificador de tonos.
Con V7 = 200mVeff y 8% de fo como ancho de banda, tenemos Fo.C9 = 4,1 10 3 Hz. F
Si Fo = 5000 Hz tenemos C9=0,82 F.
C8 = 2 C9
Las Lentes están separadas unos 8 cm de los focos emisor y receptor.
R7R9
R6R8 1 - V5 + V4
R7R9
R6R8
V6 =
R7R9
R6R8
V7 = V4
V4 V7 V6
V5
Figura 8
14
0 2 4 6 8 10 12 14 16
Ancho de Banda en % de fo
300
250
200
150
100
50
0
16 10 3 4,1 10 3
1,3 10 3 2,6 10 3 7,3 10 3 62 10 3
1,8 10 3
Fo.C9 (Hz.F)
15
3.4.- Tarjeta Receptora de Datos vía Radiofrecuencia.
Monoestable
Servomotor de
Posición
(P.W.M)
FUTABA
S3003
Antena 2
Cámara de
T.V. Color
+
Tarjeta
Transmisora
MSE-V110
Canal 12 VHF
(224 MHz)
VDD
MCLR
Vss
Vss
RX
RA3
RA0
RC2
OSC1 OSC2
Microcontrolador PIC 18F876A
1
8
19
91
10
51
2
13
18
VDD VDD
TEST
Tarjeta Receptora
de Datos
433,92 MHz.
CEBEK C-504
Señal
Demodulada
Antena 1
Masa Masa Masa
20 1 15
13
14
3
2 7 11
16
La tarjeta receptora vía radiofrecuencia tiene la misión de recepcionar los datos,
posicionar el servomotor en función de estos datos y activar la cámara.
El circuito monoestable formado por el C.I. NE555, C3 ,R3 y C4. Este se dispara
con RA0 ( Detectores de Presencia, Barrera de Infrarrojos), la cámara se activa un
tiempo T1 = 1,1 R3.C4. Si utilizamos Control Manual de la cámara activamos RA3.
Datos
R1 = 10 K D1 = 1N 4007 Camara de T.V. Color + Tarjeta Transmisora = MSE-V110
R2 = 470 D2 = 1N 4007 Servomotor de Posición (P.W.M) = FUTABA S3003
R3 = 100 K E1 = 9 V Antena 1 = 17 cm
R4 = 150 LED = Verde Antena 2 = 15 cm
C1 = 220 F Cristal de Cuarzo = 1 MHz.
C2 = 100 nF Pulsador
C3 = 10 nF C.I. = 74 LS 32
C4 = 100 F C.I. = 7805
C5 = 15 pF C.I. = PIC 16F876A
C6 = 15 pF C.H. = CEBEK C-504
V (Activación Cámara )
17
4.- Ordinograma y Programa.
4.1.- Receptor de Radiofrecuencia y controlador de un
Servomotor de Posición.
Recepción SERIE
vía Radiofrecuencia
Elegimos PIC
List p=16f876a, f=inhx32
Asignación de RFS a direcciones
#include <p16f876a.inc>
Igualdades
LLAVE_EN EQU B'01101101' ;(Dato). LLave Común.
LLAVE_D1 EQU B'10010001' ;(Dato). LLave del Detector D1. LLAVE_D2 EQU B'01011010' ;(Dato). LLave del Detector D2.
LLAVE_BA EQU B'11100111' ;(Dato). LLave de la Barrera de Infrarrojos.
LLAVE_PO EQU B'11011010' ;(Dato). LLave del Potenciómetro.
POSI_D1 EQU 0X20 ;(Datos). Posición de la Camara apuntando al detector D1.
POSI_D2 EQU 0X64 ;(Datos). Posición de la Camara apuntando al detector D2. POSI_BA EQU 0X35 ;(Datos). Posición de la Camara apuntando la Barrera de Infrarrojos.
POSI_MED EQU 0X35 ;(Datos). Posición de la Camara apuntando al Centro.
PERIODO EQU 0xff ;(Datos). Representa el Periodo de la la señal de PWM.
THMIN EQU 0X27 ;(Datos). Tiempo mínimo a nivel alto que necesita el
; Servomotor de Posición para funcionar.
W_TEMP EQU 0X21 ;(Registros). Registro de salvaguarda de la Rutina de Interr. STATUS_TEMP EQU 0X22
PIR1_TEMP EQU 0X23
RCREG_GU EQU 0X25
POSICION_GU EQU 0X26 ;(Registros). Registro de salvaguarda del Programa Principal.
POSICION EQU 0X24 ;(Registro). Registro que refresca el Tiempo Alto del PWM:
LSB EQU 0X27 ;(Registro). Guardamos los bit menos significativos de Posición.
CONTADOR EQU 0X28 ;(Registro). LLeva en cuenta el número de rotaciones en la subrutina de Paridad.
CON_DE_1 EQU 0X29 ;(Registro). Cuenta el número de 1 en un Dato.
REG_PAR EQU 0X2A ;(Registro). Guarda el resultado de la detección del Bit de Paridad.
DATO EQU 0X2B ;(Registro). Guarda el dato que va ha ser analizado para detectar el número de 1.
GOTO COMIENZO ;Comienzo del Programa
Vector de Interrupción ORG 04H
GOTO INTERRU ;Vector de Interrupción.
Sección Código de Reset
ORG 00H
18
ORG 05H
COMIENZ0
Principal
POSICION # POSI_MED ; Fijamos una posición media para el Servo.
Sección de Configuración
RP0 0 ; Elegimos el Puerto A como entradas y salidas Digitales. RP1 0
PORTA 00H
RP0 1 ADCON1 # 06H
TRISA3 0 ; Habilitamos PA3 como salida para activar la cámara TRISA0 0 ; Habilitamos PA0 como salida para activar el Monoestable.
TRISC2 0 ; Habilitamos PC2 como salida para atacar el Servomotor.
PR2 # PERIODO ; Cargamos el Periodo de la señal de PWM.
RP0 0 PORTA3 0 ; Desactivamos la Camara.
PORTA0 1 ; Desactivamos el Monoestable.
PORTC2 1 ; Ponemos a “ 1” la salida que ataca el Servomotor.
CCPR1L # THMIN ;Cargamos el nivel mínimo de TH de la señal de PWM.
T2CON # B'00000111' ;Cargamos el Valor Preescalar.
CCP1CON # B'00001100' ;Cargamos los 2 Bit menos significativos del nivel Alto de la Señal PWM y configuramos y lanzamos PWM.
RP0 1
SPBRG # 0X0A ; Cargar la Velocidad de Recepción de Datos.
SYNC 0
INTCON # B'11000000' ;Habilitar Interrupción Serie
PIE1 # B'00100000' ;Habilitar Interrupción Serie
RP0 0
RCSTA # B'11010000' ;Configurar y lanzar la Recepción Serie
POSICIÓN POSICIÓN + # THMIN
Sumar THMIN al contenido de POSICIÓN para asignarlo al nivel alto de la
señal PWM .
POSICIÓN_GU POSICIÓN
LSB # 00H ; Introducción de los 2 bits menos significativos
; en CCP1CON del nivel Alto de la señal PWM.
CY 0 1
1
7 POSI_GU 0 CY
7 LSB 0 CY
7 POSI_GU 0 CY
CY 0
7 LSB 0 CY
CY 0
7 LSB 0 CY
7 LSB 0 CY
CY 0
CCP1CON LSB OR # B’00001100’
CCPR1L POSICIÓN_GU
Carga los bit más significativos en
CCPR1L del nivel Alto de la señal PWM
19
Rutina de Interrupción
ORG 40
“INTERRU”
RCIF = 1 ¿Ha interrumpido la
Recepción Serie?
SI
NO
Salvamos Registros
W_TEMP W
STATUS_TEMP STATUS
PIR1_TEMP PIR1
RCREG = LLAVE_EN ¿Ha llegado la Llave
LLAVE_EN?
SI
NO
RCIF 0
RCIF = 1 ¿Hemos recibido
una nueva llave?
SI
NO
RCREG_GU RCREG
RCREG = LLAVE_D1 ¿Hemos recibido la
llave LLAVE_D1?
CARGA_D1
SI
N0
RCREG_GU = LLAVE_D1 ¿Hemos recibido la llave
LLAVE_D2?
CARGA_D2
RCREG_GU = LLAVE_BA ¿Hemos recibido la llave
LLAVE_BA?
SI
NO
CARGA_BA
SI
NO
RETFIE
RCREG_GU = LLAVE_PO ¿Hemos recibido la llave
LLAVE_PO?
CARGA_PO
SI
NO
Recuperamos Registros
PIR1 PIR1_TEMP
RCIF 0
STATUS STATUS_TEMP
W W_TEMP
RETFIE
20
Subrutina de CARGA_D1
ORG 70
“CARGA_D1”
POSICIÓN POSI_D1
Posicionamos la Cámara en la POSI_D1
Activamos la Cámara un tiempo que es
fijado por un Monoestable.
PORTA3 0
PORTA0 0 PORTA0 0
PORTA0 1
RETURN
Subrutina de CARGA_D2
ORG 80
“CARGA_D2”
POSICIÓN POSI_D2
Posicionamos la Cámara en la POSI_D2
Activamos la Cámara un tiempo que es
fijado por un Monoestable.
PORTA3 0
PORTA0 0 PORTA0 0
PORTA0 1
RETURN
Subrutina de CARGA_BA
ORG 90
“CARGA_BA”
POSICIÓN POSI_BA
Posicionamos la Cámara en la POSI_BA
Activamos la Cámara un tiempo que es
fijado por un Monoestable.
PORTA3 0
PORTA0 0 PORTA0 0
PORTA0 1
RETURN
Subrutina de CARGA_PO
ORG 0X0A
“CARGA_PO”
RCIF 0
RCIF = 1 ¿Hemos recibido
un nuevo Dato?
NO
SI
RCIF 0
FERR = 1 ¿Ha existido un
error de Trama?
SI
NO DATO RCREG PARIDAD
REG_PAR “0” = 0
¿Es Paridad PAR?
POSICIÓN RGREG
Activamos Cámara
PORTA3 1
RETURN
SI
NO
21
Detección del BIT de
PARIDAD PAR
ORG 0XB0
“PARIDAD”
CONTADOR CONTADOR + 1
CY 0
7 DATO 0 CY
CY = 1 CON_DE_1 CON_DE_1 + 1
SI
NO
CONTADOR = # 08H
NO
SI
CON_DE_1 # 00H
CONTADOR # 00H
RETURN
RX9D = 1
CON_DE_1 CON_DE_1 + 1
7 CON_DE_1 0 CY
SI
NO
CY = 1
REG_PAR “0” 1
SI
REG_PAR “0” 0
NO
22
title " Receptor SERIE via Radiofrecuencia "
;******* Receptor de Radiofrecuencia y controlador de un Servo de Posición ******
;Programa para PIC 16F876a.
;Velocidad del Reloj = 1 MHz.
;Reloj instrucción: 250 kHz = 4 uS.
;Perro Guardián deshabilitado.
;Tipo de Reloj XT.
;Protección de Código:OFF.
;****************************** Elegimos PIC **************************
list p=16f876a, f=inhx32
;******* Asignación de Registros de Funciones especiales a direcciones *********
#include <p16f876a.inc>; Este fichero contiene los nombres y
direcciones de los registros de funciones
especiales.
; Este fichero esta localizado en este directorio
; con el nombre MPASMWIN.EXE.
;**************************** Igualdades *******************************
LLAVE_EN EQU B'01101101' ;(Datos). LLave Común.
LLAVE_D1 EQU B'10010001' ;(Datos). LLave de Detector D1.
LLAVE_D2 EQU B'01011010' ;(Datos). LLave de Detector D2.
LLAVE_BA EQU B'11100111' ;(Datos). LLave de la Barrera de Infrarrojos.
LLAVE_PO EQU B'11011010' ;(Datos). LLave del Potenciometro.
POSI_D1 EQU 0X20 ;(Datos). Posición de la Camara apuntando al
detector D1.
POSI_D2 EQU 0X64 ;(Datos). Posición de la Camara apuntando al
detector D2.
POSI_BA EQU 0X35 ;(Datos). Posición de la Camara apuntando la
Barrera de Infrarrojos.
POSI_MED EQU 0X35 ;(Datos). Posición de la Camara apuntando al
Centro.
PERIODO EQU 0xff ;(Datos). Representa el Periodo de la la señal de
PWM.
THMIN EQU 0X27 ;(Datos). Tiempo mínimo a nivel alto que necesita
el Servomotor de Posición para funcionar.
23
W_TEMP EQU 0X21 ;(Registros). Registro de salvaguarda de la
Rutina de Interrupción.
STATUS_TEMP EQU 0X22
PIR1_TEMP EQU 0X23
RCREG_GU EQU 0X25
POSICION_GU EQU 0X26 ;(Registros). Registro de salvaguarda del Programa
Principal.
POSICION EQU 0X24 ;(Registro). Registro que refresca el Tiempo Alto
del PWM:
LSB EQU 0X27 ;(Registro). Guardamos los bit menos significativos
de Posición.
CONTADOR EQU 0X28 ;(Registro). LLeva en cuenta el número de
rotaciones en la subrutina de Paridad.
CON_DE_1 EQU 0X29 ;(Registro). Cuenta el número de 1 en un Dato.
REG_PAR EQU 0X2A ;(Registro). Guarda el resultado de la detección del
; Bit de Paridad.
DATO EQU 0X2B ;(Registro). Guarda el dato que va ha ser analizado
para detectar el número de 1.
;*************************** Sección Código de Reset *********************
ORG 00h ;Dirección del Vector Reset
GOTO COMIENZO ;Comienzo del Programa
;************************** Vector de Interrupción ***********************
ORG 04H
GOTO INTERRU ;Vector de Interrupción.
;*************************** Sección de Configuración ********************
ORG 05h ;Inicio de Programa (Una posición detrás
del vector de Interrupción).
COMIENZO BCF STATUS,RP0 ; Elegir el Puerto A como entradas y salidas
digitales.
BCF STATUS,RP1
CLRF PORTA
BSF STATUS,RP0
MOVLW 0X06
MOVWF ADCON1
24
BCF TRISA,3 ; Habilitamos PA3 como salida para activar
la cámara.
BCF TRISA,0 ; Habilitamos PA0 como salida para activar
el Monoestable.
BCF TRISC,2 ; Habilitamos PC2 como salida para atacar
el Servomotor.
MOVLW PERIODO ; Cargamos el Periodo de la señal de PWM.
MOVWF PR2
BCF STATUS,RP0
BCF PORTA,3 ; Desactivamos la Camara.
BSF PORTA,0 ; Desactivamos el Monoestable.
BSF PORTC,2 ; Ponemos a 1 la salida que ataca el
Servomotor.
MOVLW THMIN ;Cargamos el nivel mínimo de TH de la
señal de PWM.
MOVWF CCPR1L
MOVLW B'00000111' ;Cargamos el Valor Preescalar.
MOVWF T2CON
MOVLW B'00001100' ;Cargamos los 2 Bit menos
significativos del nivel Alto de la
Señal PWM y configuramos y
lanzamos PWM.
MOVWF CCP1CON
BSF STATUS,RP0
MOVLW 0X0A ; Cargar la Velocidad de Recepción
de Datos.
MOVWF SPBRG
BCF TXSTA,SYNC
MOVLW B'11000000' ;Habilitar Interrupción Serie
MOVWF INTCON
MOVLW B'00100000' ;Habilitar Interrupción Serie
MOVWF PIE1
BCF STATUS,RP0
MOVLW B'11010000' ;Configurar y lanzar la Recepción
Serie
MOVWF RCSTA
25
;************************** Principal ***********************************
;Control de Posición de un Servomotor a través de una Modulación de Anchura de pulso
PRINCIPAL MOVLW POSI_MED
MOVWF POSICION
SEG1 MOVF POSICION,W
ADDLW THMIN ; Sumar THmin al contenido de
Posición para asignarlo al nivel
MOVWF POSICION_GU ; Alto de la señal PWM.
CLRF LSB ; Introducción de los 2 Bit menos
Significativos en CCP1CON del
BCF STATUS,C ; nivel Alto de la señal PWM.
RRF POSICION_GU,F
RRF LSB,F
BCF STATUS,C
RRF POSICION_GU,F
RRF LSB,F
BCF STATUS,C
RRF LSB,F
BCF STATUS,C
RRF LSB,F
MOVLW B'00001100'
IORWF LSB,W
MOVWF CCP1CON
MOVF POSICION_GU,W ; Cargar los Bit más significativos
en CCPR1L del nivel Alto de la
MOVWF CCPR1L ; señal PWM.
GOTO SEG1
;**************************** Rutina de Interrupción *********************
ORG 40
INTERRU BTFSS PIR1,RCIF ; Detectamos si ha interrumpido la
Recepción Serie.
RETFIE
SALVAR MOVWF W_TEMP ; Salvamos Registros
SWAPF STATUS,W
MOVWF STATUS_TEMP
MOVF PIR1,W
26
MOVWF PIR1_TEMP
MOVF RCREG,W ;Preguntamos si ha llegado la LLave
"LLAVE_EN".
XORLW LLAVE_EN
BTFSS STATUS,Z ;Si es correcta la LLave volvemos a
preguntar.
GOTO RECUPERAR ;No es correcta la LLave volvemos
al PP previa recuperación de
registros.
BCF PIR1,RCIF ;Borramos Flag de la Recepción.
SEG11 BTFSS PIR1,RCIF ;Preguntamos si hemos recibido una
nueva LLAVE.
GOTO SEG11
MOVF RCREG,W
MOVWF RCREG_GU
XORLW LLAVE_D1 ;Preguntamos si ha llegado la LLave
"LLAVE_D1".
BTFSC STATUS,Z ;Si es la LLAVE_D1 ir a la
subrutina CARGA_D1.
CALL CARGA_D1
MOVF RCREG_GU,W
XORLW LLAVE_D2 ;Preguntamos si ha llegado la LLave
"LLAVE_D2".
BTFSC STATUS,Z ;Si es la LLAVE_D2 ir a la
subrutina CARGA_D2.
CALL CARGA_D2
MOVF RCREG_GU,W
XORLW LLAVE_BA ;Preguntamos si ha llegado la LLave
"LLAVE_BA".
BTFSC STATUS,Z ;Si es la LLAVE_BA ir a la
subrutina CARGA_BA.
CALL CARGA_BA
MOVF RCREG_GU,W
XORLW LLAVE_PO ;Preguntamos si ha llegado la LLave
"LLAVE_PO".
BTFSC STATUS,Z ;Si es la LLAVE_PO ir a la
subrutina CARGA_PO.
CALL CARGA_PO
RECUPERAR MOVF PIR1_TEMP,W ;Recuperamos Registros.
MOVWF PIR1
BCF PIR1,RCIF
SWAPF STATUS_TEMP,W
27
MOVWF STATUS
SWAPF W_TEMP,F
SWAPF W_TEMP,W
RETFIE ;Retorno de Interrupción.
;*********************** Subrutina de CARGA_D1 ***********************
ORG 70
CARGA_D1 MOVLW POSI_D1
MOVWF POSICION ;Posicionamos la Cámara con
POSI_D1.
BCF PORTA,3
BCF PORTA,0
BCF PORTA,0
BSF PORTA,0
RETURN
;*********************** Subrutina de CARGA_D2 ***********************
ORG 80
CARGA_D2 MOVLW POSI_D2
MOVWF POSICION ;Posicionamos la Cámara con
POSI_D2.
BCF PORTA,3
BCF PORTA,0
BCF PORTA,0
BSF PORTA,0
RETURN
;*********************** Subrutina de CARGA_BA ***********************
ORG 90
CARGA_BA MOVLW POSI_BA
MOVWF POSICION ;Posicionamos la Cámara con
POSI_BA.
BCF PORTA,3
BCF PORTA,0
BCF PORTA,0
BSF PORTA,0
RETURN
28
;*********************** Subrutina de CARGA_PO ***********************
ORG 0XA0
CARGA_PO BCF PIR1,RCIF
SEG12 BTFSS PIR1,RCIF ;Preguntamos si hemos recibido un
nuevo Dato.
GOTO SEG12
BCF PIR1,RCIF
BTFSC RCSTA,FERR ;Preguntamos si ha existido un error
de trama.
GOTO SEG15
MOVF RCREG,W
MOVWF DATO
CALL PARIDAD ; Detectamos la Paridad PAR.
BTFSC REG_PAR,0 ; Preguntamos si es Paridad PAR.
GOTO SEG15
MOVF RCREG,W
MOVWF POSICION ; Refrescamos el nivel Alto de la
señal PWM.
BSF PORTA,3 ; Activamos la Camara.
SEG15 RETURN
;********************** Detección del BIT de PARIDAD PAR ***************
ORG 0XB0
PARIDAD INCF CONTADOR,F ;Subrutina de PARIDAD.
BCF STATUS,C
RRF DATO,F
BTFSS STATUS,C
GOTO SEG7
INCF CON_DE_1,F
SEG7 MOVF CONTADOR,W
XORLW 0X08
BTFSS STATUS,Z
GOTO PARIDAD
BTFSC RCSTA,RX9D
INCF CON_DE_1,F
RRF CON_DE_1,F
BTFSS STATUS,C
GOTO SEG8
BSF REG_PAR,0 ;Guardamos la Paridad.
GOTO SEG9
SEG8 BCF REG_PAR,0
SEG9 CLRF CON_DE_1
CLRF CONTADOR
RETURN
END
29
4.2.- Barrera de Infrarrojos.
Transmisión SERIE
Vía Radiofrecuencia
“Barrera de Infrarrojos”
Elegimos PIC
List p=16f876a, f=inhx32
Asignación de RFS a direcciones
#include <p16f876a.inc>
Igualdades
TODOCERO EQU B'00000000' ;(Dato). LLave para iniciar un código,
la tarjeta de transmisión de datos necesita el
pulso de STOP para transmitir un código.
LLAVE_EN EQU B'01101101' ;(Dato). LLave Común.
LLAVE_BA EQU B'11100111' ;(Dato). LLave de la Barrera de Infrarrojos.
VECES EQU 0X64 ;(Dato). Número de Veces que mandamos
las LLaves.
DATO EQU 0X21 ; (Registro). Guarda el dato que va ha ser
analizado para detectar el número de 1.
CONTADOR EQU 0X22 ; (Registro). LLeva en cuenta el número de
rotaciones en la subrutina de Paridad.
CON_DE_1 EQU 0X23 ; (Registro). Cuenta el número de 1 en un
Dato.
CONTADOR1 EQU 0X24 ; (Registro). Almacena el número de veces
que mandamos las LLaves.
GOTO COMIENZO ;Comienzo del Programa
Sección Código de Reset
ORG 00H
30
ORG 05H
COMIENZ0
Sección de Configuración
RP0 0 ; Elegimos el Puerto A como entradas y salidas Digitales.
RP1 0
PORTA 00H RP0 1
ADCON1 # 06H
TRISA2 1 ; Habilitamos PA2 como entrada de datos procedente de l a Barrera de Infrarrojos .
TRISA0 0 ; Habilitamos PA0 como salida de datos para atacar
el TRT que alimenta a la Tarjeta de Transmisión de Datos.
SPBRG #0AH ;Cargar la Velocidad de Transmisión de Datos.
TXSTA #B’01100000’ ; Configuramos la Transmisión Serie.
RP0 0
SPEN 1 ; Activamos la Puerta Serie (TX).
Principal
PORTA0 1 ; Desactivamos la Tarjeta de Transmisión de Datos
4
PORTA2 = 1
¿ Se activó la Barrera
de Infrarrojos ?
SI
NO
Llevamos la cuenta de las veces que se han transmitido las Llaves.
CONTADOR CONTADOR +1
Activamos la Tarjeta de Transmisión de Datos
PORTA0 0
Lanzar llave TODOCERO
DATO #TODOCERO
Introducción del Bit de Paridad PAR
PARIDAD
Transmisión de Datos en Serie
TXREG #TODOCERO
RP0 1
TMRT = 1 ¿ Se ha transmitido el
dato?
SI
NO
RP0 0
Lanzar llave LLAVE_EN
DATO #LLAVE_EN
Introducción del Bit de Paridad PAR
PARIDAD
Transmisión de Datos en Serie
TXREG #LLAVE_EN
RP0 1
TMRT = 1 ¿ Se ha transmitido el
dato?
SI
NO
RP0 0
1
1
2
3
31
Lanzar llave LLAVE_BA
DATO #LLAVE_BA
Introducción del Bit de Paridad PAR
PARIDAD
Transmisión de Datos en Serie
TXREG #LLAVE_BA
RP0 1
TMRT = 1
¿ Se ha transmitido el
dato?
SI
NO
2
RP0 0
CONTADOR = # VECES
Detectamos si hemos
mandado N veces la Llave.
3
N0
SI
Borramos Contador para la
próxima detección
CONTADOR # 00H
Desactivamos la Tarjeta de Transmisión de Datos
PORTA0 0
PORTA2 = 1
Si está activada la Barrera ,
no lanzar las Llaves.
4
SI NO
ORG 60
Subrutina de detección del Bit de Paridad
“PARIDAD”
CONTADOR CONTADOR + 1
CY 0
7 DATO 0 CY
CY = 1 CON_DE_1 CON_DE_1 + 1
SI
NO
CONTADOR = # 08H
NO
SI
CON_DE_1_” 0 ” = 0
SI
NO
RPO 0
RPO 0
TX9D 1
TX9D 0
RPO 0
CON_DE_1 # 00H
CONTADOR # 00H
RETURN
32
title " Transmisor SERIE via Radiofrecuencia "
;************************** Barrera de Infrarrojos************************
;Programa para PIC 16F876a.
;Velocidad del Reloj:1 MHz.
;Reloj instrucción: 250 KHz = 4 uS.
;Perro Guardián deshabilitado.
;Tipo de Reloj XT.
;Protección de Código:OFF.
;****************************** Elegimos PIC ***************************
list p=16f876a, f=inhx32
;******** Asignación de Registros de Funciones especiales a direcciones ********
#include <p16f876a.inc> ; Este fichero contiene los nombres y
direcciones de los registros de funciones
especiales. Este fichero esta localizado en
este directorio con el nombre
MPASMWIN.EXE.
;******************************* Igualdades ****************************
TODOCERO EQU B'00000000' ;(Dato). LLave para iniciar un código, de la
tarjeta de transmisión de datos, necesita el
pulso de STOP para transmitir un código.
LLAVE_EN EQU B'01101101' ;(Dato). LLave Común.
LLAVE_BA EQU B'11100111' ;(Dato). LLave de la Barrera de Infrarrojos.
VECES EQU 0X64 ;(Dato). Número de Veces que mandamos
las LLaves.
DATO EQU 0X21 ; (Registro). Guarda el dato que va ha ser
analizado para detectar el número de 1.
CONTADOR EQU 0X22 ; (Registro). LLeva en cuenta el número de
rotaciones en la subrutina de Paridad.
CON_DE_1 EQU 0X23 ; Cuenta el número de 1 en un Dato.
CONTADOR1 EQU 0X24 ; (Registro). Almacena el número de veces
que mandamos las LLaves.
33
;************************ Sección Código de Reset ************************
ORG 00h ;Dirección del Vector Reset
GOTO COMIENZO ;Comienzo del Programa
;*********************** Sección de Configuración ************************
ORG 05h ; Inicio de Programa
; (Una posición detras del vector de Interrupción).
COMIENZO BCF STATUS,RP0 ; Elegimos el Puerto A como entradas y salidas
Digitales.
BCF STATUS,RP1
CLRF PORTA
BSF STATUS,RP0
MOVLW 0X06
MOVWF ADCON1
BSF TRISA,2 ; Habilitamos PA2 como entrada de datos
procedente de la Barrera de Infrarrojos.
BCF TRISA,0 ; Habilitamos PA0 como salida de datos para atacar
el TRT que alimenta a la Tarjeta de Transmisión
de Datos.
MOVLW 0X0A
MOVWF SPBRG ; Cargar la Velocidad de Transmisión de Datos.
MOVLW B'01100000'
MOVWF TXSTA ; Configuración de la Transmisión Serie.
BCF STATUS,RP0
BSF RCSTA,SPEN ;Activamos la Puerta Serie (TX).
;***************************** Principal ********************************
SEG5 BSF PORTA,0 ; Desactivamos la Tarjeta de Transmisión de Datos.
SEG4 BTFSS PORTA,2 ; Preguntamos si está activado la Barrera de
Infrarrojos .
GOTO SEG4
34
;*************************** Lanzar LLaves *****************************
SEG6 INCF CONTADOR1,F ; LLeva la cuenta de las veces que se han
transmitido las LLaves.
BCF PORTA,0 ; Activamos la Tarjeta de Transmisión de
Datos.
MOVLW TODOCERO ; Lanzar llave TODOCERO.
MOVWF DATO
CALL PARIDAD ; Introducción del Bit de Paridad PAR.
MOVLW TODOCERO
MOVWF TXREG ; Transmisión de Datos en Serie.
BSF STATUS,RP0
SEG1 BTFSS TXSTA,TRMT ; Preguntamos si se ha transmitido el dato.
GOTO SEG1
BCF STATUS,RP0 ; Lanzar llave LLAVE_EN.
MOVLW LLAVE_EN
MOVWF DATO
CALL PARIDAD ; Introducción del Bit de Paridad PAR.
MOVLW LLAVE_EN
MOVWF TXREG ; Transmisión de Datos en Serie.
BSF STATUS,RP0
SEG2 BTFSS TXSTA,TRMT ; Preguntamos si se ha transmitido el dato.
GOTO SEG2
BCF STATUS,RP0 ; Lanzar llave LLAVE_BA.
MOVLW LLAVE_BA
MOVWF DATO
CALL PARIDAD ; Introducción del Bit de Paridad PAR.
MOVLW LLAVE_BA
MOVWF TXREG ; Transmisión de Datos en Serie.
BSF STATUS,RP0
SEG3 BTFSS TXSTA,TRMT ; Preguntamos si se ha transmitido el dato.
GOTO SEG3
BCF STATUS,RP0 ; Detectamos si hemos mandado N veces
las LLaves.
MOVF CONTADOR1,W
XORLW VECES
BTFSS STATUS,Z
GOTO SEG6
CLRF CONTADOR1 ; Borramos contador para la próxima
detección.
BSF PORTA,0 ; Desactivamos la Tarjeta de Transmisión
de Datos.
35
SEG7 BTFSC PORTA,2 ; Mientras este activado la Barrera de
Infrarrojos, no lanzar las LLaves.
GOTO SEG7
GOTO SEG4 ; Repetir el proceso.
;******************** Detección del Bit de Paridad PAR ********************
ORG 60
PARIDAD INCF CONTADOR,F
BCF STATUS,C
RRF DATO,F
BTFSS STATUS,C
GOTO SEG10
INCF CON_DE_1,F
SEG10 MOVF CONTADOR,W
XORLW 0X08
BTFSS STATUS,Z
GOTO PARIDAD
RRF CON_DE_1,F
BTFSS STATUS,C
GOTO SEG8
BSF STATUS,RP0
BSF TXSTA,TX9D ; Introducción del Bit de Paridad PAR en TX9D.
GOTO SEG9
SEG8 BSF STATUS,RP0
BCF TXSTA,TX9D
SEG9 BCF STATUS,RP0
CLRF CON_DE_1
CLRF CONTADOR
RETURN
END
36
4.3.- Detector de Presencia D1.
Transmisión SERIE
Vía Radiofrecuencia
“Detector de Presencia
D1”
Elegimos PIC
List p=16f876a, f=inhx32
Asignación de RFS a direcciones
#include <p16f876a.inc>
Igualdades
TODOCERO EQU B'00000000' ;(Dato). LLave para iniciar un código,
la tarjeta de transmisión de datos necesita el
pulso de STOP para transmitir un código.
LLAVE_EN EQU B'01101101' ;(Dato). LLave Común.
LLAVE_D1 EQU B'10010001' ;(Dato). LLave del Detector D1.
VECES EQU 0X64 ;(Dato). Número de Veces que mandamos
las LLaves.
DATO EQU 0X21 ; (Registro). Guarda el dato que va ha ser
analizado para detectar el número de 1.
CONTADOR EQU 0X22 ; (Registro). LLeva en cuenta el número de
rotaciones en la subrutina de Paridad.
CON_DE_1 EQU 0X23 ; (Registro). Cuenta el número de 1 en un
Dato.
CONTADOR1 EQU 0X24 ; (Registro). Almacena el número de veces
que mandamos las LLaves.
GOTO COMIENZO ;Comienzo del Programa
Sección Código de Reset
ORG 00H
37
ORG 05H
COMIENZ0
Sección de Configuración
RP0 0 ; Elegimos el Puerto A como entradas y salidas Digitales.
RP1 0
PORTA 00H RP0 1
ADCON1 # 06H
TRISA2 1 ; Habilitamos PA2 como entrada de datos procedente del Detector D1 .
TRISA0 0 ; Habilitamos PA0 como salida de datos para atacar
el TRT que alimenta a la Tarjeta de Transmisión de Datos.
SPBRG #0AH ;Cargar la Velocidad de Transmisión de Datos.
TXSTA #B’01100000’ ; Configuramos la Transmisión Serie.
RP0 0
SPEN 1 ; Activamos la Puerta Serie (TX).
Principal
PORTA0 1 ; Desactivamos la Tarjeta de Transmisión de Datos
4
PORTA2 = 1
¿ Se activó el
Detector D1?
SI
NO
Llevamos la cuenta de las veces que se han transmitido las Llaves.
CONTADOR CONTADOR +1
Activamos la Tarjeta de Transmisión de Datos
PORTA0 0
Lanzar llave TODOCERO
DATO #TODOCERO
Introducción del Bit de Paridad PAR
PARIDAD
Transmisión de Datos en Serie
TXREG #TODOCERO
RP0 1
TMRT = 1 ¿ Se ha transmitido el
dato?
SI
NO
RP0 0
Lanzar llave LLAVE_EN
DATO #LLAVE_EN
Introducción del Bit de Paridad PAR
PARIDAD
Transmisión de Datos en Serie
TXREG #LLAVE_EN
RP0 1
TMRT = 1 ¿ Se ha transmitido el
dato?
SI
NO
RP0 0
1
1
2
3
38
Lanzar llave LLAVE_D1
DATO #LLAVE_D1
Introducción del Bit de Paridad PAR
PARIDAD
Transmisión de Datos en Serie
TXREG #LLAVE_D1
RP0 1
TMRT = 1 ¿ Se ha transmitido el
dato?
SI
NO
2
RP0 0
CONTADOR = # VECES Detectamos si hemos
mandado N veces la Llave.
3
N0
SI
Borramos Contador para la
próxima detección
CONTADOR # 00H
Desactivamos la Tarjeta de
Transmisión de Datos
PORTA0 0
PORTA2 = 1 Si está activada el Detector
D1, no lanzar las Llaves.
4
SI NO
ORG 60 Subrutina de
detección del Bit de Paridad
“PARIDAD”
CONTADOR CONTADOR + 1
CY 0
7 DATO 0 CY
CY = 1 CON_DE_1 CON_DE_1 + 1
SI
NO
CONTADOR = # 08H
NO
SI
CON_DE_1_” 0 ” = 0
SI
NO
RPO 0
RPO 0
TX9D 1
TX9D 0
RPO 0
CON_DE_1 # 00H
CONTADOR # 00H
RETURN
39
title " Transmisor SERIE via Radiofrecuencia "
;************************** Detector de Presencia D1 *********************
;Programa para PIC 16F876a.
;Velocidad del Reloj:1 MHz.
;Reloj instrucción: 250 KHz = 4 uS.
;Perro Guardián deshabilitado.
;Tipo de Reloj XT.
;Protección de Código:OFF.
;****************************** Elegimos PIC ***************************
list p=16f876a, f=inhx32
;******** Asignación de Registros de Funciones especiales a direcciones ********
#include <p16f876a.inc> ; Este fichero contiene los nombres y
direcciones de los registros de funciones
especiales. Este fichero esta localizado en
este directorio con el nombre
MPASMWIN.EXE.
;******************************* Igualdades ****************************
TODOCERO EQU B'00000000' ;(Dato). LLave para iniciar un código, de la
tarjeta de transmisión de datos, necesita el
pulso de STOP para transmitir un código.
LLAVE_EN EQU B'01101101' ;(Dato). LLave Común.
LLAVE_D1 EQU B'10010001' ;(Dato). LLave del Detector D1.
VECES EQU 0X64 ;(Dato). Número de Veces que mandamos
las LLaves.
DATO EQU 0X21 ; (Registro). Guarda el dato que va ha ser
analizado para detectar el número de 1.
CONTADOR EQU 0X22 ; (Registro). LLeva en cuenta el número de
rotaciones en la subrutina de Paridad.
CON_DE_1 EQU 0X23 ; Cuenta el número de 1 en un Dato.
CONTADOR1 EQU 0X24 ; (Registro). Almacena el número de veces
que mandamos las LLaves.
40
;************************ Sección Código de Reset ************************
ORG 00h ;Dirección del Vector Reset
GOTO COMIENZO ;Comienzo del Programa
;*********************** Sección de Configuración ************************
ORG 05h ; Inicio de Programa
; (Una posición detras del vector de Interrupción).
COMIENZO BCF STATUS,RP0 ; Elegimos el Puerto A como entradas y salidas
Digitales.
BCF STATUS,RP1
CLRF PORTA
BSF STATUS,RP0
MOVLW 0X06
MOVWF ADCON1
BSF TRISA,2 ; Habilitamos PA2 como entrada de datos
procedente del Detector D1.
BCF TRISA,0 ; Habilitamos PA0 como salida de datos para atacar
el TRT que alimenta a la Tarjeta de Transmisión
de Datos.
MOVLW 0X0A
MOVWF SPBRG ; Cargar la Velocidad de Transmisión de Datos.
MOVLW B'01100000'
MOVWF TXSTA ; Configuración de la Transmisión Serie.
BCF STATUS,RP0
BSF RCSTA,SPEN ;Activamos la Puerta Serie (TX).
;***************************** Principal ********************************
SEG5 BSF PORTA,0 ; Desactivamos la Tarjeta de Transmisión de Datos.
SEG4 BTFSS PORTA,2 ; Preguntamos si está activado el Detector de
Presencia D1.
GOTO SEG4
41
;*************************** Lanzar LLaves *****************************
SEG6 INCF CONTADOR1,F ; LLeva la cuenta de las veces que se han
transmitido las LLaves.
BCF PORTA,0 ; Activamos la Tarjeta de Transmisión de
Datos.
MOVLW TODOCERO ; Lanzar llave TODOCERO.
MOVWF DATO
CALL PARIDAD ; Introducción del Bit de Paridad PAR.
MOVLW TODOCERO
MOVWF TXREG ; Transmisión de Datos en Serie.
BSF STATUS,RP0
SEG1 BTFSS TXSTA,TRMT ; Preguntamos si se ha transmitido el dato.
GOTO SEG1
BCF STATUS,RP0 ; Lanzar llave LLAVE_EN.
MOVLW LLAVE_EN
MOVWF DATO
CALL PARIDAD ; Introducción del Bit de Paridad PAR.
MOVLW LLAVE_EN
MOVWF TXREG ; Transmisión de Datos en Serie.
BSF STATUS,RP0
SEG2 BTFSS TXSTA,TRMT ; Preguntamos si se ha transmitido el dato.
GOTO SEG2
BCF STATUS,RP0 ; Lanzar llave LLAVE_D1.
MOVLW LLAVE_D1
MOVWF DATO
CALL PARIDAD ; Introducción del Bit de Paridad PAR.
MOVLW LLAVE_D1
MOVWF TXREG ; Transmisión de Datos en Serie.
BSF STATUS,RP0
SEG3 BTFSS TXSTA,TRMT ; Preguntamos si se ha transmitido el dato.
GOTO SEG3
BCF STATUS,RP0 ; Detectamos si hemos mandado N veces
las LLaves.
MOVF CONTADOR1,W
XORLW VECES
BTFSS STATUS,Z
GOTO SEG6
CLRF CONTADOR1 ; Borramos contador para la próxima
detección.
42
BSF PORTA,0 ; Desactivamos la Tarjeta de Transmisión
de Datos.
SEG7 BTFSC PORTA,2 ; Mientras este activado el Detector de
Presencia, no lanzar las LLaves.
GOTO SEG7
GOTO SEG4 ; Repetir el proceso.
;******************** Detección del Bit de Paridad PAR ********************
ORG 60
PARIDAD INCF CONTADOR,F
BCF STATUS,C
RRF DATO,F
BTFSS STATUS,C
GOTO SEG10
INCF CON_DE_1,F
SEG10 MOVF CONTADOR,W
XORLW 0X08
BTFSS STATUS,Z
GOTO PARIDAD
RRF CON_DE_1,F
BTFSS STATUS,C
GOTO SEG8
BSF STATUS,RP0
BSF TXSTA,TX9D ; Introducción del Bit de Paridad PAR en TX9D.
GOTO SEG9
SEG8 BSF STATUS,RP0
BCF TXSTA,TX9D
SEG9 BCF STATUS,RP0
CLRF CON_DE_1
CLRF CONTADOR
RETURN
END
43
4.4.- Detector de Presencia D2.
Transmisión SERIE
Vía Radiofrecuencia
“Detector de Presencia
D2”
Elegimos PIC
List p=16f876a, f=inhx32
Asignación de RFS a direcciones
#include <p16f876a.inc>
Igualdades
TODOCERO EQU B'00000000' ;(Dato). LLave para iniciar un código,
la tarjeta de transmisión de datos necesita el
pulso de STOP para transmitir un código.
LLAVE_EN EQU B'01101101' ;(Dato). LLave Común.
LLAVE_D2 EQU B'01011010' ;(Dato). LLave del Detector D2.
VECES EQU 0X64 ;(Dato). Número de Veces que mandamos
las LLaves.
DATO EQU 0X21 ; (Registro). Guarda el dato que va ha ser
analizado para detectar el número de 1.
CONTADOR EQU 0X22 ; (Registro). LLeva en cuenta el número de
rotaciones en la subrutina de Paridad.
CON_DE_1 EQU 0X23 ; (Registro). Cuenta el número de 1 en un
Dato.
CONTADOR1 EQU 0X24 ; (Registro). Almacena el número de veces
que mandamos las LLaves.
GOTO COMIENZO ;Comienzo del Programa
Sección Código de Reset
ORG 00H
44
ORG 05H
COMIENZ0
Sección de Configuración
RP0 0 ; Elegimos el Puerto A como entradas y salidas Digitales. RP1 0
PORTA 00H
RP0 1 ADCON1 # 06H
TRISA2 1 ; Habilitamos PA2 como entrada de datos
procedente del Detector D2 . TRISA0 0 ; Habilitamos PA0 como salida de datos para atacar
el TRT que alimenta a la Tarjeta de Transmisión
de Datos.
SPBRG #0AH ;Cargar la Velocidad de Transmisión de Datos.
TXSTA #B’01100000’ ; Configuramos la Transmisión Serie.
RP0 0 SPEN 1 ; Activamos la Puerta Serie (TX).
Principal
PORTA0 1 ; Desactivamos la Tarjeta de Transmisión de Datos
4
PORTA2 = 1 ¿ Se activó el
Detector D2?
SI
NO
Llevamos la cuenta de las veces que se han
transmitido las Llaves.
CONTADOR CONTADOR +1
Activamos la Tarjeta de Transmisión de Datos
PORTA0 0
Lanzar llave TODOCERO
DATO #TODOCERO
Introducción del Bit de Paridad PAR
PARIDAD
Transmisión de Datos en Serie
TXREG #TODOCERO
RP0 1
TMRT = 1
¿ Se ha transmitido el
dato?
SI
NO
RP0 0
Lanzar llave LLAVE_EN
DATO #LLAVE_EN
Introducción del Bit de Paridad PAR
PARIDAD
Transmisión de Datos en Serie
TXREG #LLAVE_EN
RP0 1
TMRT = 1
¿ Se ha transmitido el
dato?
SI
NO
RP0 0
1
1
2
3
45
Lanzar llave LLAVE_D2
DATO #LLAVE_D2
Introducción del Bit de Paridad PAR
PARIDAD
Transmisión de Datos en Serie
TXREG #LLAVE_D2
RP0 1
TMRT = 1 ¿ Se ha transmitido el
dato?
SI
NO
2
RP0 0
CONTADOR = # VECES Detectamos si hemos
mandado N veces la Llave.
3
N0
SI
Borramos Contador para la
próxima detección
CONTADOR # 00H
Desactivamos la Tarjeta de
Transmisión de Datos
PORTA0 0
PORTA2 = 1 Si está activada el Detector
D2, no lanzar las Llaves.
4
SI NO
ORG 60 Subrutina de
detección del Bit de Paridad
“PARIDAD”
CONTADOR CONTADOR + 1
CY 0
7 DATO 0 CY
CY = 1 CON_DE_1 CON_DE_1 + 1
SI
NO
CONTADOR = # 08H
NO
SI
CON_DE_1_” 0 ” = 0
SI
NO
RPO 0
RPO 0
TX9D 1
TX9D 0
RPO 0
CON_DE_1 # 00H
CONTADOR # 00H
RETURN
46
title " Transmisor SERIE via Radiofrecuencia "
;************************** Detector de Presencia D2 *********************
;Programa para PIC 16F876a.
;Velocidad del Reloj:1 MHz.
;Reloj instrucción: 250 KHz = 4 uS.
;Perro Guardián deshabilitado.
;Tipo de Reloj XT.
;Protección de Código:OFF.
;****************************** Elegimos PIC ***************************
list p=16f876a, f=inhx32
;******** Asignación de Registros de Funciones especiales a direcciones ********
#include <p16f876a.inc> ; Este fichero contiene los nombres y
direcciones de los registros de funciones
especiales. Este fichero esta localizado en
este directorio con el nombre
MPASMWIN.EXE.
;******************************* Igualdades ****************************
TODOCERO EQU B'00000000' ;(Dato). LLave para iniciar un código, de la
tarjeta de transmisión de datos, necesita el
pulso de STOP para transmitir un código.
LLAVE_EN EQU B'01101101' ;(Dato). LLave Común.
LLAVE_D2 EQU B'01011010' ;(Dato). LLave del Detector D2.
VECES EQU 0X64 ;(Dato). Número de Veces que mandamos
las LLaves.
DATO EQU 0X21 ; (Registro). Guarda el dato que va ha ser
analizado para detectar el número de 1.
CONTADOR EQU 0X22 ; (Registro). LLeva en cuenta el número de
rotaciones en la subrutina de Paridad.
CON_DE_1 EQU 0X23 ; Cuenta el número de 1 en un Dato.
CONTADOR1 EQU 0X24 ; (Registro). Almacena el número de veces
que mandamos las LLaves.
47
;************************ Sección Código de Reset ************************
ORG 00h ;Dirección del Vector Reset
GOTO COMIENZO ;Comienzo del Programa
;*********************** Sección de Configuración ************************
ORG 05h ; Inicio de Programa
; (Una posición detras del vector de Interrupción).
COMIENZO BCF STATUS,RP0 ; Elegimos el Puerto A como entradas y salidas
Digitales.
BCF STATUS,RP1
CLRF PORTA
BSF STATUS,RP0
MOVLW 0X06
MOVWF ADCON1
BSF TRISA,2 ; Habilitamos PA2 como entrada de datos
procedente del Detector de Presencia D2.
BCF TRISA,0 ; Habilitamos PA0 como salida de datos para atacar
el TRT que alimenta a la Tarjeta de Transmisión
de Datos.
MOVLW 0X0A
MOVWF SPBRG ; Cargar la Velocidad de Transmisión de Datos.
MOVLW B'01100000'
MOVWF TXSTA ; Configuración de la Transmisión Serie.
BCF STATUS,RP0
BSF RCSTA,SPEN ;Activamos la Puerta Serie (TX).
;***************************** Principal ********************************
SEG5 BSF PORTA,0 ; Desactivamos la Tarjeta de Transmisión de Datos.
SEG4 BTFSS PORTA,2 ; Preguntamos si está activado el Detector de
Presencia D2.
GOTO SEG4
48
;*************************** Lanzar LLaves *****************************
SEG6 INCF CONTADOR1,F ; LLeva la cuenta de las veces que se han
transmitido las LLaves.
BCF PORTA,0 ; Activamos la Tarjeta de Transmisión de
Datos.
MOVLW TODOCERO ; Lanzar llave TODOCERO.
MOVWF DATO
CALL PARIDAD ; Introducción del Bit de Paridad PAR.
MOVLW TODOCERO
MOVWF TXREG ; Transmisión de Datos en Serie.
BSF STATUS,RP0
SEG1 BTFSS TXSTA,TRMT ; Preguntamos si se ha transmitido el dato.
GOTO SEG1
BCF STATUS,RP0 ; Lanzar llave LLAVE_EN.
MOVLW LLAVE_EN
MOVWF DATO
CALL PARIDAD ; Introducción del Bit de Paridad PAR.
MOVLW LLAVE_EN
MOVWF TXREG ; Transmisión de Datos en Serie.
BSF STATUS,RP0
SEG2 BTFSS TXSTA,TRMT ; Preguntamos si se ha transmitido el dato.
GOTO SEG2
BCF STATUS,RP0 ; Lanzar llave LLAVE_D2.
MOVLW LLAVE_D2
MOVWF DATO
CALL PARIDAD ; Introducción del Bit de Paridad PAR.
MOVLW LLAVE_D2
MOVWF TXREG ; Transmisión de Datos en Serie.
BSF STATUS,RP0
SEG3 BTFSS TXSTA,TRMT ; Preguntamos si se ha transmitido el dato.
GOTO SEG3
BCF STATUS,RP0 ; Detectamos si hemos mandado N veces
las LLaves.
MOVF CONTADOR1,W
XORLW VECES
BTFSS STATUS,Z
GOTO SEG6
CLRF CONTADOR1 ; Borramos contador para la próxima
detección.
49
BSF PORTA,0 ; Desactivamos la Tarjeta de Transmisión
de Datos.
SEG7 BTFSC PORTA,2 ; Mientras este activado el Detector de
Presencia, no lanzar las LLaves.
GOTO SEG7
GOTO SEG4 ; Repetir el proceso.
;******************** Detección del Bit de Paridad PAR ********************
ORG 60
PARIDAD INCF CONTADOR,F
BCF STATUS,C
RRF DATO,F
BTFSS STATUS,C
GOTO SEG10
INCF CON_DE_1,F
SEG10 MOVF CONTADOR,W
XORLW 0X08
BTFSS STATUS,Z
GOTO PARIDAD
RRF CON_DE_1,F
BTFSS STATUS,C
GOTO SEG8
BSF STATUS,RP0
BSF TXSTA,TX9D ; Introducción del Bit de Paridad PAR en TX9D.
GOTO SEG9
SEG8 BSF STATUS,RP0
BCF TXSTA,TX9D
SEG9 BCF STATUS,RP0
CLRF CON_DE_1
CLRF CONTADOR
RETURN
END
50
4.5.- Control Manual.
Transmisión SERIE
Vía Radiofrecuencia
“Utilizando un
Potenciómetro”
Elegimos PIC
List p=16f876a, f=inhx32
Asignación de RFS a direcciones
#include <p16f876a.inc>
Igualdades
TODOCERO EQU B'00000000' ;(Dato). LLave para iniciar un código,
la tarjeta de transmisión de datos necesita el
pulso de STOP para transmitir un código.
LLAVE_EN EQU B'01101101' ;(Dato). LLave Común.
LLAVE_PO EQU B'11011010' ;(Dato). LLave del Potenciómetro.
DATO EQU 0X21 ; (Registro). Guarda el dato que va ha ser analizado para detectar el número de 1.
CONTADOR EQU 0X22 ; (Registro). LLeva en cuenta el número de rotaciones en la subrutina de Paridad.
CON_DE_1 EQU 0X23 ; (Registro). Cuenta el número de 1 en un Dato.
GOTO COMIENZO ;Comienzo del Programa
Sección Código de Reset
ORG 00H
51
ORG 05H
COMIENZ0
Sección de Configuración
RP0 0 ; Elegimos el Puerto A como entradas y salidas Digitales.
RP1 0
PORTA 00H RP0 1
ADCON1 # 00H
TRISA5 1 ; Habilitamos PA4 como entrada de señal analógica. SPBRG #0AH ;Cargar la Velocidad de Transmisión de Datos.
TXSTA #B’01100000’ ; Configuramos la Transmisión Serie.
RP0 0 SPEN 1 ; Activamos la Puerta Serie (TX).
ADCON0 # B ’01100001’ ;Configuramos el Conversor A/D.
DONE = 0
¿ Tiene la m uestra
digital?
SI
NO
Lanzar llave TODOCERO
DATO #TODOCERO
Introducción del Bit de Paridad PAR
PARIDAD
Transmisión de Datos en Serie
TXREG #TODOCERO
RP0 1
TMRT = 1
¿ Se ha transmitido el
dato?
SI
NO
RP0 0
Lanzar llave LLAVE_EN
DATO #LLAVE_EN
Introducción del Bit de Paridad PAR
PARIDAD
Transmisión de Datos en Serie
TXREG #LLAVE_EN
RP0 1
TMRT = 1
¿ Se ha transmitido el
dato?
SI
NO
RP0 0
Lanzar llave LLAVE_PO
DATO #LLAVE_PO
1
1
2
ORG 20
PRINCIPAL
DONE 1 ;Lanzamos el Conversor A/D.
3
52
Introducción del Bit de Paridad PAR
PARIDAD
Transmisión de Datos en Serie
TXREG #LLAVE_PO
RP0 1
TMRT = 1 ¿ Se ha transmitido el
dato?
SI
NO
2
RP0 0
TMRT = 1 ¿ Se ha transmitido el
dato?
SI
NO
ORG 60 Subrutina de
detección del Bit de Paridad
“PARIDAD”
CONTADOR CONTADOR + 1
CY 0
7 DATO 0 CY
CY = 1 CON_DE_1 CON_DE_1 + 1
SI
NO
CONTADOR = # 08H
NO
SI
CON_DE_1_” 0 ” = 0
SI
NO
RPO 0
RPO 0
TX9D 1
TX9D 0
RPO 0
CON_DE_1 # 00H
CONTADOR # 00H
RETURN
Lanzar Muestra Digital
DATO ADRESH
Introducción del Bit de Paridad PAR
PARIDAD
Transmisión de Datos en Serie
TXREG ADRESH
RP0 1
RP0 0
3
53
title " Transmisor SERIE via Radiofrecuencia "
;*** Control Manual utilizando un Potenciómetro para mandar diferentes códigos ***
;Programa para PIC 16F876a.
;Velocidad del Reloj:1 MHz.
;Reloj instrucción: 250KHz = 4uS.
;Perro Guardián deshabilitado.
;Tipo de Reloj XT.
;Protección de Código:OFF.
;**************************** Elegimos PIC *****************************
list p=16f876a, f=inhx32
;******** Asignación de Registros de Funciones especiales a direcciones ********
#include <p16f876a.inc> ; Este fichero contiene los nombres y
direcciones de los registros de funciones
especiales. Este fichero esta localizado en
este directorio con el nombre
MPASMWIN.EXE.
;**************************** Igualdades *******************************
TODOCERO EQU B'00000000' ;(Dato). LLave para iniciar un código de la
tarjeta de transmisión de datos necesita el
pulso de STOP para transmitir un código.
LLAVE_EN EQU B'01101101' ;(Dato). LLave Común.
LLAVE_PO EQU B'11011010' ;(Dato). LLave del Potenciometro.
DATO EQU 0X21 ; (Registro). Guarda el dato que va ha ser
analizado para detectar el número de 1.
CONTADOR EQU 0X22 ; (Registro). LLeva en cuenta el número de
rotaciones en la subrutina de Paridad.
CON_DE_1 EQU 0X23 ; Cuenta el número de 1 en un Dato.
;*********************** Sección Código de Reset *************************
ORG 00h ;Dirección del Vector Reset
GOTO COMIENZO ;Comienzo del Programa
54
;********************** Sección de Configuración *************************
ORG 05h ; Inicio de Programa
;(Una posición detrás del vector de Interrupción)
COMIENZO BCF STATUS,RP0 ; Elegir el Puerto A como entradas analógicas.
BCF STATUS,RP1
CLRF PORTA
BSF STATUS,RP0
MOVLW B'00000000'
MOVWF ADCON1
BSF TRISA,5 ; Habilitar RA4 como entrada de señal analógica.
MOVLW 0X0A
MOVWF SPBRG ; Cargar la Velocidad de Transmisión de Datos.
MOVLW B'01100000'
MOVWF TXSTA ; Configuración de la Transmisión Serie.
BCF STATUS,RP0
BSF RCSTA,SPEN ;Activamos la Puerta Serie (TX).
MOVLW B'01100001'
MOVWF ADCON0 ;Configuramos el Conversor Analógico/Digital.
;**************************** Principal *********************************
ORG 20
SEG6 BSF ADCON0,GO_DONE ; Lanzamos el Conversor
Analógico/Digital.
SEG5 BTFSC ADCON0,GO_DONE ; Preguntamos si tiene la muestra
digital.
GOTO SEG5
;******************* Lanzar LLaves y Muestra Digital *********************
MOVLW TODOCERO ;Lanzar llave TODOCERO.
MOVWF DATO
CALL PARIDAD ;Introducción del Bit de Paridad PAR.
MOVLW TODOCERO
MOVWF TXREG ;Transmisión de Datos en Serie.
BSF STATUS,RP0
SEG1 BTFSS TXSTA,TRMT ;Preguntamos si se ha transmitido el dato.
GOTO SEG1
55
BCF STATUS,RP0 ;Lanzar llave LLAVE_EN.
MOVLW LLAVE_EN
MOVWF DATO
CALL PARIDAD ;Introducción del Bit de Paridad PAR.
MOVLW LLAVE_EN
MOVWF TXREG ;Transmisión de Datos en Serie.
BSF STATUS,RP0
SEG2 BTFSS TXSTA,TRMT ;Preguntamos si se ha transmitido el dato.
GOTO SEG2
BCF STATUS,RP0 ;Lanzar llave LLAVE_PO.
MOVLW LLAVE_PO
MOVWF DATO
CALL PARIDAD ;Introducción del Bit de Paridad PAR.
MOVLW LLAVE_PO
MOVWF TXREG ;Transmisión de Datos en Serie.
BSF STATUS,RP0
SEG3 BTFSS TXSTA,TRMT ;Preguntamos si se ha transmitido el dato.
GOTO SEG3
BCF STATUS,RP0 ;Lanzar Muestra Digital.
MOVF ADRESH,W
MOVWF DATO
CALL PARIDAD ;Introducción del Bit de Paridad PAR.
MOVF ADRESH,W
MOVWF TXREG ;Transmisión de Datos en Serie.
BSF STATUS,RP0
SEG4 BTFSS TXSTA,TRMT ;Preguntamos si se ha transmitido el dato.
GOTO SEG4
BCF STATUS,RP0
GOTO SEG6 ;Lanzamos infinidad de LLaves y Muestras.
;****************** Detección del BIT de PARIDAD PAR *******************
ORG 60
PARIDAD INCF CONTADOR,F
BCF STATUS,C
RRF DATO,F
BTFSS STATUS,C
GOTO SEG7
INCF CON_DE_1,F
SEG7 MOVF CONTADOR,W
XORLW 0X08
BTFSS STATUS,Z
GOTO PARIDAD
56
RRF CON_DE_1,F
BTFSS STATUS,C
GOTO SEG8
BSF STATUS,RP0
BSF TXSTA,TX9D ;Introducción del Bit de Paridad PAR en TX9D.
GOTO SEG9
SEG8 BSF STATUS,RP0
BCF TXSTA,TX9D
SEG9 BCF STATUS,RP0
CLRF CON_DE_1
CLRF CONTADOR
RETURN
END
57
5.- Lista de Componentes.
5.1.- Tarjeta Transmisora de Datos Serie vía Radiofrecuencia +
Control Manual.
5.2.- Tarjeta Transmisora de Datos Serie vía Radiofrecuencia +
Detector de Presencia D1.
5.3.- Tarjeta Transmisora de Datos Serie vía Radiofrecuencia +
Detector de Presencia D2.
R1 = 10 K
R2 = 470
R3 = 15 K
Potenciómetro = 10 K
(Rabo largo)
C1 = 220 F
C2 = 100 nF
C3 = 15 pF
C4 = 15 pF
C5 = 100 F
D1 = 1N 4007
D2 = 1N 4007
Led = Rojo
C.I. = 7805
C.I. = PIC16F876A
C.H. = CEBEK C-0503
E1 = 9 V
Cristal de Cuarzo = 1MHz.
Micropulsador
Interruptor
Antena de 17 cm
2 Placa de Circuito Impreso
8 Separadores metálicos (Macho-hembra)
4 Tuercas ( Métrica 3)
Porta pila de 9V.
R1 = 10 K
R2 = 470
R3 = 5 K
R4 = 150
R5 = 22K
C1 = 220 F
C2 = 100 nF
C3 = 15 pF
C4 = 15 pF
C.I. = 7805
C.I. = PIC16F876A
C.H. = CEBEK C-0503
TRT = BD 138
D1 = 1N 4007
D2 = 1N 4007
Led = Rojo
E1 = 9 V
Cristal de Cuarzo = 1MHz.
Micropulsador
Antena de 17 cm
1 Placa de Circuito Impreso
4 Separadores metálicos (Macho-hembra)
4 Tuercas ( Métrica 3)
Porta pila de 9V.
R1 = 10 K
R2 = 470
R3 = 5 K
R4 = 150
R5 = 22K
C1 = 220 F
C2 = 100 nF
C3 = 15 pF
C4 = 15 pF
C.I. = 7805
C.I. = PIC16F876A
C.H. = CEBEK C-0503
TRT = BD 138
D1 = 1N 4007
D2 = 1N 4007
Led = Rojo
E1 = 9 V
Cristal de Cuarzo = 1MHz.
Micropulsador
Antena de 17 cm
1 Placa de Circuito Impreso
4 Separadores metálicos (Macho-hembra)
4 Tuercas ( Métrica 3)
Porta pila de 9V.
58
5.4.- Tarjeta Transmisora de Datos Serie vía Radiofrecuencia +
Barrera de Infrarrojos.
5.5.- Tarjeta Receptora de Datos vía Radiofrecuencia.
R1 = 10 K
R2 = 470
R3 = 150
R4 = 22K
R6 = 1 K
R7 = 100 K
R8 = 100
R9 = 10 K
R10 = 150
R11 = 10 K
R12 = 3,9 K
R13 = 5,6 K
R14 = 240
R15 = 10 K
Potenciómetro 1 = 1 K
Potenciómetro 2 = 2,5 K
C1 = 220 F
C2 = 100 nF
C3 = 15 pF
C4 = 15 pF
C5 = 1 F
C6 = 1 F
C7 = 18 nF
C8 = 2,2 F
C9 = 1 F
C10 = 10 nF
C11= 15 nF
2 D1 = 1N 4007
2 D2 = 1N 4007
Led = Rojo
LED = Verde
Emisor de I RED = CQY 98
Receptor de I RED = BPW50
E1 = 9 V
E2 = 9 V
Cristal de Cuarzo = 1MHz.
Micropulsador
Antena de 17 cm
2 Placa de Circuito Impreso
8 Separadores metálicos (Macho-hembra)
4 Tuercas ( Métrica 3)
2 Porta pila de 9V.
2 LENTES = 3 cm
Soportes para las Lentes
C.I. = 7805
C.I. = PIC16F876A
C.I.. = NE 555
C.I. = LM 324
C.I. = NE 567 C.H. = CEBEK C-0503
TRT = BD 138
R1 = 10 K
R2 = 470
R3 = 100 K
R4 = 150
C1 = 220 F
C2 = 100 nF
C3 = 10 nF
C4 = 100 F
C5 = 15 pF
C6 = 15 pF
C7 = 18 nF
C8 = 2,2 F
C9 = 1 F
C10 = 10 nF
C11= 15 nF
D1 = 1N 4007
D2 = 1N 4007
Led = Rojo
C.I. = 7805
C.I. = PIC16F876A
C.I.. = 74LS32 C.H. = CEBEK C-0504
Camara de T.V. Color + Tarjeta Transmisora = MSE-V110
Soporte para sujetar la Cámara y el Servomotor.
Servomotor de Posición (P.W.M) = FUTABA S3003
E1 = 9 V
Cristal de Cuarzo = 1MHz.
Micropulsador
Antena 1 de 17 cm.
Antena 2 de 15 cm.
1 Placa de Circuito Impreso
4 Separadores metálicos (Macho-hembra)
4 Tuercas ( Métrica 3)
Porta pila de 9V.