SlideShare a Scribd company logo
1 of 27
Download to read offline
Luz por detector de movimiento y
crepuscular “Senpir”
                                                                        Por Ángel Acaymo M. G. – Tenerife, España
                                                                                                   metaconta@gmail.com



INTRODUCCIÓN

Alguna vez, en la entrada principal de una casa terrena o chalet, después de pasar por el jardín y antes de llegar a la
puerta principal de la vivienda, por la noche podría ser molesto al intentar abrir la puerta en ausencia o insuficiente luz.
A veces, es buena idea instalar un pequeño aparato electrónico hecho por uno mismo, un circuito capaz de realizar
ciertas tareas y estar más cómodo en ciertas situaciones como ésta.

Al caer la noche sería una buena idea que el circuito electrónico encienda la luz y se apague cuando empieza a llegar el
Sol en las primeras horas de la mañana, por lo que se conoce como interruptor crepuscular. En caso de que no quiera
consumir luz durante toda la noche o bien, utiliza las lámparas compactas también conocidas como lámparas de bajo
consumo o otra posibilidad que sólo se encienda la lámpara al detectar la presencia de una persona al acercarse a la
puerta principal, eso si, al entrar a la vivienda la lámpara se quedará un tiempo encendida seleccionado por la persona,
por ejemplo, unos cinco minutos, después se apaga. Ambos modos lo puedes seleccionar en el propio circuito
electrónico por el cual lo llamo y llamaré a partir de ahora, “Senpir”. Si lo deseas, puedes hacer el efecto contrario
gracias al relé que ya tiene un conmutador e incluso en el propio sensor de movimiento.

Este pequeño proyecto está pensado para éste tipo de aplicaciones o cualquier otra tarea como al encender la lámpara
mientras vas a la barbacoa que tienes en el otro lado del jardín sin tocar el interruptor, al ser detectado por el sensor de
movimiento (PIR), activa una alarma desde el jardín si entra un intruso, etc. Sabiendo que Senpir está controlado por un
microcontrolador PIC, podría servir un pequeño proyecto de fin de curso para estudiantes de la rama electricidad-
electrónica e incluso cualquier aficionado con un mínimo de conocimiento de electrónica básica.

Senpir tiene dos circuitos impreso independiente, una de control y la otra de fuente de alimentación conectada entre sí
con un conector y dentro de la misma caja.

El motivo de diseñar dos placas diferentes en el mismo circuito electrónico de tipo módulos, es por si cualquier causa
falla la placa de la fuente de alimentación, hay corte de la corriente eléctrica desde la red de la casa o por otros motivos,
puedes sustituirla por otra placa o conectarla a una batería a parte e incluso en placas solares fotovoltaicas.
Las características técnicas del Senpir son muy sencillas y entre ella destaca dos placas independientes:

- Fuente de alimentación con un transformador necesario para lograr una tensión fija y estabilizada mediante un
regulador.

- Un Relé con un conmutador para la lámpara u otra aplicación.

- Un microcontrolador PIC que controla el circuito.

- Un sensor de Luz o LDR que detecta la presencia de la luz.

- Un sensor infrarrojo de movimiento o PIR.




                                              Fig 1. Fotografía del Senpir.
Fig 2. Componentes del circuito.

DISEÑO DEL CIRCUITO

El control central del circuito es un microcontrolador que controla no sólo el funcionamiento de de las señales de los
sensores, de luz y movimiento sino los temporizadores para el relé y diodos led de aviso. Los microcontroladores
incluyen microprocesador, memoria del programa, memoria de datos, puertos de entradas y salidas y otras
características todo en el mismo encapsulado, ahí está claro la ventaja su reducido tamaño.

El proyecto se ha elegido el popular microcontrolador PIC 16F84A del fabricante Microchip Thecnology Inc. Es muy
conocido, donde hay más información, ejemplos, proyectos para aprendizaje y fácil uso. El microcontrolador está
desarrollado con un programa bajo el entorno de desarrollo llamado MPLAB que puedes descargar y usar
gratuitamente en la Web del fabricante Microchip así como las hojas de datos de todos los dispositivos PIC entre otros
periféricos, http://www.microchip.com
DESCRIPCIÓN Y FUNCIONAMIENTO DEL HARDWARE

-      Sensor de luz

El sensor LDR viene de la expresión inglesa Light Dependent Resistor. Son componentes pasivos cuya resistencia o su
valor óhmico varía en función de la luz recibida. Con él puedes detectar la presencia de luz y oscuridad para activar o
desactivar el relé de la lámpara. Al recibir más luz, baja su valor óhmico hasta que el microcontrolador lo detecte y
ejecuta su tarea determinada.

-      Sensor PIR

El sensor PIR “Passive Infra Red” es un dispositivo piroeléctrico que mide los cambios de niveles de radiación
infrarroja emitida por los objetos de su entorno alrededor de seis metros. Cambia su estado lógico en una patilla
conectado al microcontrolador. Este sensor es de muy bajo costo y pequeño, se suele utilizar en sistemas de alarmas,
iluminación controlada por movimiento y aplicaciones de robótica.
Fig 3. Detector de movimiento PIR.

Sus características técnicas son:

-       Voltaje de alimentación: 5VDC.

-       Visión máxima 6 metros.

-       Estado en su salida TTL.

-       Polaridad de salida seleccionable.

-       Poco tiempo de calibración.

El sensor PIR sólo usa tres terminales, dos de alimentación y uno de datos que se conecta al microcontrolador.




                                       Fig 4. Conexión del PIR al microcontrolador.

El circuito electrónico se instala dentro de la vivienda con los sensores al exterior. El sensor de luz se instala lejos de la
lámpara o que no le dé luz sobre ella excepto la luz ambiente. El sensor de movimiento se instala bajo la lámpara sin
que llegue el calor y luz directa ya que puede dar un funcionamiento no esperado.

La fuente de alimentación que tiene 5 voltios desde de la tensión continua de 12 voltios y al menos 1 amperio. En este
circuito se encuentra un regulador de tensión 7805. En su entrada dispone de un puente de diodos rectificador de onda
completa de 12 voltios con su condensador que hace de filtrado para obtener 12 voltios en continua. El regulador 7805
se encarga de estabilizar los 5 voltios de alimentación del otro circuito principal más los 12 voltios para alimentar el
relé. Al final se encuentra un diodo Led de encendido.
Fig 5. Esquema fuente de alimentación.




                               •       Fig 6. Esquema eléctrico del circuito principal.



El circuito principal está controlado con un µC PIC 16F84A donde se comunican dos sensores como entrada, un relé
como salida y un micro interruptor para controlar el tipo de configuración deseada y tiempos de encendido.

En las entradas del µC PIC 16F84A, está conectado un micro interruptor, sensor de luz y sensor de movimiento. El
sensor de luz o LDR conectado al puerto RB3 (pin 9) como entrada, detecta el día y la noche con la finalidad de hacer
un interruptor crepuscular, es decir, que sólo se enciende la lámpara o al caer la noche. Tiene un tiempo de veinte
segundos para asegurarse que realmente es de noche o de día.

El sensor de movimiento o PIR, conectado al puerto RB1 (pin 7) como entrada. Tienen elementos fabricados de un
material cristalino que genera una carga eléctrica cuando se expone a una radiación infrarroja. Los cambios de la
cantidad de radiación producen cambios de voltaje los cuales son medidos por un amplificador. El sensor PIR contiene
unos filtros especiales llamados lentes de Fresnel que enfocan las señales infrarrojas sobre el elemento sensor. Cuando
las señales infrarrojas del ambiente donde se encuentra el sensor cambian rápidamente, el amplificador activa la salida
para indicar movimiento. Esta salida se queda activa unos segundos permitiendo al micro controlador saber si hubo
movimiento.

Funciona a 5VDC, gracias a que tiene un patillaje o pin que se conecta al micro controlador directamente, el sensor PIR
funciona como un interruptor a la vez puedes cambiar mediante un jumper el estado lógico de la salida si deseas el
efecto contrario.

En la salida RA3 (pin 2) del micro controlador dispone un relé de 12VDC para activar una lámpara o lámpara de la red
(220VAC). En la base del transistor T1, pasa a conducción y activa el relé. Este circuito también aísla eléctricamente la
carga del micro controlador. El valor de la potencia a controlar depende de los contactos del relé y varía mucho según
el modelo, en este caso soporta 10 Amperios. El diodo paralelo al relé se incluye de protección de los transistores por la
fuerza contraelectromotriz.

                                               Microinterruptor
                                           Pin Puerto B     ON OFF
                                            4 RB4 (Pin 10) PIR LDR
                                            3 RB5 (Pin 11) 5 m.  0
                                            2 RB6 (Pin 12) 30 m. 0
                                            1 RB7 (Pin 10) 1 h.  0


                                               Tabla 1. Micro interruptor.

A su salida del puerto A, se visualiza los Led de avisos. Led verde visualiza que se ha elegido la opción interruptor
crepuscular y el rojo visualiza que se ha elegido la opción del sensor de movimiento que puedes seleccionar en el
microinterruptor Int_RB4 (pin 10). Le Led azul indica que está activado o desactivado el relé en el momento de
conmutar así sabrás sin salir de casa su estado actual mirando el circuito o la caja donde lo tienes instalado, en cambio,
el Led ambar o amarillo significa el encendido de la fuente de alimentación.

                                                       Led
                                            Amarillo Fuente alimentación
                                             Verde          LDR
                                             Rojo            PIR
                                             Azul           Relé

                                            Tabla 2. Indicadores de los Led.
PROGRAMA DEL MICROCONTROLADOR 16F84A

