Faire un Zombie rampant de Robot avec les jambes coupées (20 / 22 étapes)

Étape 20 : Code : ajout de contrôle

À l’étape précédente, nous définit une routine d’analyse fondamentale et discuté de la façon d’utiliser l’interpolation pour les servos avec SOUPLESE. Maintenant, que se passe-t-il si vous souhaitez contrôler votre Zombot ?

Il y a une foule de façons d’implémenter ceci, tant dans le matériel et le logiciel. J’ai choisi de le manipuler à l’aide de connexion sérielle de l’Arduino, ce qui signifie qu’il sera vraiment trivial pour contrôler le robot sans fil via Bluetooth, ou que je fais en ce moment pour le débogage, simplement via le câble USB.

Ce n’est certainement pas la façon la plus élégante de parvenir à ces résultats, mais il est si tout va bien facile à lire et à comprendre, ainsi que flexible.

Comme avant, je vais joindre le code complet ci-dessous, mais je vais aller à travers les points clés ici.

Protocole de communication

J’ai décidé de mettre en place mon protocole de communication de la façon suivante.

  • Chaque paquet de données (l’instruction) du contrôleur au robot est une chaîne de caractères composée de deux parties, séparées par un ":" caractère.

    • Le « commandement » vient en premier et dit le robot quoi faire (par exemple : commencez à déplacer)
    • Le « argument » vient qu’en second et fournit des informations supplémentaires
  • Chaque paquet de données commence par un "[" et se termine par un "]"

Définir des Variables globales

Outre les variables définies précédemment, nous devons maintenant mettre en place certaines variables qui seront utilisées dans notre protocole de communication série.

Définir des fonctions

Lire une commande de série

Cette fonction peut être appelée pour vérifier l’interface série pour les commandes reçues.

Il vérifie les octets entrants serial (personnages) un par un, les jeter, sauf s’ils sont un "[" qui indique le début d’une commande.

Lorsqu’une commande a été commencée, chaque octet est stocké dans la variable « commande » jusqu'à une ":" ou "]" est reçu. Si un ":" est reçu, nous commençons à stocker les octets suivants dans la variable « argument » jusqu'à une "]" est reçu.

Si à tout moment un "[" est reçue pendant la lecture d’une autre instruction, que l’instruction précédente est ignorée. Cela ne nous empêche coincé si quelqu'un jamais transmis une "]" caractère de fin de commandement et nous voulions nous faire une nouvelle commande.

Après avoir reçu une commande complète la fonction « processCommand » est appelée, ce qui sera effectivement laissez-vous et l’action de la commande.

Traiter une commande

Une fois qu’une commande valide (et éventuellement un argument) ont été reçues, dont ils ont besoin d’être procesed, afin que nous puissions prendre les mesures appropriées.

Pour l’instant je n’ai pas besoin plus d’un octet d’information pour définir une commande, il suffit de nous regarder le premier octet de commande. À l’aide de cet octet comme argument pour une qu’énoncé nous permet d’effectuer une fonction définie par l’octet de commande.

Dans cet exemple, nous recherchons le caractère « w », le « s » ou le « c ».

Si « w » est reçu, puis les cadres de l’animation sont remplacées par une nouvelle animation qui définit un mouvement de « papillon ».

Si « s » est reçu, puis les cadres de l’animation sont remplacées par une nouvelle animation qui définit un mouvement de « crawl ».

Si « c » est reçu, les cadres de l’animation sont tous ensemble à la même position, effectivement s’arrêtant tout mouvement.

Puisqu’on ne peut pas réaffecter toutes les valeurs dans un tableau à la fois, nous tout d’abord définir un nouveau tableau temporaire pour chaque servo, contenant les nouvelles images, puis utilisez le "memcpy" pour copier ces valeurs sur l’emplacement de l’image réelle du tableau en mémoire.

Boucle principale

Le seul ajout nécessaire dans la boucle principale est un appel pour vérifier les entrées d’utilisateur à chaque itération de la boucle.

			
          

Articles Liés

Faire votre propre journal de croquis avec les détenteurs de

Faire votre propre journal de croquis avec les détenteurs de

quand je vais au croquis du champ, je veux mon papier aquarelle, crayons et stylos à encre, effaceur et conduit dans un pack... mais j'aime aussi voyager léger : prenez et allez.  Donc, je suis venu avec ce peu doo-hicky c'est un carnet de croquis pa
Masque de robot avec les yeux Neopixel et iPhone bouche Voice Changer

Masque de robot avec les yeux Neopixel et iPhone bouche Voice Changer

Cette année pour Halloween, nous avons décidé de faire un masque de robot pour notre fils aîné. Il y a quelques composants électroniques différents qui travaillent ensemble pour faire le masque final. Nous avons utilisé des anneaux neopixel et un ard
Comment faire Double Angus Bacon Cheeseburger encapsule avec les épinards et les oignons

