Sei sulla pagina 1di 0

Luz por detector de movimiento y

crepuscular Senpir
Por ngel Acaymo M. G. Tenerife, Espaa
metaconta@gmail.com
INTROD!!I"N
Alguna vez, en la entrada principal de una casa terrena o chalet, despus de pasar por el jardn y antes de llegar a la
puerta principal de la vivienda, por la noche podra ser molesto al intentar abrir la puerta en ausencia o insuficiente luz.
A veces, es buena idea instalar un pequeo aparato electrnico hecho por uno mismo, un circuito capaz de realizar
ciertas tareas y estar ms cmodo en ciertas situaciones como sta.
Al caer la noche sera una buena idea que el circuito electrnico encienda la luz y se apague cuando empieza a llegar el
!ol en las primeras horas de la maana, por lo que se conoce como interruptor crepuscular. "n caso de que no quiera
consumir luz durante toda la noche o bien, utiliza las lmparas compactas tambin conocidas como lmparas de bajo
consumo o otra posibilidad que slo se encienda la lmpara al detectar la presencia de una persona al acercarse a la
puerta principal, eso si, al entrar a la vivienda la lmpara se quedar un tiempo encendida seleccionado por la persona,
por ejemplo, unos cinco minutos, despus se apaga. Ambos modos lo puedes seleccionar en el propio circuito
electrnico por el cual lo llamo y llamar a partir de ahora, #!enpir$. !i lo deseas, puedes hacer el efecto contrario
gracias al rel que ya tiene un conmutador e incluso en el propio sensor de movimiento.
"ste pequeo proyecto est pensado para ste tipo de aplicaciones o cualquier otra tarea como al encender la lmpara
mientras vas a la barbacoa que tienes en el otro lado del jardn sin tocar el interruptor, al ser detectado por el sensor de
movimiento %&'(), activa una alarma desde el jardn si entra un intruso, etc. !abiendo que !enpir est controlado por un
microcontrolador &'*, podra servir un pequeo proyecto de fin de curso para estudiantes de la rama electricidad+
electrnica e incluso cualquier aficionado con un mnimo de conocimiento de electrnica bsica.
!enpir tiene dos circuitos impreso independiente, una de control y la otra de fuente de alimentacin conectada entre s
con un conector y dentro de la misma caja.
"l motivo de disear dos placas diferentes en el mismo circuito electrnico de tipo mdulos, es por si cualquier causa
falla la placa de la fuente de alimentacin, hay corte de la corriente elctrica desde la red de la casa o por otros motivos,
puedes sustituirla por otra placa o conectarla a una batera a parte e incluso en placas solares fotovoltaicas.
,as caractersticas tcnicas del !enpir son muy sencillas y entre ella destaca dos placas independientes-
+ .uente de alimentacin con un transformador necesario para lograr una tensin fija y estabilizada mediante un
regulador.
+ /n (el con un conmutador para la lmpara u otra aplicacin.
+ /n microcontrolador &'* que controla el circuito.
+ /n sensor de ,uz o ,0( que detecta la presencia de la luz.
+ /n sensor infrarrojo de movimiento o &'(.
Fig 1. Fotografa del Senpir.
Fig 2. Componentes del circuito.
DIS#$O D#L !IR!ITO
"l control central del circuito es un microcontrolador que controla no slo el funcionamiento de de las seales de los
sensores, de luz y movimiento sino los temporizadores para el rel y diodos led de aviso. ,os microcontroladores
incluyen microprocesador, memoria del programa, memoria de datos, puertos de entradas y salidas y otras
caractersticas todo en el mismo encapsulado, ah est claro la ventaja su reducido tamao.
"l proyecto se ha elegido el popular microcontrolador %I! &'()*+ del fabricante Microchip Thecnology Inc. "s muy
conocido, donde hay ms informacin, ejemplos, proyectos para aprendizaje y fcil uso. "l microcontrolador est
desarrollado con un programa bajo el entorno de desarrollo llamado 1&,A2 que puedes descargar y usar
gratuitamente en la 3eb del fabricante 1icrochip as como las hojas de datos de todos los dispositivos &'* entre otros
perifricos, http-44555.microchip.com
D#S!RI%!I"N , (N!ION+-I#NTO D#L .+RD/+R#
+ !ensor de luz
"l sensor ,0( viene de la e6presin inglesa ,ight 0ependent (esistor. !on componentes pasivos cuya resistencia o su
valor hmico vara en funcin de la luz recibida. *on l puedes detectar la presencia de luz y oscuridad para activar o
desactivar el rel de la lmpara. Al recibir ms luz, baja su valor hmico hasta que el microcontrolador lo detecte y
ejecuta su tarea determinada.
+ !ensor &'(
"l sensor &'( #&assive 'nfra (ed$ es un dispositivo piroelctrico que mide los cambios de niveles de radiacin
infrarroja emitida por los objetos de su entorno alrededor de seis metros. *ambia su estado lgico en una patilla
conectado al microcontrolador. "ste sensor es de muy bajo costo y pequeo, se suele utilizar en sistemas de alarmas,
iluminacin controlada por movimiento y aplicaciones de robtica.
Fig 3. Detector de moimiento !I".
!us caractersticas tcnicas son-
+ 7oltaje de alimentacin- 870*.
+ 7isin m6ima 9 metros.
+ "stado en su salida ::,.
+ &olaridad de salida seleccionable.
+ &oco tiempo de calibracin.
"l sensor &'( slo usa tres terminales, dos de alimentacin y uno de datos que se conecta al microcontrolador.
Fig #. Cone$i%n del !I" al microcontrolador.
"l circuito electrnico se instala dentro de la vivienda con los sensores al e6terior. "l sensor de luz se instala lejos de la
lmpara o que no le d luz sobre ella e6cepto la luz ambiente. "l sensor de movimiento se instala bajo la lmpara sin
que llegue el calor y luz directa ya que puede dar un funcionamiento no esperado.
,a fuente de alimentacin que tiene 8 voltios desde de la tensin continua de ;< voltios y al menos ; amperio. "n este
circuito se encuentra un regulador de tensin =>?8. "n su entrada dispone de un puente de diodos rectificador de onda
completa de ;< voltios con su condensador que hace de filtrado para obtener ;< voltios en continua. "l regulador =>?8
se encarga de estabilizar los 8 voltios de alimentacin del otro circuito principal ms los ;< voltios para alimentar el
rel. Al final se encuentra un diodo ,ed de encendido.
Fig &. 's(uema fuente de alimentaci%n.
Fig ). 's(uema el*ctrico del circuito principal.
"l circuito principal est controlado con un @* &'* ;9.>AA donde se comunican dos sensores como entrada, un rel
como salida y un micro interruptor para controlar el tipo de configuracin deseada y tiempos de encendido.
"n las entradas del @* &'* ;9.>AA, est conectado un micro interruptor, sensor de luz y sensor de movimiento. "l
sensor de luz o ,0( conectado al puerto (2B %pin C) como entrada, detecta el da y la noche con la finalidad de hacer
un interruptor crepuscular, es decir, que slo se enciende la lmpara o al caer la noche. :iene un tiempo de veinte
segundos para asegurarse que realmente es de noche o de da.
"l sensor de movimiento o &'(, conectado al puerto (2; %pin =) como entrada. :ienen elementos fabricados de un
material cristalino que genera una carga elctrica cuando se e6pone a una radiacin infrarroja. ,os cambios de la
cantidad de radiacin producen cambios de voltaje los cuales son medidos por un amplificador. "l sensor &'( contiene
unos filtros especiales llamados lentes de .resnel que enfocan las seales infrarrojas sobre el elemento sensor. *uando
las seales infrarrojas del ambiente donde se encuentra el sensor cambian rpidamente, el amplificador activa la salida
para indicar movimiento. "sta salida se queda activa unos segundos permitiendo al micro controlador saber si hubo
movimiento.
.unciona a 870*, gracias a que tiene un patillaje o pin que se conecta al micro controlador directamente, el sensor &'(
funciona como un interruptor a la vez puedes cambiar mediante un jumper el estado lgico de la salida si deseas el
efecto contrario.
"n la salida (AB %pin <) del micro controlador dispone un rel de ;<70* para activar una lmpara o lmpara de la red
%<<?7A*). "n la base del transistor :;, pasa a conduccin y activa el rel. "ste circuito tambin asla elctricamente la
carga del micro controlador. "l valor de la potencia a controlar depende de los contactos del rel y vara mucho segDn
el modelo, en este caso soporta ;? Amperios. "l diodo paralelo al rel se incluye de proteccin de los transistores por la
fuerza contraelectromotriz.
-icrointerruptor
%in &uerto 2 EF E..
* (2A %&in ;?) &'( ,0(
0 (28 %&in ;;) 8 m. ?
1 (29 %&in ;<) B? m. ?
& (2= %&in ;?) ; h. ?
Ta+la 1. Micro interruptor.
A su salida del puerto A, se visualiza los ,ed de avisos. ,ed verde visualiza que se ha elegido la opcin interruptor
crepuscular y el rojo visualiza que se ha elegido la opcin del sensor de movimiento que puedes seleccionar en el
microinterruptor 'ntG(2A %pin ;?). ,e ,ed azul indica que est activado o desactivado el rel en el momento de
conmutar as sabrs sin salir de casa su estado actual mirando el circuito o la caja donde lo tienes instalado, en cambio,
el ,ed ambar o amarillo significa el encendido de la fuente de alimentacin.
Led
+marillo .uente alimentacin
2erde ,0(
Ro3o &'(
+zul (el
Ta+la 2. Indicadores de los ,ed.
%RO4R+-+ D#L -I!RO!ONTROL+DOR &'()*+
"l programa del &'*;9.>AA est escrito con el lenguaje ensamblador. 1ediante el diagrama de flujo, es ms fcil ver a
simple vista un esquema completo sobre su funcionamiento paso por paso.
Inicio
PORTA = Salida
PORTB = Entrada
En principio
Bombilla apagada
Int_RB4
activado?
LED Roo = O!!
LED "#rd# = O$
LDR #n
o%c&ridad?
R#tardo '(
%#g&ndo%
LDR a)n #n
o%c&ridad?
Bombilla * LED
A+&l #nc#ndido
$o
Si
$o
Si
R#tardo '(
%#g&ndo%
LDR il&m, por
#l Sol?
Bombilla * LED
A+&l apagado
Si
$o
LED "#rd# = O!!
LED Roo = O$
LDR #n
o%c&ridad?
Si
$o
Bombilla * LED
A+&l apagado
PIR
d#t#ctada
pr#%#ncia?
Bombilla * LED
A+&l apagado
Si
$o
$o
Si
Bombilla * LED
A+&l #nc#ndido
RB-
activado?
RB.
activado?
RB/
activado?
R#tardo -
min&to%
R#tardo 0(
min&to%
R#tardo 1
2ora
Si
Si
Si
$o
$o
$o
!I$
Principal
Diagrama d# 3l&o,
Fig -. Diagrama de flu.o.
Fig /. Cara componentes.
Fig 0. Cara pistas es(uema.
Fig 11. Cara pistas.
Fig 11. 2ista perspectia.
Fig 12. 2ista trasera.
Fig 13. !royecto aca+ado.
25D#OS
Vdeos del circuito Senpir funcionando con el PIC16F84A, tambin con cdigo fuente ara el PIC16F88!
1" Ver #deo!
$" Ver #deo!
LIST+ D# -+T#RI+L#S
Resistencias6
(;, (<, (B, (A, (;; H ;? IJ
(8, (9, (=, (C H BB? J
(;? H ;?? J
(;< H BB IJ
!ondensadores6
*;, *< H << p.
Diodos6
0; H ,ed 8 mm bicolor verde rojo
0< H ,ed 8 mm Azul
0B H ;FA;A>
Transistor6
:; H <F<<<<
2arios6
( H ,0(
K; H A1LM %*ristal de cuarzo)
0!3; H A interruptores
&; H AI= J &otencimetro
(,; H ;<70*, ;?Amp, ; *onmutador
!; H 2otn reset
N;, N<, NA H < bornes
NB H B bornes
N8 H A bornes
'*; H &'*;9.>AA+?A %:ambin compatible con &'*;9.>>)
!"DI4O (#NT# %I!&'()*+
OPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP!enpir.asmPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP
O
O &(EQ(A1A- R!enpirR. ,uz por detector de movimiento y crepuscular.
O A/:E(- Sngel Acaymo 1. Q.
O "+1A',O metacontaTgmail.com
O &(E*"!A0E(- &'*;9.>AA
O .("*/"F*'A- A 1Lz
O 7"(!'UF- ;.??
O 0"!*('&*'UF-
O
O &rograma de un interruptor con sensor movimiento y de luz solar- !i es de noche,
O mientras el sensor de movimiento %&'() detecta la presencia de alguien
O entorno a 9 metros, activa o se pone a ; la entrada (AB y la lmpara
O se enciende. "n caso de que sea de da detectado por la ,0(, nunca se enciende
O la lmpara. "n la otra opcin, cuando la ,0( detecta la noche o falta de !ol,
O la lmpara se enciende, cuando sea de da, la lmpara se apaga.
O "n los microinterruptores puedes activar el tiempo que tarda en apagarse la
O lmpara despus de ser detectado por el sensor &ir y de noche de un m6imo
O una hora y treinta y cinco minutos.
O
O
PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP
O 0A:E!
PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP
,'!: &H;9.>AA
'F*,/0" V&;9.>AA.'F*W
GG*EF.'Q B..;
GGidlocs ???; O '0, versin del programa.
*2,E*I ?6?*
"F0*
X0".'F" ,edGverde &E(:A,? O ,ed verde indica opcin ,0( seleccionada.
X0".'F" ,edGrojo &E(:A,; O ,ed rojo indica opcin &'( seleccionada.
X0".'F" ,edGazul &E(:A,< O ,ed azul indica que el (el est activado.
X0".'F" lmpara &E(:A,B O lmpara.
X0".'F" &'( &E(:2,; O !ensor &'(.
X0".'F" ,0( &E(:2,B O !ensor ,0(.
X0".'F" 'ntG(2A &E(:2,A O 'nterruptor (2A.
X0".'F" 'ntG(28 &E(:2,8 O 'nterruptor (28.
X0".'F" 'ntG(29 &E(:2,9 O 'nterruptor (29.
X0".'F" 'ntG(2= &E(:2,= O 'nterruptor (2=.
O ""&(E1
PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP
E(Q ?6<;?? O *omienza en la direccin ? de la memoria ""(&E1.
O 0atos nombre del archivo, versin del programa
O y direccin del correo electrnico.
0" R!enpir.asm. v;.?. <8+?B+<??C. metacontaTgmail.comR, ?6??
O *U0'QE!
PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP
E(Q ?
'nicio
bsf !:A:/!,(&? O Accede al 2anco ;.
clrf &E(:A O &uerto A como salidas.
movl5 bY;;;;;;;;Y O ,as > lneas del puerto 2 se configura como entradas.
mov5f &E(:2
bcf !:A:/!,(&? O Accede al 2anco ?.
clrf &E(:A O !upuestamente la lmpara y ,ed apagadas.
EpcionGprincipal
btfss 'ntG(2A O Z2it A del &E(:2 es R;R[ Z'ntG(2A activado[
goto EpcionG,0( O Fo, activa modo ,0(.
goto EpcionG&'( O !, activa modo &'(.
O 'F:"((/&:E( *("&/!*/,A( ,0(
PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP
EpcionG,0(
bcf ,edGrojo O !e apaga el ,ed rojo.
bsf ,edGverde O "nciende ,ed verde indicando modo ,0( activado.
btfss ,0( O Z,a entrada ,0( es igual a ;[, Z,0( en oscuridad[
goto ApagaGlaGlmpara O Fo, la ,0( est iluminada por el !ol. ,a lmpara se apaga.
"nciendeGlaGlmpara
call (etardoG<?Gseg O "spera <? segundos para confirmar la oscuridad.
btfss ,0( O Z"ntrada es igual a ;[, Z,0( aDn en oscuridad[
goto EpcionGprincipal O Fo, sale fuera.
bsf lmpara O !, enciende la lmpara.
bsf ,edGazul O ,edGazul activo.
goto EpcionGprincipal
ApagaGlaGlmpara
call (etardoG<?Gseg O "spera <? segundos para confirmar la oscuridad.
btfsc ,0( O Z"ntrada es H ?[, Z,0( sigue iluminada por luz del sol[
goto EpcionGprincipal O Fo, sale fuera.
bcf lmpara O !, apaga lmpara.
bcf ,edGazul O ,edGazul indica que la lmpara est apagada.
goto EpcionGprincipal
O 0":"*:E( 0" 1E7'1'"F:E
PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP
EpcionG&'(
bcf ,edGverde O Apaga el ,ed verde de aviso.
bsf ,edGrojo O "nciende ,ed rojo avisando que est activado el modo &'(.
btfss ,0( O Z,a entrada ,0( es igual a ;[, Z,0( en oscuridad[
goto lmparaGE.. O Fo.
btfss &'( O Z,a entrada &'( es igual a ;[, Z&'( ha detectado presencia[
goto lmparaGE.. O Fo, no ha detectado presencia o movimiento.
lmparaGEF
bsf lmpara O !, enciende la lmpara.
bsf ,edGazul O ,edGazul activo.
btfss 'ntG(28 O Z2it 8 del &E(:2 es igual a ;[, ZActivado el interruptor
(28[
goto (29 O Fo, salta a la lnea siguiente.
call (etardoG8Gmin O :iempo lmpara encendida 8 minutos.
(29
btfss 'ntG(29 O Z2it 9 del &E(:2 es igual a ;[, ZActivado el interruptor
(29[
goto (2=
call (etardoGB?Gmin O :iempo lmpara encendida B? minutos.
(2=
btfss 'ntG(2= O Z2it = del &E(:2 es igual a ;[, ZActivado el interruptor
(2=[
goto EpcionGprincipal
call (etardoG;Ghora O :iempo lmpara encendida ; hora.
goto EpcionGprincipal
lmparaGE..
bcf lmpara O Apaga lmpara.
bcf ,edGazul O Apaga ,edGazul.
goto EpcionGprincipal
O !/2(/:'FA!
PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP
O (etardo de <? segundos ................................................................
cbloc\
retG??
retG?;
retG?<
Fulo
endc
(etardoG<?Gseg
O;CCCCCC< ciclos
movl5 ?628
mov5f retG??
movl5 ?6CC
mov5f retG?;
movl5 ?6<*
mov5f retG?<
(etardoG<?GsegG?
decfsz retG??, f
goto ]^<
decfsz retG?;, f
goto ]^<
decfsz retG?<, f
goto (etardoG<?GsegG?
OA ciclos
goto ]^;
goto ]^;
OA ciclos %incluyendo call)
return
O (etardo de 8 minutos ..................................................................
cbloc\
retG?8
retG?9
retG?=
retG?>
endc
(etardoG8Gmin
O<CCCCCCC8 ciclos
movl5 ?68A
mov5f retG?8
movl5 ?6A;
mov5f retG?9
movl5 ?6.0
mov5f retG?=
movl5 ?6?<
mov5f retG?>
(etardoG8GminG?
decfsz retG?8, f
goto ]^<
decfsz retG?9, f
goto ]^<
decfsz retG?=, f
goto ]^<
decfsz retG?>, f
goto (etardoG8GminG?
O; ciclo
nop
OA ciclos %incluyendo call)
return
O (etardo de B? minutos .................................................................
cbloc\
retG?C
retG;?
retG;;
retG;<
endc
(etardoGB?Gmin
O;=CCCCCC>C ciclos
movl5 ?6."
mov5f retG?C
movl5 ?6*<
mov5f retG;?
movl5 ?6"*
mov5f retG;;
movl5 ?6?*
mov5f retG;<
(etardoGB?GminG?
decfsz retG?C, f
goto ]^<
decfsz retG;?, f
goto ]^<
decfsz retG;;, f
goto ]^<
decfsz retG;<, f
goto (etardoGB?GminG?
O= ciclos
goto ]^;
goto ]^;
goto ]^;
nop
OA ciclos %incluyendo call)
return
O (etardo de ; hora .....................................................................
cbloc\
retG;B
retG;A
retG;8
retG;9
endc
(etardoG;Ghora
OB8CCCCCC>C ciclos
movl5 ?6."
mov5f retG;B
movl5 ?6>A
mov5f retG;A
movl5 ?60>
mov5f retG;8
movl5 ?6;>
mov5f retG;9
(etardoG;GhoraG?
decfsz retG;B, f
goto ]^<
decfsz retG;A, f
goto ]^<
decfsz retG;8, f
goto ]^<
decfsz retG;9, f
goto (etardoG;GhoraG?
O= ciclos
goto ]^;
goto ]^;
goto ]^;
nop
OA ciclos %incluyendo call)
return
"F0
!"DI4O (#NT# %I!&'())
;Senpir.asm
;
; PROGRAMA: "Senpir". Luz por detector de movimiento y crepuscular.
; A!OR: "n#el Acaymo M. G.
; $%MA&L; metaconta'#mail.com
; PRO($SA)OR: P&(*+,--
; ,R$($.(&A: / M0z
; 1$RS&2.: *.3
; )$S(R&P(&2.:
;
; Pro#rama de un interruptor con sensor movimiento y de luz solar:
; Si es de noc4e5
; mientras el sensor de movimiento 6P&R7 detecta la presencia de al#uien
; entorno a + metros5 activa o se pone a * la entrada RA8 y la l9mpara
; se enciende. $n caso de :ue sea de d;a detectado por la L)R5 nunca se
; enciende
; la l9mpara. $n la otra opci<n5 cuando la L)R detecta la noc4e o =alta de
; Sol5 la l9mpara se enciende5 cuando sea de d;a5 la l9mpara se apa#a.
; $n los microinterruptores puedes activar el tiempo :ue tarda en apa#arse
; la l9mpara despu>s de ser detectado por el sensor Pir
; y de noc4e de un m9?imo una 4ora y treinta y cinco minutos.
;
;
; @@(O.,&G
;
; @(P@O,,: Protecci<n de c<di#o )$SA(!&1A)O.
; @)$AG@O,,: )eBu# en circuito )$SA(!&1A)O.
; @CR!@PRO!$(!@O,,: Protecci<n a escritura en memoria de pro#rama )$SA(!&1A)O.
; @(P)@O,,: Protecci<n de c<di#o de datos )$SA(!&1A)O.
; @L1P@O,,: Pro#ramaci<n en BaDa tensi<n )$SA(!&1A)O.
; @AO)$.@O,,: Reset por AroEn%out )$SA(!&1A)O.
; @M(LR$@O.: Reset por pin e?terno A(!&1A)O.
; @PCR!$@O.: Retraso al reset A(!&1A)O.
; @C)!@O,,: Catc4do# )$SA(!&1A)O.
; @F!@OS(: Oscilador e?terno del tipo F!.
;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
; @&$SO@O,,: Modo de intercamBio de e?terno a interno )$SA(!&1A)O.
; @,(M$.@O,,: Monitor de (LG )$SA(!&1A)O.
; )A!OS
L&S! PH*+,--
&.(L)$ IP*+,--.&.(J
@@(O.,&G @(O.,&G*5 @(P@O,, K @)$AG@O,, K @CR!@PRO!$(!@O,, K @(P)@O,, K
@L1P@O,, K @AO)$.@O,, K @M(LR@O. K @PCR!$@O. K @C)!@O,, K @F!@OS(
@@(O.,&G @(O.,&GL5 @&$SO@O,, K @,(M$.@O,,
@@idlocs 333* ; &)5 versi<n del pro#rama.
(ALO(G 3?L3
$.)(
M)$,&.$ Led@verde POR!A53 ; Led verde indica opci<n L)R seleccionada.
M)$,&.$ Led@roDo POR!A5* ; Led roDo indica opci<n P&R seleccionada.
M)$,&.$ Led@azul POR!A5L ; Led azul indica :ue el Rel> est9 activado.
M)$,&.$ l9mpara POR!A58 ; l9mpara.
M)$,&.$ P&R POR!A5* ; Sensor P&R.
M)$,&.$ L)R POR!A58 ; Sensor L)R.
M)$,&.$ &nt@RA/ POR!A5/ ; &nterruptor RA/.
M)$,&.$ &nt@RAN POR!A5N ; &nterruptor RAN.
M)$,&.$ &nt@RA+ POR!A5+ ; &nterruptor RA+.
M)$,&.$ &nt@RAO POR!A5O ; &nterruptor RAO.
; $$PROM
ORG 3?L*33 ; (omienza en la direcci<n 3 de la memoria $$RPOM.
; )atos nomBre del arc4ivo5 versi<n del pro#rama
; y direcci<n del correo electr<nico.
)$ "Senpir@*+,--.asm. v*.3. 3L%3*%L3*3. metaconta'#mail.com"5 3?33
; (2)&GOS
ORG 3
&nicio
AA.GS$L (M(O. ; (amBio al Banco *.
movlE BP33333***P ; .O
movE= (M(O. ; (omparadores apa#ados.
clr= A.S$L ; Pines di#itales.
clr= !R&SA ; POR!A como salida.
movlE BP********P
movE= !R&SA ; POR!A como entrada.
AA.GS$L POR!A ; (amBio al Banco 3.
clr= POR!A ; Supuestamente la l9mpara y Led apa#adas.
Opcion@principal
Bt=ss &nt@RA/ ; QAit / del POR!A es "*"R Q&nt@RA/ activadoR
#oto Opcion@L)R ; .o5 activa modo L)R.
#oto Opcion@P&R ; S;5 activa modo P&R.
; &.!$RRP!OR (R$PS(LAR L)R
Opcion@L)R
Bc= Led@roDo ; Se apa#a el Led roDo.
Bs= Led@verde ; $nciende Led verde indicando modo L)R activado.
Bt=ss L)R ; QLa entrada L)R es i#ual a *R5 QL)R en oscuridadR
#oto Apa#a@la@l9mpara ; .o5 la L)R est9 iluminada por el Sol. La l9mpara se
apa#a.
$nciende@la@l9mpara
call Retardo@L3@se# ; $spera L3 se#undos para con=irmar la oscuridad.
Bt=ss L)R ; Q$ntrada es i#ual a *R5 QL)R aSn en oscuridadR
#oto Opcion@principal ; .o5 sale =uera.
Bs= l9mpara ; S;5 enciende la l9mpara.
Bs= Led@azul ; Led@azul activo.
#oto Opcion@principal
Apa#a@la@l9mpara
call Retardo@L3@se# ; $spera L3 se#undos para con=irmar la oscuridad.
Bt=sc L)R ; Q$ntrada es H 3R5 QL)R si#ue iluminada por luz del
solR
#oto Opcion@principal ; .o5 sale =uera.
Bc= l9mpara ; S;5 apa#a l9mpara.
Bc= Led@azul ; Led@azul indica :ue la l9mpara est9 apa#ada.
#oto Opcion@principal
; )$!$(!OR )$ MO1&M&$.!O
Opcion@P&R
Bc= Led@verde ; Apa#a el Led verde de aviso.
Bs= Led@roDo ; $nciende Led roDo avisando :ue est9 activado el modo P&R.
Bt=ss L)R ; QLa entrada L)R es i#ual a *R5 QL)R en oscuridadR
#oto l9mpara@O,, ; .o.
Bt=ss P&R ; QLa entrada P&R es i#ual a *R5 QP&R 4a detectado presenciaR
#oto l9mpara@O,, ; .o5 no 4a detectado presencia o movimiento.
l9mpara@O.
Bs= l9mpara ; S;5 enciende la l9mpara.
Bs= Led@azul ; Led@azul activo.
Bt=ss &nt@RAN ; QAit N del POR!A es i#ual a *R5 QActivado el interruptor RANR
#oto RA+ ; .o5 salta a la l;nea si#uiente.
call Retardo@N@min ; !iempo l9mpara encendida N minutos.
RA+
Bt=ss &nt@RA+ ; QAit + del POR!A es i#ual a *R5 QActivado el interruptor RA+R
#oto RAO
call Retardo@83@min ; !iempo l9mpara encendida 83 minutos.
RAO
Bt=ss &nt@RAO ; QAit O del POR!A es i#ual a *R5 QActivado el interruptor RAOR
#oto Opcion@principal
call Retardo@*@4ora ; !iempo l9mpara encendida * 4ora.
#oto Opcion@principal
l9mpara@O,,
Bc= l9mpara ; Apa#a l9mpara.
Bc= Led@azul ; Apa#a Led@azul.
#oto Opcion@principal
; SAR!&.AS
; Retardo de L3 se#undos ................................................
cBlocT
ret@33
ret@3*
ret@3L
.ulo
endc
Retardo@L3@se#
;*UUUUUUL ciclos
movlE 3?AN
movE= ret@33
movlE 3?UU
movE= ret@3*
movlE 3?L(
movE= ret@3L
Retardo@L3@se#@3
dec=sz ret@335 =
#oto VWL
dec=sz ret@3*5 =
#oto VWL
dec=sz ret@3L5 =
#oto Retardo@L3@se#@3
;/ ciclos
#oto VW*
#oto VW*
;/ ciclos 6incluyendo call7
return
; Retardo de N minutos ...............................................
cBlocT
ret@3N
ret@3+
ret@3O
ret@3-
endc
Retardo@N@min
;LUUUUUUUN ciclos
movlE 3?N/
movE= ret@3N
movlE 3?A*
movE= ret@3+
movlE 3?,)
movE= ret@3O
movlE 3?3L
movE= ret@3-
Retardo@N@min@3
dec=sz ret@3N5 =
#oto VWL
dec=sz ret@3+5 =
#oto VWL
dec=sz ret@3O5 =
#oto VWL
dec=sz ret@3-5 =
#oto Retardo@N@min@3
;* ciclo
nop
;/ ciclos 6incluyendo call7
return
; Retardo de 83 minutos ........................................................
cBlocT
ret@3U
ret@*3
ret@**
ret@*L
endc
Retardo@83@min
;*OUUUUUU-U ciclos
movlE 3?,$
movE= ret@3U
movlE 3?(L
movE= ret@*3
movlE 3?$(
movE= ret@**
movlE 3?3(
movE= ret@*L
Retardo@83@min@3
dec=sz ret@3U5 =
#oto VWL
dec=sz ret@*35 =
#oto VWL
dec=sz ret@**5 =
#oto VWL
dec=sz ret@*L5 =
#oto Retardo@83@min@3
;O ciclos
#oto VW*
#oto VW*
#oto VW*
nop
;/ ciclos 6incluyendo call7
return
; Retardo de * 4ora ...........................................................
cBlocT
ret@*8
ret@*/
ret@*N
ret@*+
endc
Retardo@*@4ora
;8NUUUUUU-U ciclos
movlE 3?,$
movE= ret@*8
movlE 3?-/
movE= ret@*/
movlE 3?)-
movE= ret@*N
movlE 3?*-
movE= ret@*+
Retardo@*@4ora@3
dec=sz ret@*85 =
#oto VWL
dec=sz ret@*/5 =
#oto VWL
dec=sz ret@*N5 =
#oto VWL
dec=sz ret@*+5 =
#oto Retardo@*@4ora@3
;O ciclos
#oto VW*
#oto VW*
#oto VW*
nop
;/ ciclos 6incluyendo call7
return
$.)
+utor6 Sngel Acaymo 1. Q.
2ersi7n6 <.??
%u8licado por primera vez6 ;9+;;+<??C
9ltima actualizaci7n6 ?<+?;+<?;?
555.electronica+pic.blogspot.com
555.abcdatos.com4tutoriales4tutorial4v>=8.html
555.pic;9f>Aa.org

Potrebbero piacerti anche