El programa del PIC16F84A está escrito con el lenguaje ensamblador. Mediante el diagrama de flujo, es más fácil ver a
simple vista un esquema completo sobre su funcionamiento paso por paso.

                                                                      Inicio




                                                                 PORTA = Salida
                                                                PORTB = Entrada




                                                                  En principio
                                                                Bombilla apagada


                                                                           Principal
                                                               No
                                         LED Rojo = OFF             ¿Int_RB4
                                         LED Verde = ON             activado?

                                                                               Si


                                        No
                         Retardo 20            ¿LDR en          LED Verde = OFF
                         segundos             oscuridad?         LED Rojo = ON

                                                       Si


                      No                                                            Si                  Si
                                                                                              ¿PIR
                       ¿LDR ilum. por                                ¿LDR en                                 Bombilla y LED
                                                                                           detectada
                          el Sol?                                   oscuridad?                               Azul encendido
                                                                                           presencia?
                                             Retardo 20
                                 Si           segundos              No                   No


                                                                                                                              Si
                       Bombilla y LED                                                                            ¿RB5                Retardo 5
                        Azul apagado                                                                           activado?              minutos

                                                                                                               No

                                        No
                                                                                                                              Si
                                             ¿LDR aún en         Bombilla y LED          Bombilla y LED          ¿RB6                Retardo 30
                                              oscuridad?          Azul apagado            Azul apagado         activado?              minutos

                                                       Si                                                      No


                                                                                                                              Si
                                         Bombilla y LED                                                          ¿RB7                Retardo 1
                                         Azul encendido                                                        activado?               hora

                                                                                                               No




                FIN



                                                                                                                                   Diagrama de flujo.



                                                            Fig 7. Diagrama de flujo.
Fig 8. Cara componentes.




Fig 9. Cara pistas esquema.
Fig 10. Cara pistas.
Fig 11. Vista perspectiva.
Fig 12. Vista trasera.
Fig 13. Proyecto acabado.
VÍDEOS

Vídeos del circuito Senpir funcionando con el PIC16F84A, también con código fuente para el PIC16F88.

   1) Ver vídeo.

   2) Ver vídeo.
LISTA DE MATERIALES

Resistencias:

R1, R2, R3, R4, R11 = 10 KΩ
R5, R6, R7, R9 = 330 Ω
R10 = 100 Ω
R12 = 33 KΩ

Condensadores:

C1, C2 = 22 pF

Diodos:

D1 = Led 5 mm bicolor verde rojo
D2 = Led 5 mm Azul
D3 = 1N4148

Transistor:

T1 = 2N2222

Varios:

R = LDR
X1 = 4MHZ (Cristal de cuarzo)
DSW1 = 4 interruptores
P1 = 4K7 Ω Potenciómetro
RL1 = 12VDC, 10Amp, 1 Conmutador
S1 = Botón reset
J1, J2, J4 = 2 bornes
J3 = 3 bornes
J5 = 4 bornes
IC1 = PIC16F84A-04 (También compatible con PIC16F88)
CÓDIGO FUENTE PIC16F84A

;¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬Senpir.asm¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬
;
;           PROGRAMA:                "Senpir". Luz por detector de movimiento y crepuscular.
;           AUTOR:                   Ángel Acaymo M. G.
;           E-MAIL;                  metaconta@gmail.com
;           PROCESADOR:                      PIC16F84A
;           FRECUENCIA:                      4 MHz
;           VERSIÓN:                 1.00
;           DESCRIPCIÓN:
;
;           Programa de un interruptor con sensor movimiento y de luz solar: Si es de noche,
;           mientras el sensor de movimiento (PIR) detecta la presencia de alguien
;           entorno a 6 metros, activa o se pone a 1 la entrada RA3 y la lámpara
;           se enciende. En caso de que sea de día detectado por la LDR, nunca se enciende
;           la lámpara. En la otra opción, cuando la LDR detecta la noche o falta de Sol,
;           la lámpara se enciende, cuando sea de día, la lámpara se apaga.
;           En los microinterruptores puedes activar el tiempo que tarda en apagarse la
;           lámpara después de ser detectado por el sensor Pir y de noche de un máximo
;           una hora y treinta y cinco minutos.
;
;
¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬

; DATOS
¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬
      LIST       P=16F84A
      INCLUDE          <P16F84A.INC>
      __CONFIG   3FF1
      __idlocs   0001                   ; ID, versión del programa.

      CBLOCK 0x0C
      ENDC

#DEFINE     Led_verde   PORTA,0            ; Led verde indica opción LDR seleccionada.
#DEFINE     Led_rojo    PORTA,1            ; Led rojo indica opción PIR seleccionada.
#DEFINE     Led_azul    PORTA,2            ; Led azul indica que el Relé está activado.
#DEFINE     lámpara     PORTA,3            ; lámpara.
#DEFINE     PIR         PORTB,1            ; Sensor PIR.
#DEFINE     LDR         PORTB,3            ; Sensor LDR.
#DEFINE     Int_RB4     PORTB,4            ; Interruptor RB4.
#DEFINE     Int_RB5     PORTB,5            ; Interruptor RB5.
#DEFINE     Int_RB6     PORTB,6            ; Interruptor RB6.
#DEFINE     Int_RB7     PORTB,7            ; Interruptor RB7.
; EEPROM
¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬

         ORG            0x2100                         ; Comienza en la dirección 0 de la memoria EERPOM.
                                                       ; Datos nombre del archivo, versión del programa
                                                       ; y dirección del correo electrónico.
         DE      "Senpir.asm. v1.0. 25-03-2009. metaconta@gmail.com", 0x00

; CÓDIGOS
¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬

         ORG     0
Inicio
         bsf     STATUS,RP0                           ; Accede al Banco 1.
         clrf    PORTA                                ; Puerto A como salidas.
         movlw   b'11111111'                          ; Las 8 líneas del puerto B se configura como entradas.
         movwf   PORTB
         bcf     STATUS,RP0                           ; Accede al Banco 0.
         clrf    PORTA                                ; Supuestamente la lámpara y Led apagadas.

Opcion_principal
       btfss Int_RB4                                  ; ¿Bit 4 del PORTB es "1"? ¿Int_RB4 activado?
       goto Opcion_LDR                                ; No, activa modo LDR.
       goto Opcion_PIR                                ; Sí, activa modo PIR.

; INTERRUPTOR CREPUSCULAR LDR
¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬

Opcion_LDR
       bcf    Led_rojo                                ; Se apaga el Led rojo.
       bsf    Led_verde                               ; Enciende Led verde indicando modo LDR activado.
       btfss LDR                                      ; ¿La entrada LDR es igual a 1?, ¿LDR en oscuridad?
       goto Apaga_la_lámpara                          ; No, la LDR está iluminada por el Sol. La lámpara se apaga.
Enciende_la_lámpara
       call   Retardo_20_seg                          ; Espera 20 segundos para confirmar la oscuridad.
       btfss LDR                                      ; ¿Entrada es igual a 1?, ¿LDR aún en oscuridad?
       goto Opcion_principal                          ; No, sale fuera.
       bsf    lámpara                                 ; Sí, enciende la lámpara.
       bsf    Led_azul                                ; Led_azul activo.
       goto Opcion_principal
Apaga_la_lámpara
       call   Retardo_20_seg                          ; Espera 20 segundos para confirmar la oscuridad.
       btfsc LDR                                      ; ¿Entrada es = 0?, ¿LDR sigue iluminada por luz del sol?
       goto Opcion_principal                          ; No, sale fuera.
       bcf    lámpara                                 ; Sí, apaga lámpara.
       bcf    Led_azul                                ; Led_azul indica que la lámpara está apagada.
       goto Opcion_principal
; DETECTOR DE MOVIMIENTO
¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬

Opcion_PIR
       bcf           Led_verde                                              ; Apaga el Led verde de aviso.
       bsf           Led_rojo                                               ; Enciende Led rojo avisando que está activado el modo PIR.
       btfss         LDR                                                    ; ¿La entrada LDR es igual a 1?, ¿LDR en oscuridad?
       goto          lámpara_OFF                                            ; No.
       btfss         PIR                                                    ; ¿La entrada PIR es igual a 1?, ¿PIR ha detectado presencia?
       goto          lámpara_OFF                                            ; No, no ha detectado presencia o movimiento.
lámpara_ON
       bsf           lámpara                                                ; Sí, enciende la lámpara.
       bsf           Led_azul                                               ; Led_azul activo.
       btfss         Int_RB5                                                ; ¿Bit 5 del PORTB es igual a 1?, ¿Activado el interruptor
RB5?
       goto          RB6                                                    ; No, salta a la línea siguiente.
       call          Retardo_5_min                                          ; Tiempo lámpara encendida 5 minutos.
RB6
       btfss         Int_RB6                                                ; ¿Bit 6 del PORTB es igual a 1?, ¿Activado el interruptor
RB6?
       goto          RB7
       call          Retardo_30_min                                         ; Tiempo lámpara encendida 30 minutos.
RB7
       btfss         Int_RB7                                                ; ¿Bit 7 del PORTB es igual a 1?, ¿Activado el interruptor
RB7?
       goto          Opcion_principal
       call          Retardo_1_hora                                         ; Tiempo lámpara encendida 1 hora.
       goto          Opcion_principal
lámpara_OFF
       bcf           lámpara                                                ; Apaga lámpara.
       bcf           Led_azul                                               ; Apaga Led_azul.
       goto          Opcion_principal


; SUBRUTINAS
¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬

; Retardo de 20 segundos ................................................................
        cblock
        ret_00
        ret_01
        ret_02
        Nulo
        endc

Retardo_20_seg
                                ;19999992 ciclos
          movlw 0xB5
movwf ret_00
       movlw 0x99
       movwf ret_01
       movlw 0x2C
       movwf ret_02
Retardo_20_seg_0
       decfsz ret_00, f
       goto $+2
       decfsz ret_01, f
       goto $+2
       decfsz ret_02, f
       goto Retardo_20_seg_0

                                 ;4 ciclos
           goto       $+1
           goto       $+1

                                 ;4 ciclos (incluyendo call)
           return

; Retardo de 5 minutos ..................................................................
        cblock
        ret_05
        ret_06
        ret_07
        ret_08
        endc

