Programmation Robot ARDUINO Piloter deux moteurs à Courant
Transcription
Programmation Robot ARDUINO Piloter deux moteurs à Courant
Programmation Robot ARDUINO Piloter deux moteurs à Courant Continu avec le Shield moteur Adafruit 1- Brancher les moteurs sur le Shield Moteur (carte de pilotage des moteurs) : ▪ Moteur 1 sur M1 et Moteur 2 sur M2 ▪ Connecter l’alimentation en énergie sur +M et DND Moteur 3 Moteur 1 Moteur 4 Moteur 2 + - Energie 6 à 12 Volts Moteur 1 GAUCHE Avant Moteur 1 GAUCHE 2- Vérifier la présence de la Librairie Adafruit – Installer la Librairie Adafruit – démarrer Ardublock Le Shield Moteur Adafruit se programme très simplement car les « blocks » existent déjà dans la bibliothèque Ardublock. Si vous utilisez pour la première fois le Shield Moteur Adafruit, il faut vérifier si la bibliothèque de ce composant est installée dans le logiciel Arduino – Si elle n’est pas présente il faudra l’installer : c’est très simple il suffit de suivre la procédure ci-dessous : 2-1 : vérifier la présence de la bibliothèque Adafruit Motor Shield dans l’IDE Arduino (logiciel Arduino) - démarrer le logiciel Arduino cliquez dans la barre de Menu sur : Croquis / Inclure une bibliothèque Rechercher la présence de la bibliothèque qui s ‘appelle « AFMotor.h » ou « Adafruit Motor Shield Library » - si vous avez la librairie parfait, vous pouvez démarrer Ardublock en cliquant dans la barre de menu sur « Outils » puis « Ardublock ». RAPPELS : pour ceux qui n’auraient pas encore installé le Plugin Ardublock dans le Logiciel Arduino : voici la procédure : - télécharger le dossier zip sur mon site Web : ArduBlockTool.zip (Accueil / Arduino / Découvrir Arduino / TELECHARGEMENTS) - décompresser le fichier zip - copier et coller ce dossier à l’emplacement suivant sur le disque dur de votre ordinateur : « C:\Program Files\Arduino\tools » - Fermer et Re-démarrer le logiciel Arduino - Cliquez sur « Outils » puis « Ardublock » 3- Programmer les moteurs avec Ardublock Cliquez sur le volet « Adafruit Motorshield » Moteur 1 Moteur 2 Vous pouvez ensuite créer un petit programme (voir ci-dessous ) pour faire tourner les roues 1 et 2 en marche avant (Ce programme permettra de faire avancer le Robot tout droit en marche Avant). - Le canal Moteur correspond au numéro du Moteur (1 ou 2 ) - la vitesse du moteur est réglable de 0 à 255 (0= mini et 255= Maxi) Transférer ensuite le programme vers la carte Arduino en cliquant sur « Téléverser vers l’Arduino » Le programme est maintenant transféré et sauvegardé dans la carte Arduino - Débranchez le câble USB de la carte Arduino / alimentez votre robot en énergie Observez le bon fonctionnement de votre Robot qui doit avancer bien droit… Certains Problèmes peuvent apparaître – Pas de panique nous allons les régler… : - Une roue (ou les deux) tourne(nt) à l’envers : il suffit d’inverser le branchement des deux fils du moteur concerné sur le shield moteur Adafruit (voir page 1). - Le robot n’avance pas vraiment droit (il tourne légèrement vers la droite ou la gauche) : c’est qu’il y a une roue qui tourne plus vite que l’autre, pour régler ce petit problème il faudra diminuer la vitesse d’un moteur sur le programme – Ne pas oublier de transférer ce nouveau programme dans le robot pour le tester ….il faut souvent faire plusieurs modifications avant d’obtenir une marche avant correcte (bien rectiligne). - Le robot avance trop vite : il est plus judicieux d’avoir un robot qui n’avance pas trop vite donc si besoin diminuer la vitesse des deux roues (plus la tension de la batterie est élevée plus le robot sera rapide…) Très important pour la suite : la vitesse de chaque moteur ainsi réglée au paragraphe précédent est à noter soigneusement quelque part car il faudra toujours programmer le Robot avec ces valeurs de vitesse pour les roues ce qui permettra d’avoir un robot qui avance bien droit et qui effectue des virages précis. Avant d’aller plus loin dans l programmation u Robot, il est maintenant temps d’utiliser la fonction « Sous-programme » afin de créer les sous-programmes de déplacement du robot ce qui permettra de simplifier la programmation du Robot. Qu’est-ce qu’un sous programme ?? Un sous-programme correspond à une série d’ordres qui seront programmés dans un sous- programme (un branche annexe du programme principal) et qu’il suffira d’appeler avec un code spécial….voici en image une explication plus simple : Pour faire avancer le robot il faut utiliser deux « blocks », un pour la roue Gauche pour lui dire de tourner en AVANT et un autre pour la roue droite pour indiquer d’aller en AVANT : Les deux blocks ci-dessus peuvent être remplacés par un seul block « AVANCE » indiquant le déplacement effectué par le Robot correspondant : Ces blocks se trouvent dans le menu Jaune « Contrôle » Dans le block ci-dessus « Sousprogramme commands », il faut insérer les actions que l’on veut programmer (durées des actions etc…) Le block ci-dessus « Sousprogramme » doit porter le même nom que le sous-programme associé, par exemple « AVANCE », il suffit d’insérer ce block dans la branche principale du programme pour exécuter les commandes du sous programme du même nom Par exemple, le programme ci dessous permet de déplacer le Robot pendant 8 secondes (8000 millisecondes) en marche AVANT puis 8 secondes en marche ARRIERE. Programme principal Sous-programmes de déplacements Il faut respecter la casse (minuscule / MAJUSCULE) et écrire exactement le même nom sinon le programme principal ne reconnaît pas le sous-programme appelé Voici donc ce que cela peut donner si on créer les 4 sous-programmes de déplacements suivants : AVANCE ARRIERE GAUCHE DROITE STOP Moteur 1 Moteur 2 Il est très important de sauvegarder ce fichier contenant les sous-programmes de déplacements. Surtout si les vitesses des moteurs de roues Gauche et Droite ont été ajustées pour corriger les éventuelles dérives du robot…. Maintenant que le Robot est assemblé, réglé et programmé, on peut commencer la programmation pour participer aux différentes épreuves du concours de Robotique !