Étape 4: Le Code
Maintenant jetons un oeil le code pour le bras de la grue coulissante, que vous pouvez trouver ci-dessous. Le code utilise 2 bibliothèques : la bibliothèque de StepperAK et la bibliothèque IRremote. J’ai inclus tous les deux de ces derniers dans le fichier .zip.
Pour aider à organiser le code, le projet a été divisé en 4 onglets basés sur quelle partie du système de contrôle d’interagir avec. Permet de démarrer en passant par sliderControl.ino. Ce fichier contient le code pour importer et installer les bibliothèques nécessaires, déclare les variables qui seront utilisées tout au long du programme et comprend l’installation et la boucle principale. Il y a deux choses importantes à noter ici les codes IR et la boucle principale. Les codes IR dépendra de la distance que vous utilisez ; pour trouver les codes pour les touches de votre télécommande, vous pouvez utiliser le Serial Monitor des pour visualiser. Simplement supprimer deux lignes qui mentionnent la série. Déplacement sur la boucle principale, l’Arduino vérifie si elle a été entrée par une télécommande. Dans l’affirmative, il appelle la fonction decideAction(). Dans le cas contraire, il vérifie si le voyant de veille doit être activé ou si la grue est de chargement/déchargement.
Ensuite, nous allons étudier la IR_Codes.ino. Il contient les fonctions liées au capteur IR. La seule fonction à l’intérieur est la fonction de decideAction() assez longue. Cette fonction effectue toute la logique nécessaire pour déterminer quel bouton a été enfoncé et quoi faire. Notez la structure de cette fonction. Tout d’abord, il vérifie si les boutons de chargement et de déchargement ont été enfoncées. Cela permet le bras de grue pour être facilement mettre sur ou décollé de la base en exécutant continuellement les moteurs. Ensuite, il vérifie si le chargement/déchargement sont sur. Si un est, aucune autre action ne peut être prise. Ceci empêche la grue elle-même endommageant éventuellement en appuyant sur un bouton de la télécommande lors du chargement/déchargement.
Enfin, nous avons le Stepper_Control.ino. Cela inclut toutes les fonctions liées aux moteurs pas à pas. Ce sont des fonctions plutôt simples, mais remarquez que chaque fonction définit stepsTaken sur le nouveau montant, ce qui empêche le moteur d’outrepasser lui-même. Une fonction qui se distingue dans ce groupe est le setBase(). Cela réinitialise stepsTaken à 0. Cela permet à la grue être "re-calibré" après le chargement ou le déchargement.
sliderControl.zip