MANDO DISTANCIA CON PIN 16F628A 4 CANALES POR INFRARROJOS


 

INTRODUCCIÓN

El proyecto me permitirá realizar acciones desde la distancia, en principio el esquema es para encender un led pero si le colocamos un relé encenderá hasta cuatro equipo o dispositivo.

CIRCUITOS

CIRCUITO EVALUADOR:

CIRCUITO RECEPTOR:

CIRCUITO EMISOR:

 



PROGRAMA:

PROGRAMA EVALUADOR:

cmcon=7
define lcd_dreg portb
define lcd_dbit 4
define lcd_rsreg portb
define lcd_rsbit 1
define lcd_ereg portb
define lcd_ebit 2
ok var porta.2
pulsos var word
high ok
pause 1000
low ok
pause 1000
high ok
pause 1000
low ok
run:
count porta.0,100,pulsos
lcdout $fe,1
lcdout $fe,$c5,dec pulsos,"pulsos"
goto run
end

PROGRAMA RECEPTOR:

 

cmcon=7
led1 var portb.4
led2 var portb.5
led3 var portb.6
led4 var portb.7
ok var porta.2
pulsos var word
high ok
pause 1000
low ok
pause 1000
high ok
pause 1000
low ok
run:
count porta.0,100,pulsos
if pulsos=10 then onled1
if pulsos=12 then onled2
if pulsos=17 then onled3
if pulsos=25 then onled4
goto run
onled1:
high led1
low led2
low led3
low led4
goto run
onled2:
high led2
low led1
low led3
low led4
goto run
onled3:
high led3
low led1
low led2
low led4
goto run
onled4:
high led4
low led1
low led2
low led3
goto run

end


PROGRAMA RECEPTOR:

cmcon=7
ok var porta.2
puertopulso var porta.0
pulsos var byte
canal1 var portb.4
canal2 var portb.5
canal3 var portb.6
canal4 var portb.7
high ok
pause 1000
low ok
pause 1000
high ok
pause 1000
low ok
esperando:
if canal1=0 then toma1
if canal2=0 then toma2
if canal3=0 then toma3
if canal4=0 then toma4
goto esperando
toma1:
for pulsos = 1 to 20 '50
high ok
pause 5
low ok
pause 5
next
goto esperando
toma2:
for pulsos = 1 to 20 '56
high ok
pause 4
low ok
pause 4
next
goto esperando
toma3:
for pulsos = 1 to 20 '62
high ok
pause 3
low ok
pause 3
next
goto esperando
toma4:
for pulsos = 1 to 20 '71
high ok
pause 2 'anterior 5
low ok
pause 2
next
goto esperando
end



EXPLICACIÓN DEL PROYECTO.                                

Los materiales son fácil de obtener el led infrarrojo se obtuvo de un mando distancia roto.

 

y el receptor de optoacoplador barrera.

 

y por supuesto los PIC 16f628a.

Primero monté hice le programa del emisor con su circuito en protoboard:


Luego hice el segundo programa receptor para verificar la frecuencia en el receptor gracias a un lcd 16x2.

 

No obstante se puede verificar mediante el hyperterminal con un cable serial, con tan solo modificando el programa y añadiéndole la función serout. Una vez verificada la frecuencia que le llega,

y para finalizar el tecer y ultimo programa receptor para que se produzca el evento como el encendido del led con su circuito:

 

 


 


PREGUNTAS Y SUGERENCIAS.

Para cualquier pregunta puedes realizármela al correo joliva68@ono.com master@picpc.es