Retardo_5_min
                                 ;299999995 ciclos
       movlw 0x54
       movwf ret_05
       movlw 0xA1
       movwf ret_06
       movlw 0xFD
       movwf ret_07
       movlw 0x02
       movwf ret_08
Retardo_5_min_0
       decfsz ret_05, f
       goto $+2
       decfsz ret_06, f
       goto $+2
       decfsz ret_07, f
       goto $+2
       decfsz ret_08, f
       goto Retardo_5_min_0
;1 ciclo
           nop

                                  ;4 ciclos (incluyendo call)
           return

; Retardo de 30 minutos .................................................................
        cblock
        ret_09
        ret_10
        ret_11
        ret_12
        endc

Retardo_30_min
                                  ;1799999989 ciclos
       movlw 0xFE
       movwf ret_09
       movlw 0xC2
       movwf ret_10
       movlw 0xEC
       movwf ret_11
       movlw 0x0C
       movwf ret_12
Retardo_30_min_0
       decfsz ret_09, f
       goto $+2
       decfsz ret_10, f
       goto $+2
       decfsz ret_11, f
       goto $+2
       decfsz ret_12, f
       goto Retardo_30_min_0

                                  ;7 ciclos
           goto       $+1
           goto       $+1
           goto       $+1
           nop

                                  ;4 ciclos (incluyendo call)
           return

; Retardo de 1 hora .....................................................................
        cblock
        ret_13
        ret_14
        ret_15
ret_16
      endc

Retardo_1_hora
                     ;3599999989 ciclos
       movlw 0xFE
       movwf ret_13
       movlw 0x84
       movwf ret_14
       movlw 0xD8
       movwf ret_15
       movlw 0x18
       movwf ret_16
Retardo_1_hora_0
       decfsz ret_13, f
       goto $+2
       decfsz ret_14, f
       goto $+2
       decfsz ret_15, f
       goto $+2
       decfsz ret_16, f
       goto Retardo_1_hora_0

                     ;7 ciclos
      goto     $+1
      goto     $+1
      goto     $+1
      nop

                     ;4 ciclos (incluyendo call)
      return

      END
CÓDIGO FUENTE PIC16F88

;¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬Senpir.asm¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬
;
;          PROGRAMA:        "Senpir". Luz por detector de movimiento y crepuscular.
;          AUTOR:           Ángel Acaymo M. G.
;          E-MAIL;          metaconta@gmail.com
;          PROCESADOR:      PIC16F88
;          FRECUENCIA:      4 MHz
;          VERSIÓN:         1.0
;          DESCRIPCIÓN:
;
;          Programa de un interruptor con sensor movimiento y de luz solar:
;          Si es de noche,
;          mientras el sensor de movimiento (PIR) detecta la presencia de alguien
;          entorno a 6 metros, activa o se   pone a 1 la entrada RA3 y la lámpara
;          se enciende. En caso de que sea de día detectado por la LDR, nunca se
;          enciende
;          la lámpara. En la otra opción, cuando la LDR detecta la noche o falta de
;          Sol, la lámpara se enciende, cuando sea de día, la lámpara se apaga.
;          En los microinterruptores puedes activar el tiempo que tarda en apagarse
;          la lámpara después de ser detectado por el sensor Pir
;          y de noche de un máximo una hora y treinta y cinco minutos.
;
;¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬

; __CONFIG ¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬
;
; _CP_OFF:            Protección de código DESACTIVADO.
; _DEBUG_OFF:         Debug en circuito DESACTIVADO.
; _WRT_PROTECT_OFF:   Protección a escritura en memoria de programa DESACTIVADO.
; _CPD_OFF:           Protección de código de datos DESACTIVADO.
; _LVP_OFF:           Programación en baja tensión DESACTIVADO.
; _BODEN_OFF:         Reset por Brown-out DESACTIVADO.
; _MCLRE_ON:          Reset por pin externo ACTIVADO.
; _PWRTE_ON:          Retraso al reset ACTIVADO.
; _WDT_OFF:           Watchdog DESACTIVADO.
; _XT_OSC:            Oscilador externo del tipo XT.
;---------------------------------------------------------------------------
; _IESO_OFF:          Modo de intercambio de externo a interno DESACTIVADO.
; _FCMEN_OFF:         Monitor de CLK DESACTIVADO.

; DATOS ¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬
      LIST       P=16F88
      INCLUDE          <P16F88.INC>
      __CONFIG _CONFIG1, _CP_OFF & _DEBUG_OFF & _WRT_PROTECT_OFF & _CPD_OFF &
_LVP_OFF & _BODEN_OFF & _MCLR_ON & _PWRTE_ON & _WDT_OFF & _XT_OSC
      __CONFIG _CONFIG2, _IESO_OFF & _FCMEN_OFF
      __idlocs   0001                   ; ID, versión del programa.

     CBLOCK   0x20
     ENDC


#DEFINE    Led_verde     PORTA,0   ; Led verde indica opción LDR seleccionada.
#DEFINE    Led_rojo     PORTA,1            ;   Led rojo indica opción PIR seleccionada.
#DEFINE    Led_azul     PORTA,2            ;   Led azul indica que el Relé está activado.
#DEFINE    lámpara      PORTA,3            ;   lámpara.
#DEFINE    PIR          PORTB,1            ;   Sensor PIR.
#DEFINE    LDR          PORTB,3            ;   Sensor LDR.
#DEFINE    Int_RB4      PORTB,4            ;   Interruptor RB4.
#DEFINE    Int_RB5      PORTB,5            ;   Interruptor RB5.
#DEFINE    Int_RB6      PORTB,6            ;   Interruptor RB6.
#DEFINE    Int_RB7      PORTB,7            ;   Interruptor RB7.

; EEPROM ¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬

     ORG          0x2100     ; Comienza en la dirección 0 de la memoria EERPOM.
                            ; Datos nombre del archivo, versión del programa
                            ; y dirección del correo electrónico.
     DE    "Senpir_16F88.asm. v1.0. 02-01-2010. metaconta@gmail.com", 0x00

; CÓDIGOS ¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬

      ORG   0
Inicio
      BANKSEL   CMCON         ; Cambio al banco 1.
      movlw     b'00000111'   ; .7
      movwf     CMCON         ; Comparadores apagados.
      clrf      ANSEL         ; Pines digitales.
      clrf      TRISA         ; PORTA como salida.
      movlw     b'11111111'
      movwf     TRISB         ; PORTB como entrada.
      BANKSEL   PORTA          ; Cambio al banco 0.
      clrf      PORTA   ; Supuestamente la lámpara y Led apagadas.

Opcion_principal
      btfss Int_RB4           ; ¿Bit 4 del PORTB es "1"? ¿Int_RB4 activado?
      goto Opcion_LDR         ; No, activa modo LDR.
      goto Opcion_PIR         ; Sí, activa modo PIR.

; INTERRUPTOR CREPUSCULAR LDR ¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬

Opcion_LDR
      bcf  Led_rojo           ; Se apaga el Led rojo.

      bsf   Led_verde         ; Enciende Led verde indicando modo LDR activado.
      btfss LDR               ; ¿La entrada LDR es igual a 1?, ¿LDR en oscuridad?
      goto Apaga_la_lámpara   ; No, la LDR está iluminada por el Sol. La lámpara se
apaga.
Enciende_la_lámpara
      call Retardo_20_seg     ;   Espera 20 segundos para confirmar la oscuridad.
      btfss LDR               ;   ¿Entrada es igual a 1?, ¿LDR aún en oscuridad?
      goto Opcion_principal   ;   No, sale fuera.
      bsf   lámpara           ;   Sí, enciende la lámpara.
      bsf   Led_azul          ;   Led_azul activo.
      goto Opcion_principal
Apaga_la_lámpara
      call Retardo_20_seg     ; Espera 20 segundos para confirmar la oscuridad.
      btfsc LDR               ; ¿Entrada es = 0?, ¿LDR sigue iluminada por luz del
sol?
      goto Opcion_principal   ; No, sale fuera.
      bcf         lámpara     ; Sí, apaga lámpara.
bcf  Led_azul         ; Led_azul indica que la lámpara está apagada.
     goto Opcion_principal

; DETECTOR DE MOVIMIENTO ¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬

Opcion_PIR
      bcf   Led_verde        ; Apaga el Led verde de aviso.
      bsf   Led_rojo   ; Enciende Led rojo avisando que está activado el modo PIR.
      btfss LDR              ; ¿La entrada LDR es igual a 1?, ¿LDR en oscuridad?
      goto lámpara_OFF       ; No.
      btfss PIR        ; ¿La entrada PIR es igual a 1?, ¿PIR ha detectado presencia?
      goto lámpara_OFF       ; No, no ha detectado presencia o movimiento.
lámpara_ON
      bsf   lámpara          ; Sí, enciende la lámpara.
      bsf   Led_azul         ; Led_azul activo.
      btfss Int_RB5 ; ¿Bit 5 del PORTB es igual a 1?, ¿Activado el interruptor RB5?
      goto RB6               ; No, salta a la línea siguiente.
      call Retardo_5_min     ; Tiempo lámpara encendida 5 minutos.
RB6
      btfss Int_RB6 ; ¿Bit 6 del PORTB es igual a 1?, ¿Activado el interruptor RB6?
      goto RB7
      call Retardo_30_min    ; Tiempo lámpara encendida 30 minutos.
RB7
      btfss Int_RB7 ; ¿Bit 7 del PORTB es igual a 1?, ¿Activado el interruptor RB7?
      goto Opcion_principal
      call Retardo_1_hora          ; Tiempo lámpara encendida 1 hora.
      goto Opcion_principal
lámpara_OFF
      bcf   lámpara                ; Apaga lámpara.
      bcf   Led_azul               ; Apaga Led_azul.
      goto Opcion_principal

; SUBRUTINAS ¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬

