Animateur Gadget pour NeoPixels (3 / 6 étapes)

Étape 3: Code

Ce projet utilise des « Tabs » pour aider à organiser le code dans l’IDE Arduino. C’est vraiment la pratique seulement inhabituelle de codage dans l’ensemble du projet. Les onglets ne sont pas beaucoup utilisé, ou peut-être que je viens d’apprendre à leur sujet. Mais ils me rappellent des techniques et des mécanismes utilisés dans les environnements de programmation plus sophistiqués.

Je les utilise plus sous forme de signets dans ce projet. Leur fonction principale ici est de briser le code en morceaux afin que je peux naviguer facilement sans défilement tellement. Cela a un avantage supplémentaire important. Je suis un programmeur très paresseux, et si je ne pense pas que quelqu'un verra mon code, puis j’ai évitera à défilement et va gifler extraits de code dans des endroits aléatoires, jusqu'à ce que l’ensemble du programme devient un désordre illisible. Il exécute très bien, mais si je reviens un mois plus tard je ne peux pas encore lire mon propre code, beaucoup moins le modifier. À l’aide d’onglets, mon code reste généralement plus lisible parce que je peux obtenir rapidement l’onglet qui contient des extraits de code connexes. Donc l’ensemble du programme reste mieux organisé. Onglets presque me forcer à penser plus modulaire.

Cela aide aussi quand j’ai besoin de modifier le programme pour une utilisation avec d’autres composants. Dans ce projet, tout le code pour la conduite de l’écran est dans un couple des onglets. Il était facile quand j’ai porté sous à un affichage SPI. Je savais où tout le code correspondant a été, et il était facile pour moi du remplacer par le nouveau code dans le programme sans elle traque dans un enchevêtrement de spaghetti unique du code.

Onglets peuvent être créés à l’aide de la petite flèche en haut à droite de l’interface IDE. Notez que l’ordre de chargement des onglets est important, tout comme un programme de fichier unique en.

Comment utiliser

Téléchargez tous les fichiers d’exemples et placez-les dans un répertoire à l’intérieur vous dossier Arduino. Appelez le nouveau dossier/répertoire « Loop_Trainer » afin qu’il corresponde au nom de votre fichier principal .ino. Chargez le fichier Loop_Trainer, puis compiler et télécharger à votre matériel.

Le code est bien commenté (certains diraient plus commenté), alors j’espère que même les débutants pourront comprendre comment il fonctionne.

Résumé

Fondamentalement, le code lit les valeurs des potentiomètres, mappe les valeurs, si nécessaire, puis passe la valeur à une fonction d’animation. Les valeurs sont également affichées à l’écran. Simple, droite ? Eh bien c’est le cas, ne laissez pas le format tabulé compliquer les choses.

Contenu de l’onglet

  1. Loop_Trainer : Ce fichier principal. Il a toute l’initialisation habituelle, l’installation et la boucle principale. Le code définit les codes pin et variable de noms, charge la bibliothèque de NeoPixel et commence la communication sérielle. La boucle principale est très simple, il appelle juste une fonction pour lire les valeurs sur les potentiomètres et exécuter le menu.
  2. LCD_baseCommands : L’écran LCD est utilisé dans ce projet utilise démarrer et arrête des codes pour passer commandes. Il est simple à comprendre, mais reprenant les codes devient fastidieux et bloats le fichier. J’ai donc créé une série de fonctions les codes peuvent être appelée simplement. Vérifiez guide pour une liste complète des commandes de Adafruit.
  3. LCD_setup : Maintenant que toutes les commandes de base ont été transformées en fonctions, nous pouvons les utiliser pour configurer l’écran pour une utilisation. Vous devrez modifier ce onglets et LCD_baseCommand si vous utilisez un affichage différent.
  4. Menu_functions : Il s’agit d’une simple instruction case. Selon ce qui est la valeur mappée du pot menu, nous appeler une fonction (dans l’onglet NeoPixel_Functions) pour animer le NeoPixels. J’ai laissé quelques slots vides pour que vous remplissez avec vos propres animations.
  5. NeoPixel_Functions : Il s’agit de l’amusement partie. Ce fichier contient le code d’animation réelle. Ces animations sont des fonctions appelées dans l’onglet Menu_functions. Les animations d’acquérir le RVB et les valeurs des variables de l’ensemble des données de l’onglet Read_pots. Les animations également envoyer des données à l’écran d’affichage en utilisant les fonctions dans l’onglet LCD_baseCommands. Lorsque vous créez vos propres animations nouvelles, juste appeler à partir de l’onglet Menu_functions. Ce sont des animations de base, mais j’ai laissé un deux-parter et quelques autres routines excentrique pour vous de jouer avec.
  6. Read_Pots : Ces fonctions lire les potentiomètres et cartographier leurs valeurs pour s’adapter à leur usage standard. Par exemple, le menu doit seulement 10-20 étapes, nous correspondent à cette valeur. La valeur RVB doit être 0-255. Mais l’entrée « variable » est utilisée de bien des façons différentes que nous envoyer la valeur brute et la mapper à la nécessité actuelle à l’intérieur de la fonction appelante. Vous pouvez toujours faire un analogRead direct si vous voulez une valeur de sondage différemment.

Remarque importante : quelque part. en quelque sorte, je sera ont laissé « souches » des expériences abandonnées et d’autres erreurs dans cet exemple de code. Le code s’exécute, mais si vous trouvez des impasses, ils sont probablement survolant de portages vers différents affichages ou de « banques » d’animations ne pas destinés à être fourni dans l’exemple de code.

Articles Liés

Gadget pour brouiller les œufs à l’intérieur de leur coquille

