Fading Light clavier RGB (7 / 8 étapes)

Étape 7: codage !

Codage est une des parties plus agréables de ce projet ensemble. Comme indiqué précédemment, l’IDE Arduino a été utilisé pour le codage, qui a grandement simplifié le processus. Une fois que vous avez un programmeur mis en place et avez votre logiciel prêt à partir, vous êtes prêt à se taper ! Ou copier et coller, le cas échéant. :)

Cela ne sera pas long, mais j’espère elle aussi aider et si rien d’autre, susciter un intérêt dans le codage. J’ai joint le fichier de .ino Arduino, ainsi que le lien PastBin avec les numéros de ligne. Je vais aussi aller à travers généralement ce que fait chaque bit du code.

http://pastebin.com/j7zYH6g9

Ce code suppose que vous utilisez le schéma présenté à l’étape 3.

Tout d’abord, lignes 1-11 ensemble certaines variables qui seront utilisées tout au long du programme. C’est pour la plupart des choses générales comme qui les entrées/sorties correspondent à quels numéros, le taux au cours de laquelle l’arc en ciel devrait s’estomper et le seuil de détection de la lumière devrait répondre aux. Je vais arriver à lignes 8-11 dans un instant.

Lignes 13-18 simplement mis en place toutes les quilles comme sorties (la broche du capteur de lumière est appliquée par défaut). Ligne 17 modifie la couleur est complètement désactivé, à l’aide de la fonction décrite dans le paragraphe suivant.

Lignes 49-53, la fonction changeColor(), fournissent la base pour ce programme. Fondamentalement, la fonction prend une valeur de 0 à 255 pour la valeur de lumière individuelle pour chaque couleur et puis l’écrit dans le code pin correct, en utilisant le signal PWM évoquée précédemment. Cependant, étant donné que mon voyant est commun-anode (positif commun), donc la valeur 0 (off/sol) signifie que la couleur sera sur son intensité maximum. Ainsi, pour créer l’effet désiré, où 255 indique son intensité maximum, les couleurs sont soustraites de 255 pour les inverser.

Remontant le programme, la fonction loop() commence à la ligne 20. Après cela, lignes 21 à 27 vérifier pour voir si il fait sombre à l’aide de la valeur de seuil définie dans la section variables. L’if/else instruction comporte la fonctionnalité supplémentaire de vérifier si la variable sombre est déjà définie - si il fait déjà sombre, alors que le programme ne sera pas mis à être sombre à nouveau.

Ligne 26 appartient à la partie plus compliquée et plus impressionnante de ce programme. Je ne voulais pas ma lumière clavier reste allumée toute la nuit (parce que je suis rarement place à 03:00 sur l’ordinateur), alors j’ai décidé d’ajouter un certain pizazz avec une fonction d’arrêt automatique. J’ai dû essayer plusieurs angles d’aborder le problème avant que j’ai trouvé un qui a fonctionné. Les fonctions de temps écoulé ne semblent pas faire le travail, et comme le ATTiny n’est pas une horloge en temps réel, je ne pouvais pas il suffit de lire l’heure. Ce système fonctionne en calculant le temps qu’il faut faire un arc-en-ciel en ligne 8. Puis, basé sur le nombre d’heures entrée I comme le temps, sur que la lumière doit rester, il calcule des arcs-en-ciel combien il devrait terminer une fois tombée. L’if instruction avant que le programme principal ranbow (ligne 28) vérifie si elle est sombre et vérifie également que le programme a encore plus d’arcs-en-ciel d’exécuter. Ligne 41 incrémente le compteur de chaque arc en ciel. Et enfin, ligne 26 réinitialise le compteur de cycles arc-en-ciel quand il devient lumière.

Cela démontre la puissance incroyable du code. En ajoutant simplement quelques lignes de texte à un programme, vous pouvez ajouter des fonctionnalités étonnantes qui seraient presque impossible de faire avec le matériel. C’est une des raisons pour lesquelles que j’aime tellement de programmation. Cela me permet de mettre mes idées en action dans un monde où la seule vraie chose me limitant est mon imagination.

Pour conclure cette explication de confiseurs, lignes 29-40 défiler toutes les couleurs de l’arc-en-ciel. Fondamentalement, le code arc-en-ciel travaille en commençant par une couleur (rouge par exemple) à pleine intensité. Puis, la boucle graduellement descend la valeur rouge et déplace la valeur verte vers le haut, jusqu'à ce que vert est à pleine intensité. Le processus se répète jusqu'à ce que le bleu s’évanouit et une fois de plus, le rouge est la couleur dominante. La dernière partie du programme est l’instruction else en lignes 43-46, ce qui éteint la lumière, si ce n’est pas sombre ou s’il a siégé pendant plus de 8 heures (la variable timeout_hours).

Articles Liés

Arduino Fading Light

Arduino Fading Light

