RGB LED plafond lumière d’ambiance avec piraté télécommande IR (5 / 6 étapes)

Étape 5: Écriture du Code

Le code pour ce projet a été écrit en langage assembleur Microchip.  Le code source commenté et le fichier hex compilé sont attachés.  Un diagramme de flux brut du flux de programme (associé à chaque bouton) est attaché sur les photos ci-dessous.

Le programme se compose de trois parties principales :

1) Code IR mise en mémoire tampon
2) interprétation de Code IR
3) commande de PWM (couleur RVB fixes, décoloration des couleurs et le mode lumière blanche).

Code IR mise en mémoire tampon :
En utilisant le procédé décrit à l’étape 4 - « Hacking the Remote » j’ai appris que la longueur de 0, 1, commencer à impulsion, et impulsions répétées ont été toutes les valeurs uniques ou répétables.  Chaque fois que le commandant de bord a senti un front descendant sur pin 17 (Interrupt-sur-changement) elle enregistre le temps depuis le dernier front descendant et puis comparez cette valeur à une série de temps « windows » pour déterminer le type d’impulsion juste est venu en.  Vous pouvez voir un diagramme de flux brut de ce processus dans les images ci-dessous.  Le code de comparaison de fenêtre n’est pas original, je l’ai trouvé sur l’excellent site PICLIST (http://www.piclist.org/techref/piclist/index.htm).  Si la longueur ne tombe pas dans n’importe quelle fenêtre, j’ai mis un drapeau mauvais Code (BC) et tout ignorer jusqu'à ce que la prochaine impulsion.

Interprétation du Code IR :
Chaque fois qu’un 1 ou un 0 est détecté, le commandant de bord pousse cette valeur dans un registre FIFO de 8 bits.  Même si le train d’impulsions de la télécommande n’est plus de 8 bits, nous nous retrouvons toujours avec les 8 dernières dans le registre, ce qui arrive à contenir une valeur unique pour chaque clé d’intérêt.  J’ai comparer ce code à la valeur numérique connue pour chaque clé (ceux-ci ont été mesurés sur l’oscilloscope à l’étape 4) pour déterminer quel bouton a été activé et les mesures à prendre (lumière blanche mode, mode RVB, augmenter la vitesse de Fader, etc.).  Cette valeur de 8-bit est enregistrée dans un registre secondaire afin que si l’impulsion de répétition se présente, nous saurons quelle commande se répète.

Commande PWM :
Le PIC 16F1829 a 4 registres PWM de 10-bit matériel qui le rend idéal pour le contrôle de couleur de RVB.  En utilisant les modules PWM hardware le PIC est libre de faire d’autres choses alors que le PWM se passe en arrière-plan.

L’intensité de chaque couleur est contrôlée par 10 bits.  Lorsque la lampe est allumée, chaque valeur soit au maximum pour donner la lumière blanche.  Lorsque la touche « CONV », une boucle de 3-la partie commence dans le logiciel.

Partie 1) décrémentation rouge, vert, incrémentation, bleu = 0
Partie 2) vert décrémentation, incrémentation de bleu, rouge = 0
Partie 3) bleu décrémentation, rouge incrémentation, vert = 0

Le programme continue de parcourir ces trois parties lorsqu’un blanc lumineux mode est sélectionné, ou la touche « Statique » pour suspendre la lampe sur la couleur actuelle.

Articles Liés

Temps fleur lampe Featuring couleur changer LED thé lumière d’ambiance de printemps

Temps fleur lampe Featuring couleur changer LED thé lumière d’ambiance de printemps

il s'agit d'une lumière d'ambiance très simple pour célébrer le début du printemps ! Ils peuvent être faits pour ~$1.50ea et ne prend que quelques minutes à assembler.  Il a une autonomie de 80 h, 7 couleurs et 2 piles x CR2032.Bill of Materials :1.
Affichage de la température chromatique - Arduino contrôlée RGB LED infini miroir

Affichage de la température chromatique - Arduino contrôlée RGB LED infini miroir

Ce projet a été librement inspiré par , un écran de station météo dont la couleur dépend de la température extérieure. J'ai eu un colocataire à l'Université qui était l'un d'entre eux et c'était très utile, à Pittsburgh en particulier, juste coup d'o
Enchaînés lumière d’ambiance à l’aide de la puissance élevée LED RGB

Enchaînés lumière d’ambiance à l’aide de la puissance élevée LED RGB

