Arduino bande LED berceau/lit veilleuse (5 / 5 étapes)

Étape 5: logiciels

La bande de LED de Radio Shack est livré avec un lien pour tester le code pour l’Arduino. Cela formait la base du programme ci-joint, cependant la version Radio Shack utilise un jeu codé en dur de patrons et la modification de ces schémas est beaucoup de travail pour peu de résultats.

J’ai créé une nouvelle méthode pour conduire la bande qui prend deux composantes :

  • couleurs - couleurs tableau de RVB (rouge vert bleu)
  • illum - tableau des grandeurs/intensités (0,0 = 0 % = OFF, 1,0 = 100 % = pleine ON)

Cela vous permet de générer une gamme dynamique plus large de modèles rapidement sans avoir à spécifier autant d’informations chaque séquence. Il suffit de multiplier chaque composante de la valeur hexadécimale RBG par l’ampleur et que conduire la bande (effectuée dans la fonction light_strip()).

Brève de diversion sur le fonctionne de la LED code de bas niveau

Le code de conduire réellement les bits de la bande de LED dans la fonction send_strip() n’a pas besoin d’être modifié, mais si vous êtes curieux de savoir ce qui se passe avec le code de conduire la LED, lisez le...

Voici le lien vers les fichiers de Support de Radioshack pour la bande tricolore qui contiennent de la feuille de données pour la bande de LED. Cette bande fonctionne sur le protocole de TM1803 qui est de 24 bits pour définir une couleur (8 bits rouge, 8 bits bleu, 8 bits vert). Un segment de la bande reçoit 24 bits, les prochaines données passez sur le segment et passer au segment suivant. De cette manière le premier segment de route 24 bits 1, les 24 bits sont pour le segment 2, etc...

Pour réellement transmettre ces morceaux, vous verrez que pour conduire un 0, que vous devez définir la broche de données à haute (1 logique) pour 0,78 microsecondes et puis définissez la broche de données à faible (logique 0) pour 1,55 microsecondes. Pour conduire un bit 1 vous cherchez le calendrier ci-contre, haut pour 1,55 microsecondes et faible 0,78 microsecondes.

Ainsi, par exemple, que si vous voulez envoyer sur une valeur 0110 en binaire, vous le feriez réel besoin de transmettre

HAUT de 0.78us, faible pour 1.55us, haute de 1.55us, faible pour 0.78us, 1.55us, température élevée faible pour 0.78us, 0.78us, température élevée faible pour 1.55us

Alors, comment est-ce cela est atteint dans le code, dans la fonction send_strip() ?

Le code effectue une boucle sur tous les 24 bits, et si chaque bit est 1 ou 0 il effectue une opération différente. Prenons par exemple 1, le code exécute en premier données_1 qui affecte la broche de sortie haute, puis effectue 28 sans opération (nop) Notice de montage. L’Arduino Uno a une vitesse d’horloge de 16 MHz, ce qui signifie que chaque instruction met la dernière main à un moment approximatif 62,5 nanoseconde. Ainsi les 28 codés non-ops aura 28 fois 62,5 nanosecondes pour compléter, qui est 1750 nanosecondes = 1,75 microsecondes. C’est un peu sur la 1.55us fois que nous recherchons, mais est correct en raison du fait que l’opération données_1 ne se termine pas immédiatement avant que le premier nop est touché, donc en gros le premier couple nop ne compte pour l’heure un le signal est élevé. Pour développer un code comme celui-ci, vous utiliseriez idéalement un oscilliscope pour ajouter/supprimer des instructions nop et mesurer le temps qui en résultent sur l’oscilliscope, jusqu'à ce que vous frappez cette 1.55us sweet spot dans la feuille de données.

Heureusement la plupart des bandes de LED sont des bibliothèques de Arduino qui a déjà figuré ceci dehors pour l’utilisateur, mais il est toujours bon de savoir comment le code réalise le calendrier dans la feuille de données.

Réflexions finales

J’ai commenté le code assez bien que je n’irai en plus les détails sur comment ça marche, mais comme j’ai mentionné plus tôt, je pense que juste l’idée de créer des motifs lumineux plus intéressantes serait une excellente façon d’apprendre quelques simples codage et débogage de compétences.

Le débit global du programme est :

  • Démarrer l’Arduino
  • Attendez de Motion
  • Dessiner un arc en ciel
  • Attirer plus de 20 modèles
  • Redémarrez le programme

Bonne chance et profiter ! Si vous avez aimé l’Instructable, je serais ravi de votre vote pour le concours de création de code.

Articles Liés

Le Costume de méduses de bande de LED avec Arduino & LPD8806 Led Strips

Le Costume de méduses de bande de LED avec Arduino & LPD8806 Led Strips