Comment faire Double Angus Bacon Cheeseburger encapsule avec les épinards et les oignons

comment faire des hamburger au fromage Double Bacon Angus encapsule avec les épinards et les oignons.Vidéo montre le processus étape par étape.La description de la vidéo Youtube montre les ingrédients exacts et puces étape par étape ce qu'il faut ajo
Comment faire pour créer un CD avec les titres de votre bibliothèque iTunes pour écouter dans votre voiture ?

Comment faire pour créer un CD avec les titres de votre bibliothèque iTunes pour écouter dans votre voiture ?

Si vous avez toujours voulu avoir un CD avec votre musique préférée depuis votre bibliothèque iTunes, donc vous pouvez facilement écouter pendant que vous êtes sur un long trajet avec votre voiture, par exemple, c'est la façon de le faire.Étape 1: Ou
Comment faire un test de mathématiques avec les fichiers de commandes.

Comment faire un test de mathématiques avec les fichiers de commandes.

Créez un fichier texteEnregistrez-le sous « .bat »Copiez le code dans le fichier de commandesCODE : echo offtitle Math quiz color 09 mode con cols=60 mode con lines=30 setlocal ENABLEDELAYEDEXPANSION set q=0 set g=0 goto cop:cop cls echo. echo. echo 
Choses à faire avec les collants - collants - chaussettes en plus de porter leur

Choses à faire avec les collants - collants - chaussettes en plus de porter leur

Je considère les collants d'avoir raison là-haut avec du ruban adhésif comme une trousse d'outilsessentiel. Un ami avec deux filles enregistre pour moi.Avoir une bobine de fil de nylon poisson qui cesse de lâche ? Vous avez une boîte que vous en avez
Faire un jeu vidéo 2D avec l’unité

Faire un jeu vidéo 2D avec l’unité

Dans ce Instructable, je vais vous montrer de faire un jeu vraiment simple de vidéo 2D. C'est un jeu de style coureur infinie, comme "Fly with Me" ou « DoodleJump ».Essayez-le ici!!J'ai fourni un zip de l'exe du jeu que je serai vous montrant co
Configuration des butées sur rampes 1.4 avec firmware Marlin - @section homing

Configuration des butées sur rampes 1.4 avec firmware Marlin - @section homing

Cela va être un, compléter si tout va bien, tutoriel sur la configuration des butées sur la construction des imprimantes 3D sur rampes 1.4 utilisant le micrologiciel Marlin.Je vais utiliser Pronterface/Printrun programme d'accueil pour vous connecter
Comment faire le tour de magie impressionnant avec quatre As

Comment faire le tour de magie impressionnant avec quatre As

Dans cette vidéo, je vais vous apprendre comment faire un tour de magie fou avec les quatre As ! ce truc est vraiment cool et nécessite très peu de pratique donc, même qu'un débutant peut l'arracher !
Comment faire un mul­TI­RO­Tor ou un hybride avec un coupe au Laser ou un vide ancien

Comment faire un mul­TI­RO­Tor ou un hybride avec un coupe au Laser ou un vide ancien

s'il vous plaît comprendre que j'ai créé et tout dans ce posséder instructable,Il s'agit de tout mon contenu et si je devais utiliser quelqu'un elses il serait non contenu sous copyright ou avec leur autorisation, mais encore une fois, c'est tout mon
Costume de robot pour les enfants

Costume de robot pour les enfants

la clé pour faire un costume pour une ondulée âgé de trois an (ou au moins mon ondulées de trois ans) est pour la rendre souple et comme non-constrictive que possible.  J'ai fait une couture pour ce costume, mais il est tout à fait possible de le fai
Le chasseur de têtes A Knex pistolet mise à jour avec les INSTRUCTIONS!!

Le chasseur de têtes A Knex pistolet mise à jour avec les INSTRUCTIONS!!

Porter avec moi parce que c'est mon premier pistolet de poignée de mag jamais donc il peut se présenter comme de la merde ou il ne peut pas.Ce pistolet est sorti un défi pour moi de faire une poignée mag pistolet qui semble différent de celle de la p
Chaud les jambes collier

Chaud les jambes collier

Bon, voici une façon très étrange d'utiliser les jambes de Barbie dans un collier !  Ils sont faciles à sortir de la poupée, mais un peu difficile à poser correctement pour travailler avec la pièce et obtenir le désiré-produit fini.  Jouer un peu ave
Comment faire des petits robots avec nRover Conseil

Comment faire des petits robots avec nRover Conseil

Le nRover, est une petite planche conçue pour construire des petits robots comme UGV (véhicules sans pilote au sol), suiveur de ligne ou à la domotique, il peut être contrôlé par wifi, Bluetooth ou radio de contrôle. L'objectif principal est le dével