Paso 4: Cortar el mando a distancia
Medición de las señales de infrarrojos:
Para entender el control remoto me había enganchado mi detector de IR a un osciloscopio y comenzó a pulsar botones. Lo bueno de un ámbito de almacenamiento es que ahorra el código de IR en la pantalla para que usted pueda analizar. Dando un paso más, realmente guarda los rastros de cada botón de un. Archivo CSV para importar un Excel o OpenOffice Calc hoja de cálculo. Ver el archivo adjunto para mi hoja de cálculo de señal de IR para el botón de encendido.
Análisis de las señales de infrarrojos:
Para utilizar el control remoto, no necesariamente interesado en descifrar la estructura de todo mensaje. Principalmente, quería encontrar las diferencias en la señal para cada pulsación.
Usando la hoja de cálculo y los datos del ámbito de aplicación de sello de tiempo, descubrí que cada señal IR tenía tres partes - un impulso de start, una identificación remota de 16 bits (que es el mismo para todos los botones) y un código de botón de 16 bits que es única para cada botón. Mirando los últimos 16 bits de la señal IR, somos capaces de discernir qué botón se presionó.
Una parte difícil que utilice el código remoto es cuando pulsado cualquier botón del mando a distancia envía un "código de repetición idéntico" hasta que el botón es liberada. Esta repetición de código es muy similar al pulso de inicio, pero con duraciones de tiempo diferentes.
Utilizando las señales de infrarrojos:
Tengo la señal de IR conectada al pin de interrupción en cambio PIC. Usando el módulo interno del Timer 0, podemos contar por el período de tiempo entre bordes caen en este pin. Cada vez que hay es un flanco descendente, la imagen guarda el estado del registro TMR0 (para grabar el período anterior) y luego reinicia TMR0 (para grabar el próximo período). Con esta información, podemos determinar si un 1, 0, iniciar pulso, o repita el pulso fue recibido.