; Retardo de 20 segundos ................................................
      cblock
      ret_00
      ret_01
      ret_02
      Nulo
      endc

Retardo_20_seg
                  ;19999992 ciclos
      movlw 0xB5
      movwf ret_00
      movlw 0x99
      movwf ret_01
      movlw 0x2C
      movwf ret_02
Retardo_20_seg_0
      decfsz      ret_00, f
      goto $+2
      decfsz      ret_01, f
      goto $+2
      decfsz      ret_02, f
      goto Retardo_20_seg_0
;4 ciclos
     goto $+1
     goto $+1

                  ;4 ciclos (incluyendo call)
     return

; Retardo de 5 minutos ...............................................
      cblock
      ret_05
      ret_06
      ret_07
      ret_08
      endc

Retardo_5_min
                  ;299999995 ciclos
      movlw 0x54
      movwf ret_05
      movlw 0xA1
      movwf ret_06
      movlw 0xFD
      movwf ret_07
      movlw 0x02
      movwf ret_08
Retardo_5_min_0
      decfsz      ret_05, f
      goto $+2
      decfsz      ret_06, f
      goto $+2
      decfsz      ret_07, f
      goto $+2
      decfsz      ret_08, f
      goto Retardo_5_min_0

                  ;1 ciclo
     nop

                  ;4 ciclos (incluyendo call)
     return

; Retardo de 30 minutos ........................................................
      cblock
      ret_09
      ret_10
      ret_11
      ret_12
      endc

Retardo_30_min
                   ;1799999989 ciclos
     movlw   0xFE
     movwf   ret_09
     movlw   0xC2
     movwf   ret_10
     movlw   0xEC
     movwf   ret_11
     movlw   0x0C
movwf ret_12
Retardo_30_min_0
      decfsz      ret_09, f
      goto $+2
      decfsz      ret_10, f
      goto $+2
      decfsz      ret_11, f
      goto $+2
      decfsz      ret_12, f
      goto Retardo_30_min_0

                 ;7 ciclos
     goto $+1
     goto $+1
     goto $+1
     nop

                 ;4 ciclos (incluyendo call)
     return

; Retardo de 1 hora ...........................................................
      cblock
      ret_13
      ret_14
      ret_15
      ret_16
      endc

Retardo_1_hora
                  ;3599999989 ciclos
      movlw 0xFE
      movwf ret_13
      movlw 0x84
      movwf ret_14
      movlw 0xD8
      movwf ret_15
      movlw 0x18
      movwf ret_16
Retardo_1_hora_0
      decfsz      ret_13, f
      goto $+2
      decfsz      ret_14, f
      goto $+2
      decfsz      ret_15, f
      goto $+2
      decfsz      ret_16, f
      goto Retardo_1_hora_0

                 ;7 ciclos
     goto $+1
     goto $+1
     goto $+1
     nop

                 ;4 ciclos (incluyendo call)
     return

     END
Autor: Ángel Acaymo M. G.
Versión: 2.00
Publicado por primera vez: 16-11-2009
Última actualización: 02-01-2010

www.electronica-pic.blogspot.com
www.abcdatos.com/tutoriales/tutorial/v875.html
www.pic16f84a.org

More Related Content

What's hot

Sensores industriales
Sensores industrialesSensores industriales
Sensores industrialesLeoncio Gomez
 
500 proyectos de electronica
500 proyectos de electronica500 proyectos de electronica
500 proyectos de electronicafedericoblanco
 
informe proyecto-convertidor-sepic-con-control-de-potencia-en-la-entrada
informe proyecto-convertidor-sepic-con-control-de-potencia-en-la-entradainforme proyecto-convertidor-sepic-con-control-de-potencia-en-la-entrada
informe proyecto-convertidor-sepic-con-control-de-potencia-en-la-entradaDivar4
 
Fuente fija de 12 y 24 voltios
Fuente fija de 12 y 24 voltiosFuente fija de 12 y 24 voltios
Fuente fija de 12 y 24 voltiosRichard Robalino
 
Cables y Conectores Coaxiales
Cables y Conectores CoaxialesCables y Conectores Coaxiales
Cables y Conectores CoaxialesGonzalo Verdaguer
 
Guia de potencia_nro_5_2013
Guia de potencia_nro_5_2013Guia de potencia_nro_5_2013
Guia de potencia_nro_5_2013vr21m
 
Amplificador Realimentado (Entrada, Salida y Ganancia)
Amplificador Realimentado (Entrada, Salida y Ganancia)Amplificador Realimentado (Entrada, Salida y Ganancia)
Amplificador Realimentado (Entrada, Salida y Ganancia)David Díaz
 
Circuitos y aplicaciones de detectores de cruce por cero
Circuitos y aplicaciones de detectores de cruce por ceroCircuitos y aplicaciones de detectores de cruce por cero
Circuitos y aplicaciones de detectores de cruce por ceroovanioster
 
Presentacion pwm
Presentacion pwmPresentacion pwm
Presentacion pwmMario Funes
 
Electronica1 1
Electronica1 1Electronica1 1
Electronica1 1jose2225
 
PLC y Electroneumática: Laboratorio control industrial
PLC y Electroneumática: Laboratorio control industrialPLC y Electroneumática: Laboratorio control industrial
PLC y Electroneumática: Laboratorio control industrialSANTIAGO PABLO ALBERTO
 

What's hot (20)

Sensores industriales
Sensores industrialesSensores industriales
Sensores industriales
 
500 proyectos de electronica
500 proyectos de electronica500 proyectos de electronica
500 proyectos de electronica
 
Certificacion
CertificacionCertificacion
Certificacion
 
informe proyecto-convertidor-sepic-con-control-de-potencia-en-la-entrada
informe proyecto-convertidor-sepic-con-control-de-potencia-en-la-entradainforme proyecto-convertidor-sepic-con-control-de-potencia-en-la-entrada
informe proyecto-convertidor-sepic-con-control-de-potencia-en-la-entrada
 
Transistor igbt
Transistor igbtTransistor igbt
Transistor igbt
 
Fuente fija de 12 y 24 voltios
Fuente fija de 12 y 24 voltiosFuente fija de 12 y 24 voltios
Fuente fija de 12 y 24 voltios
 
Tema6
Tema6Tema6
Tema6
 
Electricidad basica profesor
Electricidad basica profesorElectricidad basica profesor
Electricidad basica profesor
 
Cables y Conectores Coaxiales
Cables y Conectores CoaxialesCables y Conectores Coaxiales
Cables y Conectores Coaxiales
 
Guia de potencia_nro_5_2013
Guia de potencia_nro_5_2013Guia de potencia_nro_5_2013
Guia de potencia_nro_5_2013
 
Amplificador Realimentado (Entrada, Salida y Ganancia)
Amplificador Realimentado (Entrada, Salida y Ganancia)Amplificador Realimentado (Entrada, Salida y Ganancia)
Amplificador Realimentado (Entrada, Salida y Ganancia)
 
Filtros Activos I
Filtros Activos IFiltros Activos I
Filtros Activos I
 
Circuitos y aplicaciones de detectores de cruce por cero
Circuitos y aplicaciones de detectores de cruce por ceroCircuitos y aplicaciones de detectores de cruce por cero
Circuitos y aplicaciones de detectores de cruce por cero
 
Tutor logo!
Tutor logo!Tutor logo!
Tutor logo!
 
Puente h
Puente hPuente h
Puente h
 
Presentacion pwm
Presentacion pwmPresentacion pwm
Presentacion pwm
 
THW - 90
THW - 90THW - 90
THW - 90
 
Electronica1 1
Electronica1 1Electronica1 1
Electronica1 1
 
PLC y Electroneumática: Laboratorio control industrial
PLC y Electroneumática: Laboratorio control industrialPLC y Electroneumática: Laboratorio control industrial
PLC y Electroneumática: Laboratorio control industrial
 
Observador para convertidor buck
Observador para convertidor buck Observador para convertidor buck
Observador para convertidor buck
 

Viewers also liked

Manual Interfaz con VC++ y VB para puerto serie y PIC16F84A
Manual Interfaz con VC++ y VB para puerto serie y PIC16F84AManual Interfaz con VC++ y VB para puerto serie y PIC16F84A
Manual Interfaz con VC++ y VB para puerto serie y PIC16F84AÁngel Acaymo M. G.
 
Servidor Web Apache, PHP, MySQL.
Servidor Web Apache, PHP, MySQL.Servidor Web Apache, PHP, MySQL.
Servidor Web Apache, PHP, MySQL.Ángel Acaymo M. G.
 
Pic Rs232 puerto serie con PIC16F84A
Pic Rs232 puerto serie con PIC16F84APic Rs232 puerto serie con PIC16F84A
Pic Rs232 puerto serie con PIC16F84AÁngel Acaymo M. G.
 
Formulario windows con visual c++ 2017
Formulario windows con visual c++ 2017Formulario windows con visual c++ 2017
Formulario windows con visual c++ 2017Ángel Acaymo M. G.
 
Entrada digital con arduino y visual studio 2015
Entrada digital con arduino y visual studio 2015Entrada digital con arduino y visual studio 2015
Entrada digital con arduino y visual studio 2015Ángel Acaymo M. G.
 
Interfaz visual basic 6 y arduino
Interfaz visual basic 6 y arduinoInterfaz visual basic 6 y arduino
Interfaz visual basic 6 y arduinoÁngel Acaymo M. G.
 
Apagar y encender led con arduino y visual studio 2015
Apagar y encender led con arduino y visual studio 2015Apagar y encender led con arduino y visual studio 2015
Apagar y encender led con arduino y visual studio 2015Ángel Acaymo M. G.
 
Tutorial básico control puerto paralelo con visual basic 6.0
Tutorial básico control puerto paralelo con visual basic 6.0Tutorial básico control puerto paralelo con visual basic 6.0
Tutorial básico control puerto paralelo con visual basic 6.0Eddy Solano
 
