RGB LED plafón humor con hackeado IR Control remoto (5 / 6 paso)

Paso 5: Escribir el código

El código para este proyecto fue escrito en lenguaje de ensamblador de Microchip.  El código fuente comentado y compilado archivo hexadecimal se unen.  Un áspero diagrama de flujo del flujo de programa (relacionado con a cada botón) se fija en las siguientes imágenes.

El programa consta de tres partes principales:

1) código IR Buffering
2) interpretación de código IR
3) PWM Control (color RGB fijo, pérdida de color y modo de luz blanca).

Código de infrarrojos almacenamiento en búfer:
Mediante el proceso descrito en el paso 4 - "Hacking el mando a distancia" Aprendí que la longitud de 0, 1, empezar a pulso, y pulso de repetición todos los valores únicos y repetibles.  Cada vez que el PIC detecta un flanco descendente en el pin 17 (interrupción-en-cambio) sería registrar el tiempo desde el último borde descendente y luego comparar ese valor a una serie de tiempo "windows" para determinar que tipo de pulso sólo vino en.  Puedes ver un diagrama de flujo aproximada de este proceso en las imágenes de abajo.  El código de comparación de ventana no es original, lo encontré en el excelente sitio web PICLIST (http://www.piclist.org/techref/piclist/index.htm).  Si la longitud no cae en cualquier ventana, puse una bandera mal código (A.C.) y omitir todo hasta el siguiente pulso.

Interpretación del código de infrarrojos:
Cada vez que se detecta un 1 o 0, el PIC empuja ese valor en un registro de 8-bit FIFO.  A pesar de que el tren de pulsos desde el mando a distancia es más de 8 bits, siempre terminamos con el pasado 8 en el registro, que contienen un único valor para cada clave de interés.  Comparar este código para el conocido valor digital de cada clave (éstos fueron medidos en el osciloscopio en el paso 4) para averiguar qué botón fue presionado y que acción tomar (luz blanca modo, modo RGB, aumentar velocidad de Fader, etc.).  Este valor de 8 bits se guarda en un segundo registro por lo que si aparece el pulso de repetición, se sabe que comando se repite.

Control PWM:
La 16F1829 de la PIC tiene 4 registros PWM de 10 bits hardware que lo hace ideal para el control de color RGB.  Mediante el uso de los módulos de hardware PWM PIC es libre para hacer otras cosas mientras que el PWM se va al fondo.

La intensidad de cada color está controlada por 10 bits.  Cuando la lámpara se enciende, cada valor está en max para dar luz blanca.  Cuando se presiona el botón "CONV", un bucle de la parte 3 comienza en el software.

Parte 1) disminuyendo rojo, verde, incrementar, azul = 0
Parte 2) verde reducir, incrementar azul, rojo = 0
Parte 3) azul reducir, incrementar, verde rojo = 0

El programa continúa hasta que se selecciona el modo de luz blanco, o se pulsa el botón "Estático" para poner en pausa la lámpara en el color actual de bucle a través de estas tres partes.

Artículos Relacionados

RGB LED luz del humor con ATtiny85

RGB LED luz del humor con ATtiny85

llaman estas cosas Luces de estado de ánimo.No sé por qué. Supongo que el cambio de colores poner algunas personas de buen humor.Aunque he observado que cuando la gente mira este estado de ánimo ligera tiende a tener un efecto similar como en una fog
Alta potencia RGB LED Moodlamp que sincroniza con Philips Hue

Alta potencia RGB LED Moodlamp que sincroniza con Philips Hue

en este instructable el foco principal se encuentra en el software que he creado - no tanto en el lado del hardware. Usted no necesita utilizar una alta potencia led para esto, se puede utilizar cada RGB - LED que te gusta.La "alta potencia RGB LED M
Johnny5 Arduino Robot DfRobotshop rover con interfaz de control remoto html

Johnny5 Arduino Robot DfRobotshop rover con interfaz de control remoto html

En este post explico paso a paso cómo construir un Arduino basado en Robot y programar con Javascript. Explico que opciones de diseño que hice, que Marcos y tecnologías utilizan y como programar y configurar el robot.Puede encontrar más información s
48 canales Mono / 16 canal RGB LED controlador

48 canales Mono / 16 canal RGB LED controlador

