Étape 10 : programmation
Ce robot est alimenté par trois différents tableaux de microcontrôleur Arduino. Les deux planches de Arduino Mega Pro les deux exécutent le même programme (plus ou moins) tandis que le troisième a un programme très simple il suffit de contrôler l’inclinaison et le déclenchement de la rallonge.
Nous avons choisi d’utiliser trois planches afin que, dans le cas d’un pépin dans un peu de code sur un bras, les autres bras serait en mesure de fonctionnent encore correctement et toujours marquer des points pour le concours.
La caractéristique principale du code est le contrôle de PD pour le moteur de base. Cela permet le bras vers son emplacement sans aucun arrêt brusque quand il y arrive. Les chauffeurs Syren étaient extrêmement faciles d’envoyer des commandes, grâce à des bibliothèques de Dimension Engineering.
Le servomoteurs Dynamixel servos ont construit en régulation PID, donc tout ce qui restait à faire était d’envoyer les commandes de position à ceux. Parce que nous avons utilisé des servos des lignes AX, MX et RX, il a fallu deux tampons différentes puces. Nous avons appris comment utiliser l’Arduino pour contrôler ces servos de Savage Electronics et nous utilisons des versions légèrement modifiées de ses bibliothèques (inclus dans le dossier du code). Tout ce qui a été fait pour modifier ces bibliothèques pour notre usage était de changer le port série dans une bibliothèque afin que chaque puce mémoire tampon ait son propre port série.
Lorsque nous avons commencé à écrire le code, nous avons écrit à chaque fonction étape par étape. Nous avons commencé en exécutant uniquement le code pour le moteur de base, puis nous sommes allés à ajouter les morceaux un par un plus bas sur le bras. Nous voulions faire en sorte que chaque morceau de code a fonctionné correctement avant que nous avons essayé toutes les fonctions ensemble pour réduire le risque de ruiner tous nos efforts jusqu'à ce point.
Le dossier de code ici comprend toutes les bibliothèques nécessaires pour obtenir le code de compilation et les esquisses de l’Arduino pour chaque bras.