L’agitation Transfiguration : Contrôler (3 / 5 étapes)

Étape 3: La « magie » derrière le contrôle de l’agitation de Transfiguration

La plupart de la magie est juste bonne programmation. Les noms des classes sont choisies pour rendre le FiniteStateMachine code lisible par n’importe qui. Nous aurions donné État pour Look et Edge pour une Situation, mais le code est juste plus difficile à comprendre. Transfiguration.h est juste cette même idée. Vous devez télécharger le fichier Transfiguration.h et l’ajouter dans vos fichiers de projet. C’est généralement le même dossier que votre fichier .ino. Vous devrez arrêter et redémarrer l’environnement Arduino avant qu’il vous permet d’éditer le fichier dans l’environnement Arduino.

Vous n’avez pas besoin de faire les recommandations suivantes, que c’est juste pour ceux intéressés par ce qui est dans le fichier Transfiguration.h

Pragma est aidant une fois seulement le compilateur de savoir utiliser uniquement ce fichier une fois.

Inclut dans la partie supérieure apportent dans le NeoPixel, CurieIMU, CurieTime et les fonctions I2C.

Inclure le vecteur est spécial. C’est un ensemble de routines qui permettent de conserver une collection de choses. Dans notre cas, c’est une collection de longueurs ou couleurs, ou ressemble. Essentiellement, chaque fois que vous voyez vector, vous pouvez lire comme une collection de BlahBlah.

Classe de couleur est vraiment le côté logiciel de garder le rouge, le vert et le bleu des couleurs dans votre palette.

Couleurs est vraiment une collection de couleurs pour un Look. Il a une fonction magique appelée transfigurer qui calcule une couleur entre votre dernière couleur et votre couleur actuelle au fil du temps. La transition d’une couleur à l’autre n’est donc pas brusque.

Longueur juste stocke la palette longueur d’options.

Des longueurs comme couleurs est une collection de longueur et a une fonction de transfiguration qui n’est pas aussi compliquée que de couleurs.

Un coup d’oeil comme vous vous en doutez a couleurs et longueurs. Donc, bien que le code de démonstration pour la Machine à états finis utilise uniquement une couleur et la longueur. Ce code est prêt pour autant que l’Arduino 101 peut gérer.

#defines sont juste un moyen de rendre les constantes qui prennent pas de place sur votre Arduino.

Situation est l’idée générale d’une situation qui peut se produire. La touche de fonction est constatéedans aura la valeur true si la situation s’est produite.

Étape, Spin et le temps sont des versions spéciales juste de la Situation. Certains programmeurs avancés peuvent se demander pourquoi la Situation, étape, Spin et l’heure sont fait de cette façon, et la réponse est simple lisibilité. Heureux d’en discuter plus en détail dans un courriel.

Transition est une classe qui conserve l’aspect actuel, le prochain coup d’oeil et quelle situation s’est produite ce qui provoque la transition.

updateStepCount et eventCallback ont raison de la CurieIMU -> démo stepCount, moins certaines Outptut série.

Enfin la classe Occasion. Une collection de regards, une collection de Situations et une collection de règle de transition permettant de passer d’un État à un autre.

getPeg, setPeg sont juste un moyen de noter un temps quand quelque chose s’est produite. Nous considérer comme définissant une cheville dans le sol dans le temps et puis voir comment loin de cette cheville vous êtes.

Boucle traverse juste la situation pour voir si tout est survenu et vérifiant que le Look correspond à une transition.

Le programme d’installation fait toute l’installation pour l’IMU, le temps, le fil et le NeoPixel

Étonnamment, c’est tout. C’est 256 lignes de code, mais vraiment juste mise en œuvre des idées que chacun est logique.

Articles Liés

Contrôler un Robot avec une télécommande Wii

Contrôler un Robot avec une télécommande Wii

Il s'agit d'un amusant petit projet qui utilise un Pi de framboise, un Robot de Finch et une télécommande Wii (Wiimote AKA), pour montrer certaines des choses que vous pouvez faire avec un pi framboise et/ou une Wii remote. Il utilise Python et la bi
Contrôler n’importe quel appareil électrique ou lumineux avec vous tablette ou smartphone (wifi)

Contrôler n’importe quel appareil électrique ou lumineux avec vous tablette ou smartphone (wifi)

