2) Mise en marche du Qbot
Mise en contexte
Après avoir créé un compte Bitbloq et s'être familiarisé avec le fonctionnement de cette application, la programmation du Qbot peut commencer avec une mise en marche simple du contrôleur de moteur. Lors de la 13e étape de branchements électriques, une « programmation électrique » a été faite en changeant la connexion des fils du contrôleur de moteur tour à tour vers une branche V du blindage. Lors de l'initiation à Bitbloq, les fils du contrôleur de moteur ont été branchés tour à tour sur la branche S du port 13 du blindage afin de faire un parallèle entre le comportement de la DEL interne soumise à un programme de type « blink » de la plaquette Arduino et le comportement des moteurs soumis au même programme.
Maintenant, et pour le reste de l'autoformation, les branchements du contrôleur de moteur resteront toujours les mêmes sur le blindage (voir le schéma de branchement) et il faudra programmer la plaquette Arduino pour envoyer les bons signaux au contrôleur de moteur. Par contre, la logique de cette programmation est assez complexe et peu intuitive.
Nous avons donc créé deux fonctions « moteur » permettant de traduire directement une instruction intuitive pour l'humain (« Avancer à telle vitesse », « Arrêter », « Tourner à gauche ») en une commande pour le contrôleur de moteur. Ces fonctions agissent comme base de toute programmation du Qbot, mais il n'est pas nécessaire de les comprendre pour réussir à programmer le Qbot.
Pour une explication (optionnelle) du fonctionnement des fonctions « moteur », voir l'annexe.
La mise en opération du Qbot est donc le téléversement d'une des deux fonctions dans le Qbot, ainsi que la calibration des valeurs de vitesse pouvant varier selon chaque robot.
Mise en opération
Objectifs : Vérifier le fonctionnement du contrôleur de moteur et trouver les bonnes valeurs de vitesse pour votre Qbot.
Note : La mise en opération peut s'effectuer avec un Qbot dont l'assemblage minimale est complété et où les quatre seules connexions sur le blindage Arduino sont celles du contrôleur de moteur.
Il faut créer une copie d'un des codes partagés dans votre compte Bitbloq. Ces codes servent à donner des instructions au contrôleur de moteur.
- Programme simple :
- Permet simplement d’avancer et de reculer.
- Prend une valeur de vitesse entre -255 et +255.
- Programme avancé
- Permet d’avancer, de reculer et de tourner.
- Prend des valeurs de vitesse entre -100 et + 100.
- Le premier argument définit la vitesse en rotation (gauche-droite).
- Le deuxième argument définit la vitesse en ligne droite (avance-recule).
Il faut absolument garder intacte la fonction « moteur » qui est définie au début du programme, mais il est possible de cacher son contenu pour alléger l'aspect visuel du code.
Pour faire bouger le robot, on insère le bloc de la fonction dans la section « loop » du code. Il faut inscrire la vitesse voulue dans le bloc turquoise.
Vous pouvez maintenant faire avancer le robot en inscrivant un chiffre positif. Pour faire reculer le robot, on inscrit alors un chiffre négatif.
Il est possible que la polarité des moteurs ait été inversée sur votre robot. Si tel est le cas, inscrire une valeur négative pour avancer et une valeur positive pour reculer.
ATTENTION : La vitesse maximum est très rapide.
ATTENTION : Si vous donnez une vitesse trop faible, le robot ne bougera pas.
ATTENTION : Arduino fonctionne seulement en le branchant avec le câble USB. On peut donc coder et téléverser les programmes sans activer l’interrupteur du Qbot. Par contre, ce n’est pas assez de puissance électrique pour le contrôleur de moteur. Il faut donc activer l'interrupteur pour que le robot puisse rouler.
C’est à partir de ce projet Bitbloq contenant la fonction « moteur » que l’on va créer des copies qui deviendront les projets pour tous les autres défis (Un projet par défi).