Gadget pour brouiller les œufs à l’intérieur de leur coquille

Dans ce Instructable, je vais vous montrer comment faire un gadget sympa qui peut brouiller un œuf à l'intérieur de la coque en moins d'une minute.Si vous avez jamais essayé brouiller un œuf dans un manchon, vous saurez que cela prend du temps et c'e
$5 cloisons sèches poussière eau filtre Gadget pour aspirateurs d’atelier

$5 cloisons sèches poussière eau filtre Gadget pour aspirateurs d’atelier

Poussière de placoplâtre sera souvent obstruer les filtres ou déchirer votre filtre. Poussière de placoplâtre sera également détruire votre moteur d'aspiration.Généralement aspiration cloison sèche avec un aspirateur d'atelier finira également par re
Ouverture et modding une batterie Li-ion et raccordement sur un gadget pour recharger au besoin

Ouverture et modding une batterie Li-ion et raccordement sur un gadget pour recharger au besoin

pourquoi est-ce utile ? Lorsque vous faites un projet électronique, comme un système de console de jeux vidéo portable portable, ce n'est pas facile abriter une grande batterie à l'intérieur de l'enceinte ; Toutefois si la batterie peut être divisé e
Créer un modèle 3d d’une toupie en forme de coeur et d’animer ce pour Saint Valentin.

Créer un modèle 3d d’une toupie en forme de coeur et d’animer ce pour Saint Valentin.

Animation : http://www.youtube.com/watch?v=4JV0YEIpZXA ou http://www.youtube.com/watch?v=kSFpewNu6sAÉtape 1 : Créer une nouvelle partie et esquisser une forme de grand coeur.Étape 2 : Solide extruder et placer dans un assemblyÉtape 3 : Créer une nouv
Instant Animal Cage pour le Transport

Instant Animal Cage pour le Transport

J'ai nécessaire pour transporter mon deux Français chèvres alpines, une ferme 40 miles afin qu'ils pourraient se reproduire avec un bouc alpin. J'ai une camionnette qui dispose d'un lit complet 8 pi avec une doublure et essayait de trouver un moyen d
Top 5 Minecraft animation chansons pour 2016 !

Top 5 Minecraft animation chansons pour 2016 !

les gens me demande sur youtube pour faire une chansons top 5 minecraft donc j'ai fait et je veux partager avec vous.Étape 1:5 : super naturels mobs. parodie de Californie gurls de katy perry. Étape 2:4 : que dit la squide. parodie de ce que dit le r
QuickTime pour Flash Mac OS X, convertir Quicktime en animation Flash pour le web

QuickTime pour Flash Mac OS X, convertir Quicktime en animation Flash pour le web

La question pour convertir les films quicktime flash ou post quicktime sur le site Web semble trouble beaucoup d'utilisateurs mac. Quand j'ai surfer sur Internet, j'ai trouvé beaucoup de problèmes sur la façon de convertir les films quicktime pour Fl
Comment convaincre vos parents pour vous obtenir un animal de compagnie ?

Comment convaincre vos parents pour vous obtenir un animal de compagnie ?

Nous savons tous que tout le monde aime les animaux, mais pas chacun d'entre nous peut les amener, seulement parce que les parents ne les laissez pas,C'est pourquoi je vais vous aider aujourd'hui !Il suffit de suivre ces étapes et vous obtiendrez vot
3ds Max Tutorial | animation de texte 3D pour les titres et les intros leçon 2

3ds Max Tutorial | animation de texte 3D pour les titres et les intros leçon 2

leçon 2 texte intro et titre animation 3d pour votre projet présentation ou youtube canal, une fois que vous exportez vous pouvez importer d'autres programmes tels qu'adobe after effects et premiere pour ajouter vos effets sonores etc.
Kit de portail de LEGO (pour votre animation en stop portail)

Kit de portail de LEGO (pour votre animation en stop portail)

Si vous voulez plus qu'un simple Chell (le personnage principal), un fusil de Portal et portails, alors voici votre aide ! Je suis venu avec une tourelle, Chell, un cube de compagnon et deux portails, sans oublier de mentionner une chambre d'essai, d
NeoPixel Deco USB s’allume (via Digispark / ATtiny85)

NeoPixel Deco USB s’allume (via Digispark / ATtiny85)

Pour ce Instructable nous avons besoin d'une bande de WS2812 LED, aussi connu sous le nom NeoPixel et n'importe quel microcontrôleur qui pourrait être programmée via Arduino. J'utilise Digispark, c'est un très bel MCU minuscule basé sur ATtiny85. Il
Neopixel, ESP8266 et Custom support imprimé 3d

Neopixel, ESP8266 et Custom support imprimé 3d

Ce projet a été mis en place plus humide dimanche après-midi pour combiner trois technologies dans un seul projet.Un dispositif sans fil ESP8266Une bague Adafruit NeopixelUn cadre 3d-imprimés pour le projet.Le design vous permet de changer les modèle
Gadgets iPhone (lampe, ventilateur, docking station, etc....)

Gadgets iPhone (lampe, ventilateur, docking station, etc....)

Je suis un grand fan de gadgets alors j'ai décidé de faire mes propres gadgets pour mon iPhone 4.Cette instructable travail avec tous les iDevices ayant les vieux 30 pins accosteront connecteurs. Si vous avez un iDevice avec le connecteur de foudre A
Mangeoire pour animaux de compagnie RFID

Mangeoire pour animaux de compagnie RFID

si vous avez deux chats et l'un d'eux est un régime, mais l'autre a besoin de nourriture gratuite, vous pouvez construire une mangeoire avec les possibilités RFID qui ne s'ouvre que pour le chat qui a besoin d'un accès gratuit. Le chat gratuit-alimen