Contrôler n'importe quel appareil électrique ou lumineux avec vous tablette ou smartphone (wifi) à l'aide d'arduino, Billy et un wemos / ESP8266 ConseilDans ce tutoriel nous allons faire quelque chose j'ai appeler un wifi contrôlée ac switch. (Mais i
Contrôler les puces naturellement avec des articles ménagers courants

Contrôler les puces naturellement avec des articles ménagers courants

Aux puces saison est à nos portes. Si vous avez déjà eu une infestation, vous savez que vous avez à lutter contre les puces sous de nombreux angles pour contrôler et éliminer ces insectes parasitaires récurrentes et opportunistes. Un des agents plus
Comment contrôler fissuré écran (cassé) et Android (ou les deux) de verre et les recycler.

Comment contrôler fissuré écran (cassé) et Android (ou les deux) de verre et les recycler.

ESPAÑOL :Hola, amorce d'este es mi Instructable, tome la decisión de hacerlo porque aucun encontré fr internet una solución para mi problema, y me las ingenie par arreglarlo.NO ME HAGO RESPONSABLE DE DISPOSITIVOS DAÑADOS, ESTAS FILS MIS RECOMENDACION
Arduino et Apple HomeKit intégration - contrôler votre maison de Siri ! L’ITO est ici

Arduino et Apple HomeKit intégration - contrôler votre maison de Siri ! L’ITO est ici

Ce Instructable vous donnera un moyen rapide et facile d'ajouter une carte arduino à Apple HomeKit sur un appareil iOS. Il ouvre toutes sortes de possibilités, y compris les Scripts qui s'exécutent sur le serveur, combiné avec pommes HomeKit « Scènes
Contrôler un petite actionneur linéaire avec Arduino

Contrôler un petite actionneur linéaire avec Arduino

Ce tutoriel de l'actionneur linéaire Arduino indique comment contrôler un Firgelli petite actionneur linéaire à l'aide d'une carte compatible Arduino et différents capteurs d'entrée, y compris un curseur et la commande de Rotation pour un contrôle di
Comment contrôler une imprimante 3D avec un téléphone via AstroBox bricolage

Comment contrôler une imprimante 3D avec un téléphone via AstroBox bricolage

Cet Instructable va vous montrer comment configurer un serveur d'impression basée sur Raspberry Pi, vous pouvez contrôler et surveiller votre imprimante 3D à distance (y compris de tranchage distant) d'un téléphone, tablette ou ordinateur.Impression
Pur Pi : Contrôler les effets de pédale personnalisé sur une facture pro forma de framboise avec un smartphone

Pur Pi : Contrôler les effets de pédale personnalisé sur une facture pro forma de framboise avec un smartphone

Il s'agit de mon premier instructable, bien que j'ai travaillé avec Pure Data, Raspberry Pi et autre audio numérique depuis un certain temps. Si vous souhaitez voir plus instructables pareil, votez pour moi !Je me demande toujours comment les effets
Bibliothèque PIC de Microchip pour contrôler une 20 de 4 LCD sur I2C

Bibliothèque PIC de Microchip pour contrôler une 20 de 4 LCD sur I2C

Ce Instructable présente une bibliothèque de « C » pour contrôler un seul 20 par 4 LCD basée sur le contrôleur LCD HD44780 sur I2C à l'aide de l'extenseur de IO 8 bits NXP PCF8574 distant. L'écran LCD est configuré pour l'interfaçage de 4 bits et peu
Contrôler les effets d’Halloween avec les télécommandes infrarouges bricolage

Contrôler les effets d’Halloween avec les télécommandes infrarouges bricolage

Halloween est l'occasion parfaite pour le plaisir de créer des effets spéciaux. Lorsque vous voulez être en mesure de commander à distance les accessoires et effets, une bonne option est d'utiliser une télécommande infrarouge. Donc dans ce projet, je
Faire une voiture RC, vous pouvez contrôler avec une télécommande

Faire une voiture RC, vous pouvez contrôler avec une télécommande

Dans cette instructables, je vais vous montrer comment vous pouvez gagner une voiture facile, vous pouvez faire vous-même.La meilleure chose à propos de cette voiture, c'est que, avec de légères modifications, vous pouvez la contrôler avec presque n'
Cloud contrôlées Dune Buggy - contrôler depuis n’importe où !

Cloud contrôlées Dune Buggy - contrôler depuis n’importe où !

Étant issu d'un milieu matériel orienté, voir graphiques des données étant tracées devant mes yeux pour la première fois, c'était passionnant, mais je regarde mon robot de suivre les commandes que je lui ai donné, c'est ce qui a vraiment soufflé mon
Contrôler TV avec n’importe quel téléphone (même les téléphones sans IR blaster)

Contrôler TV avec n’importe quel téléphone (même les téléphones sans IR blaster)

Vous voulez contrôler votre TV et plusieurs autres gadgets qui sont IR contrôlée ? Ya mais mon téléphone ne le supporte pas car il n'a pas un IR blaster. Ne vous inquiétez pas ici un gadget qui donne le contrôle de l'IR à n'importe quel téléphone et
Contrôler votre avion RC avec avait votre téléphone

Contrôler votre avion RC avec avait votre téléphone

Avez-vous jamais voulu contrôler votre avion de RC au moyen de l'inclinaison d'un objet ? J'ai toujours eu l'idée à l'arrière de ma tête mais j'ai jamais poursuivi jusqu'à ce que cette semaine dernière. Mes premières pensées ont été d'utiliser un tri