Autor Tema: Comunicacion por infrarrojos pic a pic ,pbp  (Leído 3563 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado jo-fe-ar

  • PIC10
  • *
  • Mensajes: 24
Comunicacion por infrarrojos pic a pic ,pbp
« en: 13 de Febrero de 2010, 15:01:02 »
Hola pues miren, tengo dos grandes dudas am asi en resumen:

como conecto el emisor y el receptor a cada pic? es decir que patilla va a una entrada y cual a tierra o a positivo o como?
estaria bien este codigo de picbasicpro que hice?

Teng montado mi intento de circuito de emisor en un protoboard. y mi otro intento de receptor en otra jejej...
a grandes rasgos lo tengo asi:


::::::::::EMISOR::::::::
9V--7805--5V
alimentacion al pic (siempre lo he hecho asi con otros circuitos y funcionan correntamente)
Anodo (positivo) del emisor infrarrojo conectado a  portb.4 (sin nada de resistencias ni  nada, yo digo que si lo soporta siempre he conectado leds asi sin problemas...)
Catodo (negativo) del emisor infrarrojo conectado a tierra
3 push button conectados a portb.1, portb.2 y portb.3 (respectiva resistencia de 10k a pull-up

programa:

@ DEVICE pic16F648A, INTRC_OSC_NOCLKOUT 'Reloj interno solo
@ DEVICE pic16F648A, WDT_OFF ' Watchdog Timer desconectado
@ DEVICE pic16F648A, PWRT_ON ' Power-On Timer conectado
@ DEVICE pic16F648A, BOD_ON ' Brown-Out Detect conectado
@ DEVICE pic16F648A, MCLR_OFF ' Master Clear Externo desconectado
@ DEVICE pic16F648A, LVP_OFF ' Low-Voltage Programming desconectado
@ DEVICE pic16F648A, CPD_OFF ' Data Memory Code Protect desconectado

trisb.1=1
trisb.2=1
trisb.3=1
trisb.4=0
portb.4=0


 
 chequeo:
if portb.1=1 then pulsout portb.4, 100
if portb.2=1 then pulsout portb.4, 200
if portb.3=1 then pulsout portb.4, 300
goto chequeo

::::::que paso??::::
El pic no me envia los pulsos, ya probe hasta con un led normal y tampoco le envia pulsos,

no son los push porque estan bien y por si las dudas hice un puente en uno de ellos dejando si o si en alto una de las entradas del pic de los push button, para que lo detectara o a fuerza mandara pulso, y ni asi.

Hay algo mal con el programa? o es la conexion como debo conectarlooo? (aunque he conectado leds normales asi y he trabajado sin problemas, aunque es la primera ves que uso pulsout)





:::::::::::::RECEPTOR::::::::::::
9V--7805--5V
Alimentacion a pic
3 leds conectados a portb.4, portb.5 y portb.6
fototransistor, emisor a tierra y colector a portb.3 ( no se si eso este bien conectado, les pido su ayuda, para que aldetectar la luz infrarroja del emisor, el fototransistor pueda ser detectado pro el pic como pulsos y descifrar lo que quiero mandarle con el led infrarrojo


:::programa:::

@ DEVICE pic16F648A, INTRC_OSC_NOCLKOUT 'Reloj interno solo
@ DEVICE pic16F648A, WDT_OFF ' Watchdog Timer desconectado
@ DEVICE pic16F648A, PWRT_ON ' Power-On Timer conectado
@ DEVICE pic16F648A, BOD_ON ' Brown-Out Detect conectado
@ DEVICE pic16F648A, MCLR_OFF ' Master Clear Externo desconectado
@ DEVICE pic16F648A, LVP_OFF ' Low-Voltage Programming desconectado
@ DEVICE pic16F648A, CPD_OFF ' Data Memory Code Protect desconectado

pulsos var word
 chequeo:
 pulsin portb.3, 1, pulsos
 if pulsos = 100 then portb.4 =1
 if pulsos = 200 then portb.5=1
 if pulsos = 300 then portb.6 = 1
 goto chequeo



se supone que en la variable  se me guardan los microsegundos que duro el pulso no? bueno esa idea tengo :S pero no se que es lo q sta mal....aunq si me imagino muchas cosas hahaha
bueno espero que me ayuden me avente a intentarlo asi porque no me aclaraba una forma sencilla de conectar los ifnrarrojos al pic sin tanto problema, y me avente a intentarlo pero ya lo ven...como que no funciono.



Su amigo jo-fe-ar desde mexico.