j'ai démarré ce projet en plus d'un an auparavant et travail sur et en dehors depuis lors. Maintenant, c'est enfin fait.Le but était d'avoir un joli-lumière d'ambiance pour mon salon, inspiré par une console d'éclairage standard un ami avait une fois
RGB LED lumière d’ambiance w / ATtiny85

RGB LED lumière d’ambiance w / ATtiny85

ils appellent ces choses des Lumières d'ambiance.Ne sais pas pourquoi. Je suppose que le changement des couleurs mettre certaines personnes dans la bonne humeur.Bien que j'ai observé que lorsque les gens regardent cette humeur légères, elle tend à av
SmartPhone sous contrôle RGB lumière d’ambiance

SmartPhone sous contrôle RGB lumière d’ambiance

Lampes d'ambiance sont toujours fascinants pour moi et sont un très bon projet pour les débutants de commencer avec Arduino.Ce qui est une lampe d'ambiance ?Lampes d'ambiance sont des dispositifs d'éclairage qui servent à établir un sentiment particu
ATtiny85 RGB Mini lumière d’ambiance !

ATtiny85 RGB Mini lumière d’ambiance !

J'ai vu des lumières d'humeur RGB avec Arduino, PIC et plus grandes puces AVR, mais jamais avec la ATtiny85. C'est pourquoi j'ai décidé de faire un.Cette lumière d'ambiance est super simple à faire et toutes les pièces peuvent être achetés en ligne p
Empilable lumières ambiantes RGB LED Cube

Empilable lumières ambiantes RGB LED Cube

dans cette Instuctable je vais vous montrer comment fabriquer vos propres piles empilable RGB LED Cube s'allume.Ils fournissent portable RVB un éclairage d'ambiance à n'importe quel environnement. Leur conception compacte permet une multitude d'appli
RGB-Led Clock avec puce Bluetooth

RGB-Led Clock avec puce Bluetooth

Cette instructable vous montre comment utiliser un cyprès-BLE-Devkit pour construire une RGB-LED-horloge.Vous devez seulement très peu choses :RGB-LED-Strip de 30 ou 60 WS2812b-LEDs.une carte de circuit imprimé style grillecertaines broches broche-en
Analyseur de spectre Pi framboise avec RGB LED Strip et Python

Analyseur de spectre Pi framboise avec RGB LED Strip et Python

à la recherche d'un premier projet d'essayer sur une facture pro forma de framboise, j'ai bien quoi de mieux qu'un analyseur de spectre ? (Parfois cet affichage est erronément appelé pour comme un égaliseur graphique--que nous allons vous changez le
$9 construire un 4 x 4 x 4 RGB LED Cube avec Animation Creator

$9 construire un 4 x 4 x 4 RGB LED Cube avec Animation Creator

RGB LED Cube est impressionnant, mais il a beaucoup conduit jambe de construire et le prix est élevée, donc voici le composant moins cher nous pouvons faire avec 64 RGB LED, vous pouvez avoir toutes les pièces bricolage par vous-même, car nous partag
Projet des Carlitos : RGB LED ambiance Cube

Projet des Carlitos : RGB LED ambiance Cube

c'est la première d'une série de projets de bricolage électroniques / robotiques. Ces projets sont accompagnés de vidéos pédagogiques qui vont aideront à vous creux les nombreuses étapes impliquées dans l'exécution de la tâche à accomplir. Pour cette
RGB LED lumière d’aquarium

RGB LED lumière d’aquarium

faire votre réservoir de poissons coloré et lumineux avec la puissance de l'Arduino et RGB LEDÉtape 1: Collecte matériel Vous aurez besoin :-Une LED RGB-A l'aquarium avec des poissons-Arduino-Résistances-Fils de raccordement-Ordinateur avec l'IDE Ard
RGB LED lumière de vélo sécurité (parti) (35$)

RGB LED lumière de vélo sécurité (parti) (35$)

Nous avons voulu ajouter une certaine sécurité aux modes de déplacement de la moto, comme les jours reçois plus courtes. Voici notre solution de 35 $.Ma femme tente de faire la navette trois fois par semaine et les feux de vélo actuel ne étaient pas
Smart Phone contrôlé l’arbre de Noël avec RGB LED Strip

Smart Phone contrôlé l’arbre de Noël avec RGB LED Strip

Noël puisque c'est ici, nous avons décoré cet arbre de Noël avec RGB LED Strip pour notre fête de Noël et rend un arbre téléphone intelligent contrôlé. XD. It présentera bien sûr une magie de « dernière minute » pour le spectacle de Noël. Noël approc