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.