la 48 canales Mono/16 RGB LED controlador de canal por Chromation sistemas puede utilizarse de forma independiente 48 grupos/canales de control (hasta 120ma por grupo de LEDs de color mono) o 16 grupos/canales de ánodo común LEDs RGB. Utiliza 3 x dri
La manera conectar RGB Led franja de luces

La manera conectar RGB Led franja de luces

La manera conectar RGB Led franja de lucesPaso 1: Conectar 4 pines macho a 4 pines conector hembra Cable directamente Ajuste para: Led luz de tira con Cable conector macho/hembraPaso 2: Conectar con Clips fácil 4 pines Ajuste para: Led luz de tira si
Sonido activado 4 X 7 RGB LED Matrix

Sonido activado 4 X 7 RGB LED Matrix

es este instructable sobre un sonido activado matriz de Led RGB de Led RGB y artículos del asimiento de casa. Los usos de la matriz de LED tres contadores binarios de 4 bits y un desplazamiento de 4 bits registrar (para los conductores de tierra en e
IPhone controla RGB LED (Arduino)

IPhone controla RGB LED (Arduino)

Este proyecto muestra cómo configurar Arduino con un LED RGB y control con su iPhone a través de tu red Wifi. Son capaces de establecer 15 diferentes colores + 2 programas con aplicación para el iPhone.Dirección URL del vídeo de la versión parcial de
Cómo hacer un Arduino basados en luz con control remoto infrarrojo de la noche!

Cómo hacer un Arduino basados en luz con control remoto infrarrojo de la noche!

Aquí está un Instructable que le mostrará cómo construir una noche de la Arduino basado en luz conpequeño control remoto infrarrojo que permite recorrer 10 pre set colores y un desvanecimiento al azarrutina de color que lazos para siempre.Este instru
Control remoto para Sony NEX 5n cámara con cable

Control remoto para Sony NEX 5n cámara con cable

Qué es este tutorial:Un tutorial de como construir un control remoto con cable para la cámara de Sony NEX 5n. Porque la cámara sólo soporta control remoto IR, este es esencialmente un IR-a-cable conversión que 1) no requiere modificación de la cámara
Reutilización no deseados Control remoto por infrarrojos para usar con reproductor de música de xmms2

Reutilización no deseados Control remoto por infrarrojos para usar con reproductor de música de xmms2

IntroducciónEs una buena idea a control remoto xmms2 media player a través de infrarrojos por la misma razón que uno hace con XBMC/KODI. Rebusqué en mi caja de partes y me había encontrado este control remoto por infrarrojos de un sistema de Home The
Registrar códigos infrarrojos de cualquier unidad de Control remoto para el uso con mando a distancia infrarrojo de Linux (LIRC) en el receptor de infrarrojos basada en GPIO de frambuesa Pi

Registrar códigos infrarrojos de cualquier unidad de Control remoto para el uso con mando a distancia infrarrojo de Linux (LIRC) en el receptor de infrarrojos basada en GPIO de frambuesa Pi

IntroducciónLos mandos a distancia que son huérfanos cuando el dispositivo de control de dejó de funcionar son reutilizables en la Raspberry Pi. Después de completar este instructable, quizás estés interesado en probar el siguiente instructables:Reut
RGB Led con control remoto TV

RGB Led con control remoto TV

INTRODUCCIÓNProyecto de control remoto por infrarrojos es uno de los proyectos populares para los amantes del arduino. Estamos aquí hablando de la tv remotas. Hay varios botón del remoto de la tv que no se utilizan. También si podemos hacer esta tv r
Termostato de Arduino con i2c x DS18b20 2 pantalla de 4 x 16, 2 RGB LED y 3 relé

Termostato de Arduino con i2c x DS18b20 2 pantalla de 4 x 16, 2 RGB LED y 3 relé

el objetivo del proyecto es un termostato para mi pecera 2 con LCD pantalla RGB LED un relé para controlar el calentador en el tanqueun ventilador para la pecera grandePartes:Arduino Nano o igual2 x LED RGB LED o SMD RGB o solo Color de LEDMódulo de
Cambiar lámpara de LED con control remoto RGB

Cambiar lámpara de LED con control remoto RGB

tengo una lámpara IKEA vieja pero hermosa, sin embargo el bulbo de halógeno 12V 20W es roto ahora. Hace días surgió la idea de reemplazar por LEDs, por suerte tengo un controlador de LED junto con una tira de SMD LED RGB, así que decidí darle una opo