JVM-Electronics

  • Aumentar fuente
  • Fuente predeterminada
  • Disminuir fuente

Señal a 38Khz con timer0 para sensores IR de TV

E-mail Imprimir PDF

Generación de señal a 38Khz con timer0 para implementación de sensores IR de control remoto de TV.

Esta rutina en mikrobasic permite generar una señal digital a 38,4Khz con un duty cycle o ciclo de trabajo de 50% empleando el timer0. Esta señal al ser suministrada a un LED IR, permite la implementación y activación de sensores ópticos de TV, como el TSOP1838 que sólo responden a luz modulada a estas frecuencias. Este tipo de sensores son muy útiles para detectar obstáculos o como medio de transmisión de señales en robots, pues estos sensores no son afectados por la luz del ambiente, solo responden a la luz IR modulada a dicha frecuencia.

La utilidad del timer0 reside en que el propio PIC genera la señal de 38Khz paralelamente mientras ejecuta otras acciones, lo que ahorra espacio, tiempo y dinero al no tener que implementar un oscilador aparte para LEDs IR emisores.

 

program sensorIR38

'Programa Generación de 38Khz por timer0 *************************************** 'Rutina que permite generar una señal de 38Khz para un LED IR a través del 'timer. Cuando el sensor detecta señal se activa otro LED de manera intermitente 'para indicar que el sensor está recibiendo la luz modulada. Mikrobasic 5.0.0.2 ' 'Creado y verificado por: Alejandro De Nóbrega 'Web: http://www.jvmbots.es

' '-HARDWARE: ' MCU: PIC 16F870 ' Cristal: 20 Mhz ' 1- Sensor TSOP1838. Salida del sensor conectado a RB2 ' 1- LED de color. Conectado a RB1 ' 1- LED IR. Conectado a RB0 '*******************************************************************************

sub procedure interrupt

if PORTB.0 = 0 then
PORTB.0 = 1
else
PORTB.0 = 0
end if

INTCON = %10100000
TMR0 = 238

end sub

main:

OPTION_REG = %00000000 '1:2
INTCON = %10100000
TRISB = %00000100
PORTB = 0

ADCON0 = 0 ADCON1 = 7
TMR0 = 238

while true

if PORTB.2 = 0 then
PORTB.1 = 1
delay_ms(200)
PORTB.1 = 0
delay_ms(200)
end if

wend
end.

Última actualización el Jueves, 07 de Mayo de 2009 22:39  
English Spanish