G1 - 3A SCIEN 1 - Léo Antonis Léonardo Marc-Olivier Mathias Théo
Résumé de section
-
Répartition du Travail :
Sketchup : Théo, Mathias
Make Block : Antonis, Léo
App Inventor : Marc-Olivier, Léo
-
App Inventor est un moyen complet de créer une application, il nous permit de créer la nôtre et ce fut captivant de la réaliser.
Objectif : Réaliser une interface ergonomique de contrôle du robot mBlock avec la possibilité de le contrôler par des boutons directionnels ou bien de le laisser se "débrouiller" en mode suivi de ligne
Ce que nous avons fait :
Nous avons d'abord modifié le programme de base en supprimant le bouton stop remplacé par une communication de l'arrêt du véhicule au programme mBlock, puis nous avons rajouté des boutons directionnels (pour avancer ou reculer tout en tournant) et deux boutons de changement de vitesse . Ensuite nous avons ajouté la fonctionnalité de voir la distance séparant le robot d'un ostacle. Pour finir, nous avons rajouté 2 "labels" carrés pour voir la couleur vue par les capteurs de suivi de ligne ainsi qu'un slider pour modifier la vitesse.
Ci joint, le programme
***Mise à Jour : Suppression des boutons de modification de vitesse, devenus obsolètes***
-
Mblock, c'est selon moi, la partie la plus intéressante du projet. Pourquoi ? Parce que le programme mBlock réalisé constitue le cerveau de la voiture, et oui, le programme mBlock permet au robot d'interpréter ce qu'il capte (ultrasons ou couleurs) et ce qui lui est envoyé (variables d'App Inventor). Sans programme, une voiture MakeBlock n'est qu'un bout de métal sans fonction, immobile. Ce programme doit être cohérent et bien construit.
Mon programme est bien organisé et me permet donc de le modfier aisément et régler les éventuels problèmes. Il remplit 3 fonctions importantes du robot :
1°/ Le Contrôle Manuel
Cette partie repose essentiellement sur la communication avec App Inventor. C'est le mouvement de la voiture lié aux boutons directionnels de l'interface. Le programme mBlock s'occupe d'activer les moteurs à la vitesse idéale pour que la voiture se déplace dans la direction voulue. Une communication d'une variable permet au robot d'agir de la bonne manière.
(Ex : 1 -> avancer tout droit, les deux moteurs à la même vitesse positive)
2°/ La Détection d'Obstacle
Ce morceau du programme assure la sécurité du robot. Pourquoi donc ?
Et bien imaginez un conducteur négligeant qui fait avancer sa voiture à la vitesse maximale droit dans un mur. Le robot pourrait voir certains de ses composants endommagés. Cela constitue un problème conséquent.La détection d'obstacle est la solution : à partir d'une certaine distance d'un objet, la voiture ne pourrait plus avancer avant d'avoir rejoint une distance correcte de l'obstacle.
J'ai donc modifié mon programme avec une variable liée au capteur d'ultrasons (situé à l'avant du véhicule).
40cm a été la distance limite par rapport à un obstacle jusqu'à laquelle on pouvait avancer choisie par M.Maréchal.
De plus, une fonction de recul automatique a été ajouté : si la voiture se retrouve malencontreusement à 20cm ou moins d'un obstacle elle recule jusqu'à se retrouver à 40cm de l'obstacle en question.
3°/ Le Suivi de Ligne
Le suivi de ligne se base sur les couleurs vues par les capteurs de la carte de suivi de ligne (située à 1cm du sol). Ces capteurs ne voient que deux couleurs : le noir et le blanc. Comme son nom l'indique, le suivi de ligne consiste simplement dans le fait de faire suivre une ligne au sol au robot (épaisse, moyenne ou étroite).
Le programme pour suivre cette ligne est on-ne-peut simple :
-Si les deux capteurs voient blanc ou noir, la voiture avance tout droit
-Si un des capteurs voit du blanc et l'autre, du noir alors a voiture tourne pour s'approcher du noir. (si la ligne à suivre est noire, sinon c'est l'inverse)
Pour finir, voici ma synthèse et mon programme mBlock en pièce jointe ;)