Hola amigos, despues de mucho tiempooooo.. .. publico este pequeño proyectito, imaginense un pasadizo largo con tres focos o luminarias, para ahorrar energia y no esten encendidos los 3 focos a la vez cuando pase una persona lo controlaremos mediante un pic16f628a y 3 LDR, de tal manera que al inicio todo este apagado. Al entrar una persona por la puerta solamente se encendera el primer foco, sigue avanzando la persona y al llegar al segundo foco este se enciende automaticamente y se apaga el primer foco, sigue avanzando la persona y al llegar al tercer foco este se enciende automaticamente y se apaga el segundo foco de tal manera que la persona tendra luz por todo el pasadizo.
El ultimo foco se mantendra encendido 5 segundos y luego se apagara todo.
Ahora si la persona sale se encendera el tercer foco y luego el segundo y se apaga el tercero y finalmente se enciende el primer foco y se apaga el segundo foco, o sea tambien es en sentido inverso.
Bueno mas o menos asi seria el pasadizo con tres focos y los LDR irian en la pared a la altura de cada foco alumbrados con un rayo infrarrojo desde la otra pared, de tal manera que cuando la persona pase corte el rayo infrarrojo.
La luz infrarrojo puede ser emitida por linternas o punteros de laser, algo asi como en las peliculas donde hay sistemas de alarma con rayos infrarrojos, esta parte se la dejo a uds, para que vean como le hacen llegar luz a los 3 LDR.
En el circuito se ve el pic16f628a, 3 LDR y 3 triacs bt136 de 10 amperios. Si quieren desacoplar la parte de control con la de potencia sugiero utilizar 3 mocs3040 o cualquiera que tenga triac en la salida.
La salidas del pic se aplicaran en la resistencia de 330 ohmios y el pin2 del moc3021 se conecta a tierra. Finalmente les dejo el codigo en picbasicpro:
trisb=%11111111
trisa=000000
portb=000000
porta=000000
inicio:
if portb.0=1 then entrada
if portb.2=1 then salida
goto inicio
entrada:
if portb.0=1 then foco1
goto entrada
espera1:
if portb.1=1 then foco2
goto espera1
espera2:
if portb.2=1 then foco3
goto espera2
foco1:
high porta.0
goto espera1
foco2:
low porta.0
high porta.1
goto espera2
foco3:
low porta.1
high porta.2
pause 3000
low porta.2
goto inicio
salida:
if portb.2=1 then foco4
goto salida
espera3:
if portb.1=1 then foco5
goto espera3
espera4:
if portb.0=1 then foco6
goto espera4
foco4:
high porta.2
goto espera3
foco5:
low porta.2
high porta.1
goto espera4
foco6:
low porta.1
high porta.0
pause 3000
low porta.0
goto inicio
end
El ultimo foco se mantendra encendido 5 segundos y luego se apagara todo.
Ahora si la persona sale se encendera el tercer foco y luego el segundo y se apaga el tercero y finalmente se enciende el primer foco y se apaga el segundo foco, o sea tambien es en sentido inverso.
Bueno mas o menos asi seria el pasadizo con tres focos y los LDR irian en la pared a la altura de cada foco alumbrados con un rayo infrarrojo desde la otra pared, de tal manera que cuando la persona pase corte el rayo infrarrojo.
La luz infrarrojo puede ser emitida por linternas o punteros de laser, algo asi como en las peliculas donde hay sistemas de alarma con rayos infrarrojos, esta parte se la dejo a uds, para que vean como le hacen llegar luz a los 3 LDR.
En el circuito se ve el pic16f628a, 3 LDR y 3 triacs bt136 de 10 amperios. Si quieren desacoplar la parte de control con la de potencia sugiero utilizar 3 mocs3040 o cualquiera que tenga triac en la salida.
La salidas del pic se aplicaran en la resistencia de 330 ohmios y el pin2 del moc3021 se conecta a tierra. Finalmente les dejo el codigo en picbasicpro:
trisb=%11111111
trisa=000000
portb=000000
porta=000000
inicio:
if portb.0=1 then entrada
if portb.2=1 then salida
goto inicio
entrada:
if portb.0=1 then foco1
goto entrada
espera1:
if portb.1=1 then foco2
goto espera1
espera2:
if portb.2=1 then foco3
goto espera2
foco1:
high porta.0
goto espera1
foco2:
low porta.0
high porta.1
goto espera2
foco3:
low porta.1
high porta.2
pause 3000
low porta.2
goto inicio
salida:
if portb.2=1 then foco4
goto salida
espera3:
if portb.1=1 then foco5
goto espera3
espera4:
if portb.0=1 then foco6
goto espera4
foco4:
high porta.2
goto espera3
foco5:
low porta.2
high porta.1
goto espera4
foco6:
low porta.1
high porta.0
pause 3000
low porta.0
goto inicio
end