Php basico y avanzado
Php basico y avanzadoPhp basico y avanzado
Php basico y avanzadodrakatiadiaz
 
Circuitos eléctricos 1º Bto
Circuitos eléctricos 1º BtoCircuitos eléctricos 1º Bto
Circuitos eléctricos 1º Btorlopez33
 
Formulario windows con visual c++
Formulario windows con visual c++Formulario windows con visual c++
Formulario windows con visual c++Ángel Acaymo M. G.
 

Viewers also liked (20)

Manual Ic Prog
Manual Ic ProgManual Ic Prog
Manual Ic Prog
 
Manual Interfaz con VC++ y VB para puerto serie y PIC16F84A
Manual Interfaz con VC++ y VB para puerto serie y PIC16F84AManual Interfaz con VC++ y VB para puerto serie y PIC16F84A
Manual Interfaz con VC++ y VB para puerto serie y PIC16F84A
 
Subrutinas de retardo
Subrutinas de retardoSubrutinas de retardo
Subrutinas de retardo
 
Servidor Web Apache, PHP, MySQL.
Servidor Web Apache, PHP, MySQL.Servidor Web Apache, PHP, MySQL.
Servidor Web Apache, PHP, MySQL.
 
Manual básico WinPic800
Manual básico WinPic800Manual básico WinPic800
Manual básico WinPic800
 
Pic Rs232 puerto serie con PIC16F84A
Pic Rs232 puerto serie con PIC16F84APic Rs232 puerto serie con PIC16F84A
Pic Rs232 puerto serie con PIC16F84A
 
Formulario windows con visual c++ 2017
Formulario windows con visual c++ 2017Formulario windows con visual c++ 2017
Formulario windows con visual c++ 2017
 
Manual básico Minicom
Manual básico MinicomManual básico Minicom
Manual básico Minicom
 
Interfaz puerto paralelo LPT
Interfaz puerto paralelo LPTInterfaz puerto paralelo LPT
Interfaz puerto paralelo LPT
 
Entrada digital con arduino y visual studio 2015
Entrada digital con arduino y visual studio 2015Entrada digital con arduino y visual studio 2015
Entrada digital con arduino y visual studio 2015
 
Interfaz visual basic 6 y arduino
Interfaz visual basic 6 y arduinoInterfaz visual basic 6 y arduino
Interfaz visual basic 6 y arduino
 
Apagar y encender led con arduino y visual studio 2015
Apagar y encender led con arduino y visual studio 2015Apagar y encender led con arduino y visual studio 2015
Apagar y encender led con arduino y visual studio 2015
 
Tutorial básico control puerto paralelo con visual basic 6.0
Tutorial básico control puerto paralelo con visual basic 6.0Tutorial básico control puerto paralelo con visual basic 6.0
Tutorial básico control puerto paralelo con visual basic 6.0
 
Mplab Inicio Rapido
Mplab Inicio RapidoMplab Inicio Rapido
Mplab Inicio Rapido
 
Php basico y avanzado
Php basico y avanzadoPhp basico y avanzado
Php basico y avanzado
 
Circuitos eléctricos 1º Bto
Circuitos eléctricos 1º BtoCircuitos eléctricos 1º Bto
Circuitos eléctricos 1º Bto
 
Interfaz java y arduino
Interfaz java y arduinoInterfaz java y arduino
Interfaz java y arduino
 
Formulario windows con visual c++
Formulario windows con visual c++Formulario windows con visual c++
Formulario windows con visual c++
 
Sensor de Movimiento PIR
Sensor de Movimiento PIRSensor de Movimiento PIR
Sensor de Movimiento PIR
 
Computadoras tactiles
Computadoras tactilesComputadoras tactiles
Computadoras tactiles
 

Similar to Luz por detector de movimiento y crepuscular Senpir

Microcontroladores PIC: Luz por detector de movimiento y crepuscular “Senpir”
Microcontroladores PIC: Luz por detector de movimiento y crepuscular “Senpir”Microcontroladores PIC: Luz por detector de movimiento y crepuscular “Senpir”
Microcontroladores PIC: Luz por detector de movimiento y crepuscular “Senpir”SANTIAGO PABLO ALBERTO
 
Tipos y diagramas de sensores
Tipos y diagramas de sensoresTipos y diagramas de sensores
Tipos y diagramas de sensoresClaudia Ivt San
 
Aplicaciondetectordeproximidad
AplicaciondetectordeproximidadAplicaciondetectordeproximidad
Aplicaciondetectordeproximidadsonrisas28
 
Aplicaciondetectordeproximidad
AplicaciondetectordeproximidadAplicaciondetectordeproximidad
Aplicaciondetectordeproximidadsonrisas28
 
Montaje de un interruptor crepuscular
Montaje de un interruptor crepuscularMontaje de un interruptor crepuscular
Montaje de un interruptor crepuscularJomicast
 
Album de diagramas
Album de diagramasAlbum de diagramas
Album de diagramasmr_rojas
 
Detector de proximidad
Detector de proximidadDetector de proximidad
Detector de proximidadsonrisas28
 
OPTOACOPLADORES V SEMESTRE.pptx
OPTOACOPLADORES V SEMESTRE.pptxOPTOACOPLADORES V SEMESTRE.pptx
OPTOACOPLADORES V SEMESTRE.pptxOaugustoMeCoba
 
Anteproyecto Infrarrojo
Anteproyecto InfrarrojoAnteproyecto Infrarrojo
Anteproyecto InfrarrojoMarco Salazar
 
Proyecto seguidor de línea
Proyecto seguidor de líneaProyecto seguidor de línea
Proyecto seguidor de líneaDuvan Aguilera
 
Practica de word
Practica de wordPractica de word
Practica de wordmajogranda
 
Laboratorio n 1 arquitectura de hardware
Laboratorio n 1 arquitectura de hardwareLaboratorio n 1 arquitectura de hardware
Laboratorio n 1 arquitectura de hardwaremaria_amanta
 

Similar to Luz por detector de movimiento y crepuscular Senpir (20)

Microcontroladores PIC: Luz por detector de movimiento y crepuscular “Senpir”
Microcontroladores PIC: Luz por detector de movimiento y crepuscular “Senpir”Microcontroladores PIC: Luz por detector de movimiento y crepuscular “Senpir”
Microcontroladores PIC: Luz por detector de movimiento y crepuscular “Senpir”
 
Tipos y diagramas de sensores
Tipos y diagramas de sensoresTipos y diagramas de sensores
Tipos y diagramas de sensores
 
Album de diagramas
Album de diagramasAlbum de diagramas
Album de diagramas
 
Aplicaciondetectordeproximidad
AplicaciondetectordeproximidadAplicaciondetectordeproximidad
Aplicaciondetectordeproximidad
 
Aplicaciondetectordeproximidad
AplicaciondetectordeproximidadAplicaciondetectordeproximidad
Aplicaciondetectordeproximidad
 
88 circuitos electronicos
88 circuitos electronicos88 circuitos electronicos
88 circuitos electronicos
 
Montaje de un interruptor crepuscular
Montaje de un interruptor crepuscularMontaje de un interruptor crepuscular
Montaje de un interruptor crepuscular
 
Album de diagramas
Album de diagramasAlbum de diagramas
Album de diagramas
 
Album de diagramas
Album de diagramasAlbum de diagramas
Album de diagramas
 
Detector de proximidad
Detector de proximidadDetector de proximidad
Detector de proximidad
 
OPTOACOPLADORES V SEMESTRE.pptx
OPTOACOPLADORES V SEMESTRE.pptxOPTOACOPLADORES V SEMESTRE.pptx
OPTOACOPLADORES V SEMESTRE.pptx
 
Anteproyecto Infrarrojo
Anteproyecto InfrarrojoAnteproyecto Infrarrojo
Anteproyecto Infrarrojo
 
Sensor
SensorSensor
Sensor
 
Circuitos de electrónica
Circuitos de electrónicaCircuitos de electrónica
Circuitos de electrónica
 
Proyecto seguidor de línea
Proyecto seguidor de líneaProyecto seguidor de línea
Proyecto seguidor de línea
 
Practica de word
Practica de wordPractica de word
Practica de word
 
Anteproyecto temporizaddores
Anteproyecto temporizaddoresAnteproyecto temporizaddores
Anteproyecto temporizaddores
 
Trabajo 1
Trabajo 1Trabajo 1
Trabajo 1
 
Proyecto de Navidad
Proyecto de NavidadProyecto de Navidad
Proyecto de Navidad
 
Laboratorio n 1 arquitectura de hardware
Laboratorio n 1 arquitectura de hardwareLaboratorio n 1 arquitectura de hardware
Laboratorio n 1 arquitectura de hardware
 

Recently uploaded

INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptxdeimerhdz21
 
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfUPTAIDELTACHIRA
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioELIASAURELIOCHAVEZCA1
 
ACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJO
ACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJOACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJO
ACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJOBRIGIDATELLOLEONARDO
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAEl Fortí
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfFrancisco158360
 
PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesYanirisBarcelDelaHoz
 
Abril 2024 - Maestra Jardinera Ediba.pdf
Abril 2024 -  Maestra Jardinera Ediba.pdfAbril 2024 -  Maestra Jardinera Ediba.pdf
Abril 2024 - Maestra Jardinera Ediba.pdfValeriaCorrea29
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docxEliaHernndez7
 
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONALMiNeyi1
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...JAVIER SOLIS NOYOLA
 
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptxRigoTito
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxlclcarmen
 
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdfMiNeyi1
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADauxsoporte
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Juan Martín Martín
 

Recently uploaded (20)

INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptx
 
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literario
 
ACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJO
ACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJOACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJO
ACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJO
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
 
PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonables
 
Abril 2024 - Maestra Jardinera Ediba.pdf
Abril 2024 -  Maestra Jardinera Ediba.pdfAbril 2024 -  Maestra Jardinera Ediba.pdf
Abril 2024 - Maestra Jardinera Ediba.pdf
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
 
Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
 
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
 
Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024
 