tout a commencé quand j'ai vu un documentaire de la BBC en 2002 sur les eaux profondes de l'océan. Il y avait une méduse biolimunescent dans le documentaire, probablement de l'espèce « cténophores » qui a attiré mon attention dans les dernières année
Contrôlé par Arduino RGB LED infini miroir

Contrôlé par Arduino RGB LED infini miroir

Mise à jour 22/11/2013: Merci à tous ceux qui ont voté pour ce projet dans le concours de microcontrôleur ! Il fut l'un des trois gagnants du premier prix.Mise à jour 17/09/2013: Merci à tous ceux qui ont voté pour ce projet dans le concours de l'Ard
Arduino ADK LED éclairage

Arduino ADK LED éclairage

vous avez jamais voulu contrôler électronique avec votre smartphone ?  L'Arduino ADK (Android Development Kit) est l'Arduino Mega avec un bâti en USB hôte périphérique, prêt pour votre smartphone d'être branché !  Nous allons faire un projet Introduc
Arduino-Programmable LED infini miroir

Arduino-Programmable LED infini miroir

Êtes-vous fatigué de voir les éléments de salle qui semblent avoir une profondeur finie ?Peut-être vous devriez envisager de construire votre propre miroir de Infinity LED programmables par Arduino !Cette illusion d'optique est un eye-catcher et offr
Hexagones de tuyau PEX avec bande LED RGB

Hexagones de tuyau PEX avec bande LED RGB

Construit pour une goutte d'eau arrière scène ce projet comporte certaines formes d'hexagone de 3/4 po tuyau PEX, semblable à un cerceau de LED, quelques 12 volts RGB LED strip et un NLED 30 Channel High Current LED Controller. Les hexagones PEX sont
Linkit One - bande LED

Linkit One - bande LED

Il va être bientôt des fêtes et qui signifie gâteaux, lumières, arbres, etc.. Et ce serait formidable si nous pouvions contrôler notre sans fil lumière de Noël dans ce instructable je vais vous montrer comment contrôler vos lumières de Noël à l'aide
Son réactif bande LED

Son réactif bande LED

il peut y avoir des 9 étapes mais je vous promets c'est facile et rapide!Dans ce Instructable je va vous montrer comment créer un système de LED lumière réactif. Dans ce clip, j'ai utilisé une seule couleur LED strip, mais vous que vous pouvez utilis
Clap activé bande LED

Clap activé bande LED

Ce Instructable vous montre comment construire une bande de LED clap activé. L'ensemble du projet s'inspire Secret Knock activé serrure pour tiroir, où l'utilisateur peut enregistrer un motif secret knock qui ouvrira la serrure à l'intérieur du tiroi
Comment faire bricolage élèvent des lumières avec bande LED feux

Comment faire bricolage élèvent des lumières avec bande LED feux

Prendre soin des plantes est une activité agréable qui peut fournir de la nourriture pour une famille ou offrir un portail à la nature au sein du foyer.Lumières LED fournissent une lumière riche, plein spectre et sont extrêmement économes en énergie.
Alimenter une bande LED + bonus (lampe)

Alimenter une bande LED + bonus (lampe)

Brisé les appareils électroniques sont une mine d'or si vous savez ce que vous cherchez, vous pouvez trouver beaucoup de composants utiles que dans le cas contraire finirait à la poubelle. Dispositifs spécialement complexes tels que les ordinateurs e
BRICOLAGE aquarium rigide de bande LED lumière

BRICOLAGE aquarium rigide de bande LED lumière

Je cherchais une LED à bas prix léger pour mon réservoir de crevettes (54 litres/15 gallons). J'ai décidé de commencer un projet de bricolage très simple pour économiser de l'argent et à le partager sur instructables.Choses dont vous avez besoin :ban
Bande LED sécurité

Bande LED sécurité

Je tiens à m'excuser à l'avance pour la qualité des photos et vidéo. Mon point de vue caméra de tournage ne compensait pas pour la différence de la lumière et l'obscurité et le téléphone portable tout soufflé avec le flash hors les réflecteurs. pour
VU-mètre pour bande LED éclairage Alpha

VU-mètre pour bande LED éclairage Alpha

VU-mètre pour bande LED blanche éclairage AlphaMISE À JOUR :Le projet est en attente pour le moment. Nombreux autres meilleures conceptions de circuit sont devenus disponibles. Cependant, les fichiers de conception pour le suaire sont toujours utiles
Comment les bandes LED RGB peut fournir 2 ans de garantie ?

Comment les bandes LED RGB peut fournir 2 ans de garantie ?

En fait, quand Chine manufactuer fournissent des bandes LED vous et promettent de 2 ans de garantie, mais si la bande de LED sont époxy, c'est une lie.because en cas de hautes températures et conditions de l'éblouissement, la volonté d'époxy devienne