Conception d’une lampe de PWM LED Multi nœud (4 / 6 étapes)

Étape 4: logiciels

Le logiciel fait vraiment cette tique de projet !

Le code source dans le 12F609 est vraiment compliqué. J’utilise jamais dernier emplacement de mémoire ! Tous les 64 octets ont été consommés par mon code. J’ai un énorme 32 octets de gauche flash plus comme pièce de rechange. Donc, j’utilise 100 % de la RAM et 97 % de l’éclair. Toutefois, il incroyable de voir combien la fonctionnalité vous obtenez pour tout ce que complexité.

Communication à chaque lampe est archivée en envoyant des paquets de données de 8 bits. Chaque paquet de données se termine par une somme de contrôle - si vraiment, il y a sept octets de données, plus une somme de contrôle final. À 9600 bauds, un paquet de données prend un peu plus de 8 milli-secondes pour arriver.

L’astuce consiste à effectuer plusieurs tâches tandis que le paquet d’octets est arrivée. Si une des LEDs est active avec un signal PWM, la sortie PWM doit se tenir à jour alors même que la réception de nouveaux paquets octet. C’est le truc. Il m’a fallu semaines et des semaines pour régler cette question. J’ai passé énormément de temps à travailler avec mon Logiport LSA essayant de suivre chaque bit. Il s’agit du code plus complexe que j’ai jamais écrit. C’est parce que le micro est tellement limité. Sur les micros qui sont plus puissant, il est facile d’écrire du code en vrac/facile et avoir le prompt rip micro à travers elle sans se plaindre. Avec le 12F609, n’importe quel code lâche avec vous coûte beaucoup. Tout le code source micro est écrit en C, à l’exception de la routine d’interruption du service.

Pourquoi avoir ces paquets de données volumineuses, que vous pouvez demander. Eh bien, parce que nous voulons avoir la rampe de LEDs haut et en bas de leur propre gré. Une fois un profil de la rampe est chargé, la LED peut s’éteignent et commencer la montée en puissance tout en recevant de nouvelles commandes pour une autre LED. Chaque feu doit recevoir et décoder tous les trafic de paquets de données même si le paquet n’est pas conçu pour elle.

Un profil de LED se compose d’un niveau de démarrage, démarrage habiter temps, vitesse de montée, haut niveau, haut temporisation, taux, niveau bas de rampe. Voir le schéma joint. Wow, c’est beaucoup pour une LED. Maintenant, il faut multiplier qui multiplié par le nombre de LEDs. Il devient trop - je pourrais seulement garder une trace de trois LEDs avec des profils de rampe complète. Le quatrième (blanc LED sur la platine de dev) a uniquement rampe de/à capacité. Il s’agit d’un compromis. Jetez un oeil à la photo ci-jointe d’un profil de la rampe.

Le signal PWM est généré une minuterie qui exécute à 64uS par tick. La minuterie de huit bits survole chaque 16.38mS. Cela signifie que le signal PWM est en cours d’exécution à 61.04 Hz. Ce n’est pas bon pour le taraudage vidéo ! Donc, j’ai utilisé un truc logiciel et sauté quelques chefs d’accusation supplémentaires dans la minuterie pour s’allonger à 60Hz. Cela rend les écoutes vidéo ressemblent beaucoup beaucoup mieux.

Sur chaque renversement de la minuterie PWM (16.67mS) mettre à jour les profils de la rampe. Par conséquent, chaque graduation de rampe/habiter est 1/60 de seconde ou 60Hz. Le plus long segment de profil (à l’aide d’un comte de 255) aura dernières secondes 4,25 et le plus court (en utilisant un compte de 1) dure 17ms. Cela donne une belle gamme de travailler au sein. Jetez un oeil à la photo ci-jointe de l’analyseur logique. Pour vraiment voir le détail sur la photo, ouvrir la photo en mode haute résolution. Cela prend quelques clics supplémentaires sur le site web instructable. Il y a aussi un dessin d’un profil indiqué ci-dessous.

Documenter le protocole de commande est sur ma liste de todo. J’ai l’intention d’écrire un type de feuille de données du document pour décrire pour protocole complètement. J’ai commencé une feuille de données de la puce - une version préliminaire est sur mon site web maintenant.

Articles Liés

Une lampe de poche LED dans une nouvelle prise de courant automatique de charge

Une lampe de poche LED dans une nouvelle prise de courant automatique de charge

il s'agit d'une lampe de poche LED compact pour une utilisation dans une automobile. Elles cadrent très bien dans les anciennes prises de courant ou prises allume-cigare pour la recharge. Mais, ils ne rentrent pas bien ajusté dans les prises de coura
Torche - brosse à dents électrique recyclé transformé en une lampe de poche LED la dent

Torche - brosse à dents électrique recyclé transformé en une lampe de poche LED la dent

brosses à dents électriques échouent généralement dans l'une des deux façons suivantes. Les matrices de la batterie ou les parties électriques deviennent corrodés en raison de l'infiltration d'eau. Cette instructable va vous montrer comment recycler
Modding une lampe de bureau LED de lit, bain, & Beyond