il s'agit d'une veilleuse Arduino contrôlée.matériaux :1 x LED5 x fils de raccordement1 x arduino1 photocellule x1 carte de test x1 x 10 résistance de k ohmsVoici le code, ne tapez pas les trucs après le / /, le code obtiendra trop long :Ces constant
Humeur-Cube (Li-ion Mood Light)

Humeur-Cube (Li-ion Mood Light)

Dans la section de l'électronique de Instructables.com tout le monde semble montrer beaucoup d'affection pour LEDs. Après avoir lu beaucoup d'articles, j'ai pensé que ce serait le bon moment pour contribuer à la pléthore de projets LED. Présentation.
Comment débuter avec Eclipse et AVR

Comment débuter avec Eclipse et AVR

AVRs programmation est amusant, mais parfois les environnements de développement des fabricants font code entretien une corvée. Si vous cherchez un libre, multi-plateforme, pièce de haute qualité du logiciel de programmation AVRs Eclipse est un bon c
Accent Lighting/décoration RGB LED éclairage bandes

Accent Lighting/décoration RGB LED éclairage bandes

Si vous n'avez pas sauté dans le train de RVB votre manquantes sur ce que pourrait être la prochaine vague d'éclairage pour tous vos besoins. Il est polyvalent, tourne autour de quelque chose et a la capacité de milliers de couleurs différentes. Déco
10W RGB LED Light Painting multi-outils

10W RGB LED Light Painting multi-outils

Peinture avec la lumière ou « Light Painting » utilise la lumière où un peintre traditionnel utiliseriez peinture, donc dans la peinture lumineuse au lieu d'un pinceau traditionnel, l'artiste utilise une source lumineuse. n'importe quelle source lumi
Le 10W RGB Color Fading lanterne chinoise

Le 10W RGB Color Fading lanterne chinoise

mon bientôt être 13 fils ans est un deuxième degré ceinture de Tae Kwon Do noire et aime toutes choses asiatiques. Ainsi son 13e anniversaire était destiné à un thème asiatique. Ma femme a eu la plupart des décors couverts mais étant le freak de LED
RGB LED Light Pen

RGB LED Light Pen

vous avez probablement vu les nombreux Instructables sur comment faire un photostyle, qui sert à faire des dessins lumineux.La techinque du Dessin de lumière consiste à placer une caméra sur un trépied, éteignez le flash et la valeur du temps d'expos
Light Wash Strip RGB + W/UV LED avec affichage LED

Light Wash Strip RGB + W/UV LED avec affichage LED

Ce projet comprend le Contrôleur de lavage NLED 4 canaux DMX avec affichage LED. Parfait pour la construction de votre propre DIY LED Wash/Flood Light. Le contrôleur possède de nombreuses fonctionnalités, y compris un affichage LED bleu à 3 chiffres
Arduino clavier apprentissage Lights attache

Arduino clavier apprentissage Lights attache

j'ai commencé à jouer Synthesia beaucoup récemment et pensé que ce serait cool si j'avais un de ces claviers qui prend en charge les lumières invite/apprentissage au MIDI, qui Synthesia a une option de sortie, mais l'achat d'un nouveau clavier est un
RGB LED Party Light

RGB LED Party Light

Voici comment vous pouvez utiliser une LED RGB comme un arc-en-ciel de lumière de parti en continu qui voyagent à travers le spectre visible. Vous aurez besoin est :-1 ou plusieurs LEDs RGB-1 plateau de Arduino UNO ; Il peut être d'autres conseils de
Pince à linge Battery Powered clavier Light

Pince à linge Battery Powered clavier Light

Voici comment faire un feu simple clavier que vous pouvez attacher sur n'importe quel ordinateur portable ! Profitez, un vote s'il vous plaît pour moi !Étape 1: Les parties Vous aurez besoin de ce qui suit. 1 x 9v batterie 1 x grand filaire LED 1 x 9
RGB LED Light pôle

RGB LED Light pôle

{"context":{"location":{},"login-upgrade-img":{},"footer-robot":{},"spinner":{"jQuery110208563661151638446":925},"jQuery110208563661151638446":1},"selector":"#editor-Obje
SoGo Mini Portable Multi Speaker avec application contrôlée RGB LED Light

SoGo Mini Portable Multi Speaker avec application contrôlée RGB LED Light

Venez bientôt SoGo Mini seul haut-parleur Portable Multi avec APPContrôlé RGB LED lumière et la couleur de la bague personnalisable. Large gamme de compatibilité avec d'autres dispositifs, tels que Mac, PC, Android, IOS, 20 plus heure sauvegarde de p
Touch Sensitive RGB LED Mood Light

Touch Sensitive RGB LED Mood Light

Je voulais toujours vraiment une lumière d'ambiance LED cool, mais chacun d'eux que j'ai vu sur Instructables utilise d'IC, et je trouve pour emporter d'IC certains de l'amusement de la construction de circuits. C'est la raison pour laquelle que j'ai