Animatron 8.3 : Un contrôleur Animatronic (1 / 9 étapes)

Étape 1: Vue d’ensemble du logiciel

Animatron8.3 est organisé en 6 modules. L’initialisation et la définition des fonctions, des données et des tâches prennent plus de la moitié du code. C’est ma philosophie que les lecteurs de données code ; pas l’inverse. J’utilise « #defines » afin que le code est auto documenter. Il est plus facile de comprendre ce qui est RandomMove, plutôt que de se souvenir quel moyen 10.

Les modules sont les suivants :

  1. Initialisation des objets globaux et définitions
  2. Définition communément des fonctions utilisées. Je vais utiliser une fonction avec un nombre variable d’arguments, pour simplifier une étape commune - comme fournissant des progrès ou de sortie de débogage. Je vais également utiliser une fonction pour séparer un code complexe où il est utilisé, afin de rendre la circulation plus facile à comprendre.
  3. Le programme d’installation est où ma communication série est définie, où la carte SD est initialisée, où le contrôleur de servo est initialisé, etc....
  4. Le programme principal commence par la définition et l’initialisation des variables locales. Voici les variables utilisées dans l’exécution, qui ne devaient pas être défini pour l’initialisation et le programme d’installation. Comme le tableau de "Joueurs". Ce tableau est utilisé pour enregistrer l’étape actuelle de script et le temps avant la prochaine étape doit être exécutée. Ces autres tableaux sont utilisés pour synchroniser les différentes parties du programme ou pour garder une trace de quel script est en cours d’exécution (dans le cas où vous spécifiez qu’une seule instance est autorisée).
  5. Le module étiquetés démarrer l’exécution est où l’esquisse effectue une boucle sur toutes les commandes actives. Cependant tout d’abord, il effectue deux tâches. Il y a un interrupteur dédié connecté à l’Arduino, à travers laquelle le programme peut être suspendu. Il vérifie qu’ici. Deuxièmement, le pingouin peut réagir aux stimuli externe. Dans l’Instructable étape qui décrit ce module, vous pouvez le voir vérifier pour l’audio (c’est pas peu dire) et contrôle le servo de bouche en conséquence. C’est également le cas dans l’avenir, détecteurs de mouvement et suivi, éventuellement la reconnaissance vocale et conversation, et autres réactions seront vérifiées.
  6. Le reste du code exécute le script. Il y a un interrupteur... affaire de structure et le code pour chaque fonctionnalité est implémentée dans le bloc case.

Articles Liés

Contrôleur d’Halloween à l’état solide et comment construire une maison hantée

Contrôleur d’Halloween à l’état solide et comment construire une maison hantée

c'était à l'origine un article à faire 03 où mon éditeur génial Paul Spinrad a effectivement fait une réplique de mon contrôleur et a fait un travail beaucoup mieux documenter que je ne le ferait. Pour la carte de contrôleur, si vous avez besoin de p
Contrôleur de NESPi

Contrôleur de NESPi

Qui n'aime pas une émulation jeu classique ? Super Mario Bros et Zelda ont été tellement emblématique et si impitoyable en jeu de mécanismes de jeu.Le short de ce projet est: A Raspberry Pi Zero, un chargeur de boost de LiPo et une batterie LiPo enta
AMSC - multimédia de l’Arduino et contrôleur de Skype

AMSC - multimédia de l’Arduino et contrôleur de Skype

AMSC - multimédia de l'Arduino et contrôleur de Skype* Imaginez-vous regarder un film et, sorti de nulle part, quelqu'un vous appelle sur Skype et de ce fait vous obtenez destracted et vous avez besoin de rembobiner le film pour se concentrer à nouve
CONTRÔLEUR de niveau d’eau automatique 1 $

CONTRÔLEUR de niveau d’eau automatique 1 $