Modding une lampe de bureau LED de lit, bain, & Beyond

il s'agit d'une lampe de bureau LED fait expressément pour Bed, Bath & Beyond. Je ne sais pas combien de temps je l'ai eu. Mais, il me dure un bon 2 ou 3 ans maintenant. Cependant, j'ai eu des problèmes avec le mécanisme de l'interrupteur. Il sortait
Batteries bricolage : Alimenter une lampe de poche LED avec changement de poche !

Batteries bricolage : Alimenter une lampe de poche LED avec changement de poche !

Dans cet article, je vais vous montrer comment faire pour remplacer la typique 3 AAA batterie en communs pas chers lampes de poche LED avec changement de poche pour alimenter la lampe de poche à la rigueur. La batterie créée s'adaptera même droit à l
Comment faire une lampe incroyablement lumineux LED

Comment faire une lampe incroyablement lumineux LED

Fiat Lux !  Le cri de ralliement de chaque scientifique, ingénieur, homme à tout faire ou n'importe qui qui doit fonctionner sur des petits bouts de fastidieux.  Vous ne pouvez jamais avoir assez de lumière lorsque vous travaillez sur des choses.J'ai
Comment faire pour créer une lampe de poche LED rechargeable

Comment faire pour créer une lampe de poche LED rechargeable

à l'aide d'électroaimants, une petite lampe de poche LED similaire à mettant en vedette dans « Shake It comme un Tic-Tac! » peut être produit.Avec l'installation de la lampe de poche Tic-Tac, la tension générée par l'aimant seul ne suffisent pas à al
Pirater une lampe de poche LED 4 $ dans une lampe de plongée avec un laxatif !

Pirater une lampe de poche LED 4 $ dans une lampe de plongée avec un laxatif !

Honnêtement, je pense que cela ne fonctionnerait pas parce que c'est beaucoup trop simple et facile pour moi d'être la première personne à penser à elle. (ou au moins la première personne à publier)  Une lumière normale de plongée vous coûtera à la l
Faire une lampe de poche LED d’équiv. 1000w !

Faire une lampe de poche LED d’équiv. 1000w !

Voici comment faire un eqiv 1000w incroyablement lumineux. Lampe de poche LED !Il a conçu pour être utilisé avec une main, avec un contrôle aisé de la luminosité et peut être alimenté par piles ou un adaptateur secteur.Peuvent être construits pour en
Une lampe de poche LED de Smalls Altoids mieux

Une lampe de poche LED de Smalls Altoids mieux

J'aime vraiment faire des projets hors Altoids. Surtout les nouvelles boîtes de Altoids Smalls. Ils sont si petits et si très très mignon.J'ai vu un couple de Instructables sur comment transformer ces petites boîtes dans des lampes de poche, mais je
Rétro Fit une lampe de bureau à LED

Rétro Fit une lampe de bureau à LED

cette instructable détaille les étapes que j'ai effectué afin de modifier une lampe de bureau, j'ai déjà eu à utiliser des LED au lieu d'un tube de fluoro.Ce coût de projet m'a ce temps 49,95 $ australien pour la bande de 30 LEDs.J'ai déjà eu la lamp
Faire une lampe de poche LED Cool Blue

Faire une lampe de poche LED Cool Blue

Le bleu est cool.  Le bleu est aussi la couleur préférée pour nous types théâtrales et autres personnes qui ont à travailler dans l'obscurité sans brillant ennuyeux lumières autour.  C'est soit bleu ou rouge, et il y a un truc tout bleu :Le truc, c'e
Comment construire une lampe d’ambiance LED / lampe de sécurité à souder

Comment construire une lampe d’ambiance LED / lampe de sécurité à souder

Hi,Combien de fois avez vous brûlé vers le bas de votre maison car vous avez oublié d'éteindre ce fer à souder ou le pistolet à colle ? Bien je n'ai jamais brûlé vers le bas de ma maison (et j'espère que vous n'avez pas soit) mais dans ce instructabl
Mettre à niveau votre lampe de poche à une lampe de poche LED

Mettre à niveau votre lampe de poche à une lampe de poche LED

il est temps de redonner vie à des lampes à incandescence de vieillissement. Installation de LEDs peut rendre votre lampe de poche plus lumineux et améliorer sa vie de la batterie par un facteur de jusqu'à 50 fois.La difficulté de transformer des lam
Comment faire pour réparer / modifier une lampe-torche 9 LED 3xAAA cellule Husky

Comment faire pour réparer / modifier une lampe-torche 9 LED 3xAAA cellule Husky

Voici les étapes que j'ai utilisé pour modifier / réparer ma lumière du flash Husky(R) 9-LED 3xAAA cellulaire.Le problème initial a commencé avec la lumière sortir alors qu'il est allumé. Si j'ai tapé la lumière du flash, ça marcherait encore une foi