Luz por detector de movimiento y crepuscular Senpir

  • 1. Luz por detector de movimiento y crepuscular “Senpir” Por Ángel Acaymo M. G. – Tenerife, España metaconta@gmail.com INTRODUCCIÓN Alguna vez, en la entrada principal de una casa terrena o chalet, después de pasar por el jardín y antes de llegar a la puerta principal de la vivienda, por la noche podría ser molesto al intentar abrir la puerta en ausencia o insuficiente luz. A veces, es buena idea instalar un pequeño aparato electrónico hecho por uno mismo, un circuito capaz de realizar ciertas tareas y estar más cómodo en ciertas situaciones como ésta. Al caer la noche sería una buena idea que el circuito electrónico encienda la luz y se apague cuando empieza a llegar el Sol en las primeras horas de la mañana, por lo que se conoce como interruptor crepuscular. En caso de que no quiera consumir luz durante toda la noche o bien, utiliza las lámparas compactas también conocidas como lámparas de bajo consumo o otra posibilidad que sólo se encienda la lámpara al detectar la presencia de una persona al acercarse a la puerta principal, eso si, al entrar a la vivienda la lámpara se quedará un tiempo encendida seleccionado por la persona, por ejemplo, unos cinco minutos, después se apaga. Ambos modos lo puedes seleccionar en el propio circuito electrónico por el cual lo llamo y llamaré a partir de ahora, “Senpir”. Si lo deseas, puedes hacer el efecto contrario gracias al relé que ya tiene un conmutador e incluso en el propio sensor de movimiento. Este pequeño proyecto está pensado para éste tipo de aplicaciones o cualquier otra tarea como al encender la lámpara mientras vas a la barbacoa que tienes en el otro lado del jardín sin tocar el interruptor, al ser detectado por el sensor de movimiento (PIR), activa una alarma desde el jardín si entra un intruso, etc. Sabiendo que Senpir está controlado por un microcontrolador PIC, podría servir un pequeño proyecto de fin de curso para estudiantes de la rama electricidad- electrónica e incluso cualquier aficionado con un mínimo de conocimiento de electrónica básica. Senpir tiene dos circuitos impreso independiente, una de control y la otra de fuente de alimentación conectada entre sí con un conector y dentro de la misma caja. El motivo de diseñar dos placas diferentes en el mismo circuito electrónico de tipo módulos, es por si cualquier causa falla la placa de la fuente de alimentación, hay corte de la corriente eléctrica desde la red de la casa o por otros motivos, puedes sustituirla por otra placa o conectarla a una batería a parte e incluso en placas solares fotovoltaicas.
  • 2. Las características técnicas del Senpir son muy sencillas y entre ella destaca dos placas independientes: - Fuente de alimentación con un transformador necesario para lograr una tensión fija y estabilizada mediante un regulador. - Un Relé con un conmutador para la lámpara u otra aplicación. - Un microcontrolador PIC que controla el circuito. - Un sensor de Luz o LDR que detecta la presencia de la luz. - Un sensor infrarrojo de movimiento o PIR. Fig 1. Fotografía del Senpir.
  • 3. Fig 2. Componentes del circuito. DISEÑO DEL CIRCUITO El control central del circuito es un microcontrolador que controla no sólo el funcionamiento de de las señales de los sensores, de luz y movimiento sino los temporizadores para el relé y diodos led de aviso. Los microcontroladores incluyen microprocesador, memoria del programa, memoria de datos, puertos de entradas y salidas y otras características todo en el mismo encapsulado, ahí está claro la ventaja su reducido tamaño. El proyecto se ha elegido el popular microcontrolador PIC 16F84A del fabricante Microchip Thecnology Inc. Es muy conocido, donde hay más información, ejemplos, proyectos para aprendizaje y fácil uso. El microcontrolador está desarrollado con un programa bajo el entorno de desarrollo llamado MPLAB que puedes descargar y usar gratuitamente en la Web del fabricante Microchip así como las hojas de datos de todos los dispositivos PIC entre otros periféricos, http://www.microchip.com
  • 4. DESCRIPCIÓN Y FUNCIONAMIENTO DEL HARDWARE - Sensor de luz El sensor LDR viene de la expresión inglesa Light Dependent Resistor. Son componentes pasivos cuya resistencia o su valor óhmico varía en función de la luz recibida. Con él puedes detectar la presencia de luz y oscuridad para activar o desactivar el relé de la lámpara. Al recibir más luz, baja su valor óhmico hasta que el microcontrolador lo detecte y ejecuta su tarea determinada. - Sensor PIR El sensor PIR “Passive Infra Red” es un dispositivo piroeléctrico que mide los cambios de niveles de radiación infrarroja emitida por los objetos de su entorno alrededor de seis metros. Cambia su estado lógico en una patilla conectado al microcontrolador. Este sensor es de muy bajo costo y pequeño, se suele utilizar en sistemas de alarmas, iluminación controlada por movimiento y aplicaciones de robótica.
  • 5. Fig 3. Detector de movimiento PIR. Sus características técnicas son: - Voltaje de alimentación: 5VDC. - Visión máxima 6 metros. - Estado en su salida TTL. - Polaridad de salida seleccionable. - Poco tiempo de calibración. El sensor PIR sólo usa tres terminales, dos de alimentación y uno de datos que se conecta al microcontrolador. Fig 4. Conexión del PIR al microcontrolador. El circuito electrónico se instala dentro de la vivienda con los sensores al exterior. El sensor de luz se instala lejos de la lámpara o que no le dé luz sobre ella excepto la luz ambiente. El sensor de movimiento se instala bajo la lámpara sin que llegue el calor y luz directa ya que puede dar un funcionamiento no esperado. La fuente de alimentación que tiene 5 voltios desde de la tensión continua de 12 voltios y al menos 1 amperio. En este circuito se encuentra un regulador de tensión 7805. En su entrada dispone de un puente de diodos rectificador de onda completa de 12 voltios con su condensador que hace de filtrado para obtener 12 voltios en continua. El regulador 7805 se encarga de estabilizar los 5 voltios de alimentación del otro circuito principal más los 12 voltios para alimentar el relé. Al final se encuentra un diodo Led de encendido.
  • 6. Fig 5. Esquema fuente de alimentación. • Fig 6. Esquema eléctrico del circuito principal. El circuito principal está controlado con un µC PIC 16F84A donde se comunican dos sensores como entrada, un relé como salida y un micro interruptor para controlar el tipo de configuración deseada y tiempos de encendido. En las entradas del µC PIC 16F84A, está conectado un micro interruptor, sensor de luz y sensor de movimiento. El sensor de luz o LDR conectado al puerto RB3 (pin 9) como entrada, detecta el día y la noche con la finalidad de hacer un interruptor crepuscular, es decir, que sólo se enciende la lámpara o al caer la noche. Tiene un tiempo de veinte segundos para asegurarse que realmente es de noche o de día. El sensor de movimiento o PIR, conectado al puerto RB1 (pin 7) como entrada. Tienen elementos fabricados de un material cristalino que genera una carga eléctrica cuando se expone a una radiación infrarroja. Los cambios de la
  • 7. cantidad de radiación producen cambios de voltaje los cuales son medidos por un amplificador. El sensor PIR contiene unos filtros especiales llamados lentes de Fresnel que enfocan las señales infrarrojas sobre el elemento sensor. Cuando las señales infrarrojas del ambiente donde se encuentra el sensor cambian rápidamente, el amplificador activa la salida para indicar movimiento. Esta salida se queda activa unos segundos permitiendo al micro controlador saber si hubo movimiento. Funciona a 5VDC, gracias a que tiene un patillaje o pin que se conecta al micro controlador directamente, el sensor PIR funciona como un interruptor a la vez puedes cambiar mediante un jumper el estado lógico de la salida si deseas el efecto contrario. En la salida RA3 (pin 2) del micro controlador dispone un relé de 12VDC para activar una lámpara o lámpara de la red (220VAC). En la base del transistor T1, pasa a conducción y activa el relé. Este circuito también aísla eléctricamente la carga del micro controlador. El valor de la potencia a controlar depende de los contactos del relé y varía mucho según el modelo, en este caso soporta 10 Amperios. El diodo paralelo al relé se incluye de protección de los transistores por la fuerza contraelectromotriz. Microinterruptor Pin Puerto B ON OFF 4 RB4 (Pin 10) PIR LDR 3 RB5 (Pin 11) 5 m. 0 2 RB6 (Pin 12) 30 m. 0 1 RB7 (Pin 10) 1 h. 0 Tabla 1. Micro interruptor. A su salida del puerto A, se visualiza los Led de avisos. Led verde visualiza que se ha elegido la opción interruptor crepuscular y el rojo visualiza que se ha elegido la opción del sensor de movimiento que puedes seleccionar en el microinterruptor Int_RB4 (pin 10). Le Led azul indica que está activado o desactivado el relé en el momento de conmutar así sabrás sin salir de casa su estado actual mirando el circuito o la caja donde lo tienes instalado, en cambio, el Led ambar o amarillo significa el encendido de la fuente de alimentación. Led Amarillo Fuente alimentación Verde LDR Rojo PIR Azul Relé Tabla 2. Indicadores de los Led.
  • 8. PROGRAMA DEL MICROCONTROLADOR 16F84A El programa del PIC16F84A está escrito con el lenguaje ensamblador. Mediante el diagrama de flujo, es más fácil ver a simple vista un esquema completo sobre su funcionamiento paso por paso. Inicio PORTA = Salida PORTB = Entrada En principio Bombilla apagada Principal No LED Rojo = OFF ¿Int_RB4 LED Verde = ON activado? Si No Retardo 20 ¿LDR en LED Verde = OFF segundos oscuridad? LED Rojo = ON Si No Si Si ¿PIR ¿LDR ilum. por ¿LDR en Bombilla y LED detectada el Sol? oscuridad? Azul encendido presencia? Retardo 20 Si segundos No No Si Bombilla y LED ¿RB5 Retardo 5 Azul apagado activado? minutos No No Si ¿LDR aún en Bombilla y LED Bombilla y LED ¿RB6 Retardo 30 oscuridad? Azul apagado Azul apagado activado? minutos Si No Si Bombilla y LED ¿RB7 Retardo 1 Azul encendido activado? hora No FIN Diagrama de flujo. Fig 7. Diagrama de flujo.
  • 9. Fig 8. Cara componentes. Fig 9. Cara pistas esquema.
  • 10. Fig 10. Cara pistas.
  • 11. Fig 11. Vista perspectiva.
  • 12. Fig 12. Vista trasera.
  • 13. Fig 13. Proyecto acabado.
  • 14. VÍDEOS Vídeos del circuito Senpir funcionando con el PIC16F84A, también con código fuente para el PIC16F88. 1) Ver vídeo. 2) Ver vídeo.
  • 15. LISTA DE MATERIALES Resistencias: R1, R2, R3, R4, R11 = 10 KΩ R5, R6, R7, R9 = 330 Ω R10 = 100 Ω R12 = 33 KΩ Condensadores: C1, C2 = 22 pF Diodos: D1 = Led 5 mm bicolor verde rojo D2 = Led 5 mm Azul D3 = 1N4148 Transistor: T1 = 2N2222 Varios: R = LDR X1 = 4MHZ (Cristal de cuarzo) DSW1 = 4 interruptores P1 = 4K7 Ω Potenciómetro RL1 = 12VDC, 10Amp, 1 Conmutador S1 = Botón reset J1, J2, J4 = 2 bornes J3 = 3 bornes J5 = 4 bornes IC1 = PIC16F84A-04 (También compatible con PIC16F88)
  • 16. CÓDIGO FUENTE PIC16F84A ;¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬Senpir.asm¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬ ; ; PROGRAMA: "Senpir". Luz por detector de movimiento y crepuscular. ; AUTOR: Ángel Acaymo M. G. ; E-MAIL; metaconta@gmail.com ; PROCESADOR: PIC16F84A ; FRECUENCIA: 4 MHz ; VERSIÓN: 1.00 ; DESCRIPCIÓN: ; ; Programa de un interruptor con sensor movimiento y de luz solar: Si es de noche, ; mientras el sensor de movimiento (PIR) detecta la presencia de alguien ; entorno a 6 metros, activa o se pone a 1 la entrada RA3 y la lámpara ; se enciende. En caso de que sea de día detectado por la LDR, nunca se enciende ; la lámpara. En la otra opción, cuando la LDR detecta la noche o falta de Sol, ; la lámpara se enciende, cuando sea de día, la lámpara se apaga. ; En los microinterruptores puedes activar el tiempo que tarda en apagarse la ; lámpara después de ser detectado por el sensor Pir y de noche de un máximo ; una hora y treinta y cinco minutos. ; ; ¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬ ; DATOS ¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬ LIST P=16F84A INCLUDE <P16F84A.INC> __CONFIG 3FF1 __idlocs 0001 ; ID, versión del programa. CBLOCK 0x0C ENDC #DEFINE Led_verde PORTA,0 ; Led verde indica opción LDR seleccionada. #DEFINE Led_rojo PORTA,1 ; Led rojo indica opción PIR seleccionada. #DEFINE Led_azul PORTA,2 ; Led azul indica que el Relé está activado. #DEFINE lámpara PORTA,3 ; lámpara. #DEFINE PIR PORTB,1 ; Sensor PIR. #DEFINE LDR PORTB,3 ; Sensor LDR. #DEFINE Int_RB4 PORTB,4 ; Interruptor RB4. #DEFINE Int_RB5 PORTB,5 ; Interruptor RB5. #DEFINE Int_RB6 PORTB,6 ; Interruptor RB6. #DEFINE Int_RB7 PORTB,7 ; Interruptor RB7.
  • 17. ; EEPROM ¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬ ORG 0x2100 ; Comienza en la dirección 0 de la memoria EERPOM. ; Datos nombre del archivo, versión del programa ; y dirección del correo electrónico. DE "Senpir.asm. v1.0. 25-03-2009. metaconta@gmail.com", 0x00 ; CÓDIGOS ¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬ ORG 0 Inicio bsf STATUS,RP0 ; Accede al Banco 1. clrf PORTA ; Puerto A como salidas. movlw b'11111111' ; Las 8 líneas del puerto B se configura como entradas. movwf PORTB bcf STATUS,RP0 ; Accede al Banco 0. clrf PORTA ; Supuestamente la lámpara y Led apagadas. Opcion_principal btfss Int_RB4 ; ¿Bit 4 del PORTB es "1"? ¿Int_RB4 activado? goto Opcion_LDR ; No, activa modo LDR. goto Opcion_PIR ; Sí, activa modo PIR. ; INTERRUPTOR CREPUSCULAR LDR ¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬ Opcion_LDR bcf Led_rojo ; Se apaga el Led rojo. bsf Led_verde ; Enciende Led verde indicando modo LDR activado. btfss LDR ; ¿La entrada LDR es igual a 1?, ¿LDR en oscuridad? goto Apaga_la_lámpara ; No, la LDR está iluminada por el Sol. La lámpara se apaga. Enciende_la_lámpara call Retardo_20_seg ; Espera 20 segundos para confirmar la oscuridad. btfss LDR ; ¿Entrada es igual a 1?, ¿LDR aún en oscuridad? goto Opcion_principal ; No, sale fuera. bsf lámpara ; Sí, enciende la lámpara. bsf Led_azul ; Led_azul activo. goto Opcion_principal Apaga_la_lámpara call Retardo_20_seg ; Espera 20 segundos para confirmar la oscuridad. btfsc LDR ; ¿Entrada es = 0?, ¿LDR sigue iluminada por luz del sol? goto Opcion_principal ; No, sale fuera. bcf lámpara ; Sí, apaga lámpara. bcf Led_azul ; Led_azul indica que la lámpara está apagada. goto Opcion_principal
  • 18. ; DETECTOR DE MOVIMIENTO ¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬ Opcion_PIR bcf Led_verde ; Apaga el Led verde de aviso. bsf Led_rojo ; Enciende Led rojo avisando que está activado el modo PIR. btfss LDR ; ¿La entrada LDR es igual a 1?, ¿LDR en oscuridad? goto lámpara_OFF ; No. btfss PIR ; ¿La entrada PIR es igual a 1?, ¿PIR ha detectado presencia? goto lámpara_OFF ; No, no ha detectado presencia o movimiento. lámpara_ON bsf lámpara ; Sí, enciende la lámpara. bsf Led_azul ; Led_azul activo. btfss Int_RB5 ; ¿Bit 5 del PORTB es igual a 1?, ¿Activado el interruptor RB5? goto RB6 ; No, salta a la línea siguiente. call Retardo_5_min ; Tiempo lámpara encendida 5 minutos. RB6 btfss Int_RB6 ; ¿Bit 6 del PORTB es igual a 1?, ¿Activado el interruptor RB6? goto RB7 call Retardo_30_min ; Tiempo lámpara encendida 30 minutos. RB7 btfss Int_RB7 ; ¿Bit 7 del PORTB es igual a 1?, ¿Activado el interruptor RB7? goto Opcion_principal call Retardo_1_hora ; Tiempo lámpara encendida 1 hora. goto Opcion_principal lámpara_OFF bcf lámpara ; Apaga lámpara. bcf Led_azul ; Apaga Led_azul. goto Opcion_principal ; SUBRUTINAS ¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬ ; Retardo de 20 segundos ................................................................ cblock ret_00 ret_01 ret_02 Nulo endc Retardo_20_seg ;19999992 ciclos movlw 0xB5
  • 19. movwf ret_00 movlw 0x99 movwf ret_01 movlw 0x2C movwf ret_02 Retardo_20_seg_0 decfsz ret_00, f goto $+2 decfsz ret_01, f goto $+2 decfsz ret_02, f goto Retardo_20_seg_0 ;4 ciclos goto $+1 goto $+1 ;4 ciclos (incluyendo call) return ; Retardo de 5 minutos .................................................................. cblock ret_05 ret_06 ret_07 ret_08 endc Retardo_5_min ;299999995 ciclos movlw 0x54 movwf ret_05 movlw 0xA1 movwf ret_06 movlw 0xFD movwf ret_07 movlw 0x02 movwf ret_08 Retardo_5_min_0 decfsz ret_05, f goto $+2 decfsz ret_06, f goto $+2 decfsz ret_07, f goto $+2 decfsz ret_08, f goto Retardo_5_min_0
  • 20. ;1 ciclo nop ;4 ciclos (incluyendo call) return ; Retardo de 30 minutos ................................................................. cblock ret_09 ret_10 ret_11 ret_12 endc Retardo_30_min ;1799999989 ciclos movlw 0xFE movwf ret_09 movlw 0xC2 movwf ret_10 movlw 0xEC movwf ret_11 movlw 0x0C movwf ret_12 Retardo_30_min_0 decfsz ret_09, f goto $+2 decfsz ret_10, f goto $+2 decfsz ret_11, f goto $+2 decfsz ret_12, f goto Retardo_30_min_0 ;7 ciclos goto $+1 goto $+1 goto $+1 nop ;4 ciclos (incluyendo call) return ; Retardo de 1 hora ..................................................................... cblock ret_13 ret_14 ret_15
  • 21. ret_16 endc Retardo_1_hora ;3599999989 ciclos movlw 0xFE movwf ret_13 movlw 0x84 movwf ret_14 movlw 0xD8 movwf ret_15 movlw 0x18 movwf ret_16 Retardo_1_hora_0 decfsz ret_13, f goto $+2 decfsz ret_14, f goto $+2 decfsz ret_15, f goto $+2 decfsz ret_16, f goto Retardo_1_hora_0 ;7 ciclos goto $+1 goto $+1 goto $+1 nop ;4 ciclos (incluyendo call) return END
  • 22. CÓDIGO FUENTE PIC16F88 ;¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬Senpir.asm¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬ ; ; PROGRAMA: "Senpir". Luz por detector de movimiento y crepuscular. ; AUTOR: Ángel Acaymo M. G. ; E-MAIL; metaconta@gmail.com ; PROCESADOR: PIC16F88 ; FRECUENCIA: 4 MHz ; VERSIÓN: 1.0 ; DESCRIPCIÓN: ; ; Programa de un interruptor con sensor movimiento y de luz solar: ; Si es de noche, ; mientras el sensor de movimiento (PIR) detecta la presencia de alguien ; entorno a 6 metros, activa o se pone a 1 la entrada RA3 y la lámpara ; se enciende. En caso de que sea de día detectado por la LDR, nunca se ; enciende ; la lámpara. En la otra opción, cuando la LDR detecta la noche o falta de ; Sol, la lámpara se enciende, cuando sea de día, la lámpara se apaga. ; En los microinterruptores puedes activar el tiempo que tarda en apagarse ; la lámpara después de ser detectado por el sensor Pir ; y de noche de un máximo una hora y treinta y cinco minutos. ; ;¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬ ; __CONFIG ¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬ ; ; _CP_OFF: Protección de código DESACTIVADO. ; _DEBUG_OFF: Debug en circuito DESACTIVADO. ; _WRT_PROTECT_OFF: Protección a escritura en memoria de programa DESACTIVADO. ; _CPD_OFF: Protección de código de datos DESACTIVADO. ; _LVP_OFF: Programación en baja tensión DESACTIVADO. ; _BODEN_OFF: Reset por Brown-out DESACTIVADO. ; _MCLRE_ON: Reset por pin externo ACTIVADO. ; _PWRTE_ON: Retraso al reset ACTIVADO. ; _WDT_OFF: Watchdog DESACTIVADO. ; _XT_OSC: Oscilador externo del tipo XT. ;--------------------------------------------------------------------------- ; _IESO_OFF: Modo de intercambio de externo a interno DESACTIVADO. ; _FCMEN_OFF: Monitor de CLK DESACTIVADO. ; DATOS ¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬ LIST P=16F88 INCLUDE <P16F88.INC> __CONFIG _CONFIG1, _CP_OFF & _DEBUG_OFF & _WRT_PROTECT_OFF & _CPD_OFF & _LVP_OFF & _BODEN_OFF & _MCLR_ON & _PWRTE_ON & _WDT_OFF & _XT_OSC __CONFIG _CONFIG2, _IESO_OFF & _FCMEN_OFF __idlocs 0001 ; ID, versión del programa. CBLOCK 0x20 ENDC #DEFINE Led_verde PORTA,0 ; Led verde indica opción LDR seleccionada.
  • 23. #DEFINE Led_rojo PORTA,1 ; Led rojo indica opción PIR seleccionada. #DEFINE Led_azul PORTA,2 ; Led azul indica que el Relé está activado. #DEFINE lámpara PORTA,3 ; lámpara. #DEFINE PIR PORTB,1 ; Sensor PIR. #DEFINE LDR PORTB,3 ; Sensor LDR. #DEFINE Int_RB4 PORTB,4 ; Interruptor RB4. #DEFINE Int_RB5 PORTB,5 ; Interruptor RB5. #DEFINE Int_RB6 PORTB,6 ; Interruptor RB6. #DEFINE Int_RB7 PORTB,7 ; Interruptor RB7. ; EEPROM ¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬ ORG 0x2100 ; Comienza en la dirección 0 de la memoria EERPOM. ; Datos nombre del archivo, versión del programa ; y dirección del correo electrónico. DE "Senpir_16F88.asm. v1.0. 02-01-2010. metaconta@gmail.com", 0x00 ; CÓDIGOS ¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬ ORG 0 Inicio BANKSEL CMCON ; Cambio al banco 1. movlw b'00000111' ; .7 movwf CMCON ; Comparadores apagados. clrf ANSEL ; Pines digitales. clrf TRISA ; PORTA como salida. movlw b'11111111' movwf TRISB ; PORTB como entrada. BANKSEL PORTA ; Cambio al banco 0. clrf PORTA ; Supuestamente la lámpara y Led apagadas. Opcion_principal btfss Int_RB4 ; ¿Bit 4 del PORTB es "1"? ¿Int_RB4 activado? goto Opcion_LDR ; No, activa modo LDR. goto Opcion_PIR ; Sí, activa modo PIR. ; INTERRUPTOR CREPUSCULAR LDR ¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬ Opcion_LDR bcf Led_rojo ; Se apaga el Led rojo. bsf Led_verde ; Enciende Led verde indicando modo LDR activado. btfss LDR ; ¿La entrada LDR es igual a 1?, ¿LDR en oscuridad? goto Apaga_la_lámpara ; No, la LDR está iluminada por el Sol. La lámpara se apaga. Enciende_la_lámpara call Retardo_20_seg ; Espera 20 segundos para confirmar la oscuridad. btfss LDR ; ¿Entrada es igual a 1?, ¿LDR aún en oscuridad? goto Opcion_principal ; No, sale fuera. bsf lámpara ; Sí, enciende la lámpara. bsf Led_azul ; Led_azul activo. goto Opcion_principal Apaga_la_lámpara call Retardo_20_seg ; Espera 20 segundos para confirmar la oscuridad. btfsc LDR ; ¿Entrada es = 0?, ¿LDR sigue iluminada por luz del sol? goto Opcion_principal ; No, sale fuera. bcf lámpara ; Sí, apaga lámpara.
  • 24. bcf Led_azul ; Led_azul indica que la lámpara está apagada. goto Opcion_principal ; DETECTOR DE MOVIMIENTO ¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬ Opcion_PIR bcf Led_verde ; Apaga el Led verde de aviso. bsf Led_rojo ; Enciende Led rojo avisando que está activado el modo PIR. btfss LDR ; ¿La entrada LDR es igual a 1?, ¿LDR en oscuridad? goto lámpara_OFF ; No. btfss PIR ; ¿La entrada PIR es igual a 1?, ¿PIR ha detectado presencia? goto lámpara_OFF ; No, no ha detectado presencia o movimiento. lámpara_ON bsf lámpara ; Sí, enciende la lámpara. bsf Led_azul ; Led_azul activo. btfss Int_RB5 ; ¿Bit 5 del PORTB es igual a 1?, ¿Activado el interruptor RB5? goto RB6 ; No, salta a la línea siguiente. call Retardo_5_min ; Tiempo lámpara encendida 5 minutos. RB6 btfss Int_RB6 ; ¿Bit 6 del PORTB es igual a 1?, ¿Activado el interruptor RB6? goto RB7 call Retardo_30_min ; Tiempo lámpara encendida 30 minutos. RB7 btfss Int_RB7 ; ¿Bit 7 del PORTB es igual a 1?, ¿Activado el interruptor RB7? goto Opcion_principal call Retardo_1_hora ; Tiempo lámpara encendida 1 hora. goto Opcion_principal lámpara_OFF bcf lámpara ; Apaga lámpara. bcf Led_azul ; Apaga Led_azul. goto Opcion_principal ; SUBRUTINAS ¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬ ; Retardo de 20 segundos ................................................ cblock ret_00 ret_01 ret_02 Nulo endc Retardo_20_seg ;19999992 ciclos movlw 0xB5 movwf ret_00 movlw 0x99 movwf ret_01 movlw 0x2C movwf ret_02 Retardo_20_seg_0 decfsz ret_00, f goto $+2 decfsz ret_01, f goto $+2 decfsz ret_02, f goto Retardo_20_seg_0
  • 25. ;4 ciclos goto $+1 goto $+1 ;4 ciclos (incluyendo call) return ; Retardo de 5 minutos ............................................... cblock ret_05 ret_06 ret_07 ret_08 endc Retardo_5_min ;299999995 ciclos movlw 0x54 movwf ret_05 movlw 0xA1 movwf ret_06 movlw 0xFD movwf ret_07 movlw 0x02 movwf ret_08 Retardo_5_min_0 decfsz ret_05, f goto $+2 decfsz ret_06, f goto $+2 decfsz ret_07, f goto $+2 decfsz ret_08, f goto Retardo_5_min_0 ;1 ciclo nop ;4 ciclos (incluyendo call) return ; Retardo de 30 minutos ........................................................ cblock ret_09 ret_10 ret_11 ret_12 endc Retardo_30_min ;1799999989 ciclos movlw 0xFE movwf ret_09 movlw 0xC2 movwf ret_10 movlw 0xEC movwf ret_11 movlw 0x0C
  • 26. movwf ret_12 Retardo_30_min_0 decfsz ret_09, f goto $+2 decfsz ret_10, f goto $+2 decfsz ret_11, f goto $+2 decfsz ret_12, f goto Retardo_30_min_0 ;7 ciclos goto $+1 goto $+1 goto $+1 nop ;4 ciclos (incluyendo call) return ; Retardo de 1 hora ........................................................... cblock ret_13 ret_14 ret_15 ret_16 endc Retardo_1_hora ;3599999989 ciclos movlw 0xFE movwf ret_13 movlw 0x84 movwf ret_14 movlw 0xD8 movwf ret_15 movlw 0x18 movwf ret_16 Retardo_1_hora_0 decfsz ret_13, f goto $+2 decfsz ret_14, f goto $+2 decfsz ret_15, f goto $+2 decfsz ret_16, f goto Retardo_1_hora_0 ;7 ciclos goto $+1 goto $+1 goto $+1 nop ;4 ciclos (incluyendo call) return END
  • 27. Autor: Ángel Acaymo M. G. Versión: 2.00 Publicado por primera vez: 16-11-2009 Última actualización: 02-01-2010 www.electronica-pic.blogspot.com www.abcdatos.com/tutoriales/tutorial/v875.html www.pic16f84a.org