Bonjour les amisAujourd'hui j'ai suis de retour avec un autre projet appelé $1 régulateur de niveau d'eau.C'est un circuit de commutation automatique permettant de contrôler une pompe à eau AC. Fonctionnement de ce circuit est simple.wen que le nivea
Automatisé contrôleur aveugle Horizontal motorisé solaire

Automatisé contrôleur aveugle Horizontal motorisé solaire

J'ai commencé ce projet parce que nous avons certains stores horizontaux situés dans une fenêtre élevée au-dessus de la porte principale à notre maison. Cette fenêtre fait face au sud, et ici, dans le Colorado, qui signifie beaucoup de soleil. Il ser
CoreConduit : Jardin intérieur contrôleur système

CoreConduit : Jardin intérieur contrôleur système

Un contrôleur de jardin nous permet de gérer l'environnement de contrôle, ventilateurs, appareils de chauffage, lampes, pompes et nous en aviser quand le jardin a besoin de notre attention.Le jardin contrôleur système vous aidera à se développer :Ver
Module de contrôleur de moteurs L293D / tutorial

Module de contrôleur de moteurs L293D / tutorial

L293D est une puce qui nous permettent de contrôler les deux moteurs avec seulement une carte Arduino ou autres microcontrôleurs. Cependant, j'ai eu un projet qui nécessitait le contrôle de quatre moteurs à courant continu ensemble. Récemment, j'ai a
Nous allons faire un contrôleur de jeu !

Nous allons faire un contrôleur de jeu !

J'aime jeux de vol, mais il se sent comme il n'y a jamais assez de boutons sur mon joystick.Cette instructable vous montrera comment construire votre propre panneau de commutateur en aucun temps.Il fonctionnera avec n'importe quel jeu et ordinateur q
Encodeur abordable clavier et contrôleur de Divekick

Encodeur abordable clavier et contrôleur de Divekick

Tout le monde qui a joué Divekick a vu contrôleur de Markman : deux boutons extrêmement durables qui évite toute confusion pour un nouveau joueur. J'ai joué Divekick avec des personnes d'âges onze à cinquante et avoir un contrôleur 360 avec tirs de d
Contrôleur de température digital aquarium

Contrôleur de température digital aquarium

pour contrôler la température de votre aquarium de manière plus précise et plus sûre. Plupart des contrôleurs sur le marché sont coûteux, peu fiables et peuvent seulement contrôle un refroidisseur ou radiateur pas les deux. Vous pouvez faire cela pou
Contrôleur de lancement de fusée modèle ajouté à outil batterie

Contrôleur de lancement de fusée modèle ajouté à outil batterie

Résumé : Ce projet utilise une poignée de composants électroniques et circuit relativement simple de modifier un chargeur batterie fonctionne également comme un controlle de lancement de fusée modèler puissance outil important, le régulateur-chargeur
Contrôleur MIDI d’arcade

Contrôleur MIDI d’arcade

Je suis sûr que vous avez vu ces cool vidéos des gens jam session sur une boîte avec un tas de boutons dessus. Eh bien, aujourd'hui, je vais vous montrer comment vous pouvez aussi faire une boîte avec laquelle vous pouvez faire des confitures. < > I
Organisateur de contrôleur Xbox un

Organisateur de contrôleur Xbox un

Ma femme était fatiguée de Xbox contrôleurs dans tous les sens et j'étais fatigué de ne jamais être en mesure de trouver un contrôleur de temps de jeu. J'ai conçu une boîte avec évidements que la Xbox un contrôleur glissera dans parfaitement... et de
Vitesse de contrôleurs pour les Robots bon marchés, partie 2: le contrôleur PID

Vitesse de contrôleurs pour les Robots bon marchés, partie 2: le contrôleur PID

Hé ! C'est la deuxième partie d'un tutoriel en deux partie sur comment faire un variateur de vitesse d'un ressort de cap et plume de bouteille ! Si vous ne l'avez pas encore fait, consultez-le ! Si vous l'aimez, s'il vous plaît envisager de voter pou