|
|
(220 révisions intermédiaires par 4 utilisateurs non affichées) |
Ligne 1 : |
Ligne 1 : |
− | {{Sommaire à droite}}
| + | __NOTOC__ |
− | [[Utilisateur:Louis BERNOT|Louis BERNOT Ste A4 Bureau d'etudes]] ([[Discussion utilisateur:Louis BERNOT|discussion]]) 15 juillet 2016 à 11:36 (CAT)<br> | + | [https://www.a4.fr/robotique-programmation/robots-programmables/toute-la-gamme-a4-technologie/loupiot.html Voir les caractéristiques complètes du robot Loupiot] |
− | [[Fichier:EnConstruction.png|500px]] | + | [[File:VIdeo-Loupiot3.jpg|thumb|250px|Vidéo de présentation]] |
− | == '''INTRODUCTION''' ==
| + | |
− | <!--<div style="margin-left:5%;border-left:1px solid #aaa;padding-left: 10px;">-->
| + | |
| | | |
− | [[File:example.jpg|thumb|300px|Robot Loupiot Prototype avec option ultrasons]]
| + | === '''Découvrez le Loupiot''' === |
− | Robot Loupiot est un petit robot dit "de table" conçu pour évoluer sur une feuille de format A4 ou A3. Sa petite taille en fait un parfait robot de classe. Basé sur un microcontrôleur '''PICAXE 20M2''', il peut être codé à partir de Picaxe Editor 6 sur '''Blockly''' ([http://www.picaxe.com/Software/PICAXE/PICAXE-Editor-6/ téléchargeable ici]) rapidement et de manière intuitive. Le code produit peut ensuite être transféré dans le robot en quelques secondes pour voir le résultat !
| + | *[https://youtu.be/isRCgpSnEHQ Vidéo de présentation] |
| | | |
− | Dimensions : Ø 7,5 cm x h. 3,8 cm.<br>
| |
− | Alimentation : 4,5 V (baisse en fonction de l'usure des batteries). <br>
| |
− | Très haute autonomie (1 à 3 heures selon l'utilisation et les 3 piles AAA choisies). <br><br>
| |
| | | |
− | === Les capteurs et actionneurs du robot === | + | === '''Fichiers 3D''' === |
| + | * [https://www.a4telechargement.fr/Loupiot/K-LP-V2_3D.zip Fichiers 3D du LouPiot et de ses options (SolidWorks, eDrawings, ParaSolid, STL)] |
| + | [[File:K-LP-NOTICE_Piste_Demonstration_01.2018_Page_1.jpg|thumb|250px|Piste de démo]] |
| | | |
− | <u>''' De base: '''</u><br>
| |
− | *'''Suivi de ligne :''' Composé de trois capteurs optiques sensibles aux infrarouges. Le robot peut détecter une bande ou une surface noire si celle-ci est assez opaque et large. Note: la sensibilité peut se régler à partir d'un potentiomètre sur le robot.([[#SUIVI DE LIGNE|Voir son fonctionnement ici.]]) <br><br>
| |
− | *'''Pont en H :''' Il permet de gérer la vitesse et le sens de chaque moteur indépendamment ([[#CONTROLER LES MOTEURS DU ROBOT LOUPIOT|Voir son fonctionnement ici.]]).<br><br>
| |
− | *'''LED :''' Le robot Loupiot possède 3 LED programmables et 8 LED témoins. <br> Deux LED programmables (oranges) sont placées à l’arrière du robot à gauche et à droite. Elles servent de clignotants mais l'utilisateur peut les utiliser différemment. La troisième LED programmable (rouge) sert de témoin en cas de batterie faible. <br>Pour les LED non programmables, une sert de témoin On/Off et les autres d'indication de l'état du pont en H (LED bleues) et du capteur suivi de ligne (LED oranges).
| |
− | [[File:ledProgArr.jpg|frameless|none|500px]]
| |
− | <u>''' En Option: '''</u>
| |
− | *'''Capteur Ultrasons:''' Permet d'effectuer des mesures de distance en mesurant le temps entre l'émission et la réception d'un son. Note: il mesure en cône, c'est à dire avec un angle d'émission. Il peut mesurer des obstacles jusqu’à 70-80 cm sans problème.<br><br>
| |
− | *'''Module Groove Bluetooth:''' Permet une communication Bluetooth entre le robot et un téléphone ou une tablette Android. Il est possible de créer une application soi-même sur l'environnement de développement [http://appinventor.mit.edu/explore/ APP Inventor] qui ressemble à Blockly dans sa logique du code bloc par bloc.([http://www.seeedstudio.com/wiki/Grove_-_Serial_Bluetooth_v3.0 Documentation technique ici])<br><br>
| |
− | *'''Capteur de proximité (Infrarouge):''' Détecte les obstacles à moins de 5 cm devant lui. <br><br>
| |
− | [[File:LoupiotOption.jpg|thumb|none|700px|Le robot Loupiot avec toutes ses options (de gauche à droite : ultrasons, infrarouge, Bluetooth Groove)]]
| |
| | | |
− | ===''' Récapitulatif du branchement du Picaxe 20M2'''=== | + | === '''Programmation en algorigrammes et en blocs avec Editor 6''' === |
− | <br>
| + | * [https://www.a4telechargement.fr/Loupiot/D-LP-V2_Dossier_03-2018.pdf Dossier technique et de programmation] |
− | [[File:branchementLoupiotPicaxe.jpg|none|750px|Branchement Picaxe 20M2]]<br> | + | * [https://www.a4telechargement.fr/Loupiot/K-LP-V2_Programmes-Editor-Blockly.zip Programmes sous Editor 6 et App Inventor] |
| + | * [https://www.a4telechargement.fr/Loupiot/K-LP-V2_Pistes-Feuilles_activites.zip Pistes à imprimer utilisées pour les activités de programmation] |
| + | * [[PICAXE_Editor|Environnement de programmation Editor 6]] |
| | | |
− | == '''CONTROLER LES MOTEURS DU ROBOT LOUPIOT''' ==
| |
− | <br>
| |
− | Pour commencer, je vous conseille de vous familiariser avec le principe général du pont en H qui est très bien expliqué sur [https://openclassrooms.com/courses/programmez-vos-premiers-montages-avec-arduino/le-moteur-a-courant-continu-partie-2-le-pont-en-h-et-les-circuits-integres ce site].<br>
| |
− | Grâce à ce composant, nous allons pouvoir faire avancer/reculer/freiner/accélérer et décélérer le robot en contrôlant chaque moteur séparément.<br><br>
| |
| | | |
− | === '''Fonctionnement''' === | + | === '''Piste et programmes de démonstration''' === |
− | Le pont en H possède deux côtés : un droit et un gauche, contrôlant chacun un seul moteur grâce à 3 broches (pattes du Picaxe):
| + | * [https://www.a4telechargement.fr/Loupiot/K-LP-NOTICE_Piste_Demonstration_01.2018.pdf Piste de démo (à imprimer) et notice d'utilisation] |
− | *Deux broches digitales (étant à l'état haut ou bas) pour contrôler le sens du moteur. C'est une commande désactiver / activer la sortie qu'il faut appliquer aux sorties du Picaxe.<br>Pour le robot Loupiot, le sens du moteur droit est contrôlé par les broches C.2 et C.1, et le sens du moteur gauche par B.2 et B.3. <br>Ci-dessous un exemple du bloc Blockly à utiliser. | + | * [https://www.a4telechargement.fr/Loupiot/K-LPV2_Programme_demo_V4.zip Programme de démo (version x) préchargé dans le Loupiot V2] |
− | [[Fichier:pinExMot.png|thumb|none|800px]] | + | * [https://www.a4telechargement.fr/Loupiot/K-LPV2_App_test_bluetooth.zip Application App Inventor pour tester l'option Bluetooth du Loupiot V2] |
| | | |
− | *Une broche analogique (pouvant prendre une valeur '''PWM''' de 0 à 1024) pour contrôler la vitesse. C'est une commande de PWM qu'il faut appliquer aux sorties du Picaxe.<br>Sur le robot Loupiot, la vitesse du moteur droit se règle à partir de la broche C.3 et celle du moteur gauche à partir de B.1.<br>Ci-dessous un exemple du bloc Blockly à utiliser.
| |
− | [[Fichier:CommandePwmEx.png|thumb|800px|none]]
| |
| | | |
− | *Tableau récapitulatif du contrôle par le Picaxe du pont en H:
| + | [[File:S-EXOPROG-LP_montage.jpg|thumb|250px|Cartes ExoProg Loupiot]] |
− | {| border="1" style="border-collapse:collapse"| class="wikitable"
| + | ===''' Cartes d'activités ExoProg Loupiot'''=== |
− | ! scope="row" colspan="7"|Contrôle du pont en H
| + | Chaque fiche exercice présente une fonction du Loupiot, ses principales caractéristiques, le(s) instruction(s) utilisée(s) pour l’exploiter et 3 exercices de difficulté progressive. |
− | |-
| + | *[https://www.a4telechargement.fr/Loupiot/S-EXOPROG-LP_Activites-Programmation.zip Activités de programmation avec Editor6] |
− | | | + | *[https://www.a4telechargement.fr/Loupiot/S-EXO-PROG-LP1_Programmes.zip Programmes réalisés sous Editor6 correspondant aux exercices de programmation] |
− | ! scope="row" colspan="3"|Moteur Gauche
| + | |
− | ! scope="row" colspan="3"|Moteur Droit
| + | |
− | |-
| + | |
− | ! scope="row" |Broches Utilisées
| + | |
− | ! scope="row" |B.2
| + | |
− | ! scope="row" |B.3
| + | |
− | ! scope="row" |B.1
| + | |
− | ! scope="row" |C.1
| + | |
− | ! scope="row" |C.2
| + | |
− | ! scope="row" |C.3
| + | |
− | |-
| + | |
− | ! scope="row" |Marche Avant
| + | |
− | |activé
| + | |
− | |désactivé
| + | |
− | |rowspan="3"|Vitesse<br>PWM: 0-1024
| + | |
− | |activé
| + | |
− | |désactivé
| + | |
− | |rowspan="3"|Vitesse<br>PWM: 0-1024
| + | |
− | |-
| + | |
− | ! scope="row" |Marche Arrière
| + | |
− | |désactivé
| + | |
− | |activé
| + | |
− | |désactivé
| + | |
− | |activé
| + | |
− | |-
| + | |
− | ! scope="row" |Arrêt Moteur
| + | |
− | |activé
| + | |
− | |activé
| + | |
− | |activé
| + | |
− | |activé
| + | |
− | |}
| + | |
− | <br>
| + | |
| | | |
− | === '''Leds témoins et premiers exemples d'utilisation ''' ===
| |
| | | |
− | Directement branchées sur les broches de contrôle du pont en H (sauf ceux pour la vitesse), des LED témoins servent d'aide pour mieux visualiser la configuration du pont en H.<br>
| + | === '''Exemple d'utilisation - Jeu Mark Wars Game''' === |
− | Ci-dessous, plusieurs exemples permettent de voir ces LED témoins. Le premier exemple montre toutes les LED activées car il s'agit ici de stopper le robot (comme le montre le tableau ci-dessus).<br>
| + | * Vidéo d'explication des règles du jeu en anglais : https://www.youtube.com/watch?v=fIVHrzZINBo&feature=youtu.be |
− | Dans le deuxième exemple, seules les deux LED de devant sont activées, ce qui veut dire que B.3 et C.2 sont à l'état bas et B.2 et C.1 sont à l'état haut. Si on regarde le tableau récapitulatif ci-dessus, on voit que cette configuration fait tourner les deux moteurs vers l'avant et le robot avancera.<br>
| + | * Vidéo montrant les différentes étapes de la conception du jeu : https://www.youtube.com/watch?v=uQ14ryUW34M&feature=youtu.be |
− | Le dernier exemple est l'inverse du second, ce qui donne un robot reculant.<br>
| + | * Page facebook du jeu : https://www.facebook.com/MarkWarsGame/ |
− | '''''Note: Activer et désactiver les broches dans un certain ordre ne suffit pas à faire bouger le robot: il faut aussi penser à régler la vitesse de chaque moteur comme vu ci-dessus avec la commande de PWM sur C.3 et B.1.'''''
| + | |
− | <div><ul>
| + | |
− | <li style="display: inline-block;"> [[File:Stop.jpg|thumb|none|400px|'''Exemple: Toutes les broches activées = STOP''']] </li>
| + | |
− | <li style="display: inline-block;"> [[File:AvancerEx.jpg|thumb|none|400px|'''Exemple: avancer''']] </li>
| + | |
− | <li style="display: inline-block;"> [[File:ReculerEx.jpg|thumb|none|400px|'''Exemple: reculer''']] </li>
| + | |
− | </ul></div>
| + | |
| | | |
− | === '''Les différentes façons de tourner ''' ===
| |
| | | |
− | Il n'y a pas de roues directrices sur le robot Loupiot, donc pour tourner, nous allons devoir utiliser le pont en H. Il faudra jouer avec les deux moteurs pour créer une rotation. Pour ce faire, il y a plusieurs techniques possibles:
| + | === '''Archives''' === |
− | *Si on ne souhaite pas toucher à la vitesse des moteurs, la première solution est d'inverser le sens d'un des moteurs. Cette technique est la plus efficace, mais le robot n'avance plus lors de sa rotation! ''Voir figure 1 ci-dessous.''
| + | *Programmation à la voix : [https://www.a4telechargement.fr/Loupiot/KD-LP-VOIX_Notice_09.2018.pdf Notice d'utilisation] / [https://www.a4telechargement.fr/Loupiot/KD-LP-VOIX_Programmes-Editor.zip Programmes sous Editor6 et App Inventor] / [https://www.a4telechargement.fr/Loupiot/K-LPV2-Application_Micropiste_Piste_032018.pdf Piste A3 à imprimer] |
− | *Si on ne veut pas toucher au sens de rotation des moteurs, on peut créer une différence de vitesse entre eux pour provoquer la rotation. Cette technique est moins efficace que la première mais le robot continue d'avancer pendant la rotation. ''Voir figure 2 ci-dessous.'' | + | * Loupiot v1 : [https://www.a4telechargement.fr/Loupiot/D-LP-V1_V04_10_2017.pdf Notice de programmation avec Blockly] / [https://www.a4telechargement.fr/Loupiot/K-LP-V1_NOTICE.pdf Notice d'utilisation de la piste de démonstration] / [https://www.a4telechargement.fr/Loupiot/K-LP_Programmes_Loupiot_V1.zip Programmes sous Blockly]/[https://www.a4telechargement.fr/Loupiot/K-LP_Coque_SW_STL_V1.zip Fichiers 3D et STL pour les coques et le capot de la batterie] |
− | *La dernière est un peu plus spéciale car il s'agit de stopper un des deux moteurs. On peut soit toucher à la vitesse soit aux broches de contrôle du moteur. C'est un bon compromis car le robot tourne presque aussi bien que la première méthode et il avance quand même un peu en tournant. ''Voir figure 3 ci-dessous. Note: dans l'exemple, on touche aux broches de contrôle et non à la vitesse pour stopper le moteur!''
| + | |
− | Quoi qu'il en soit, il n'y a pas vraiment de meilleure manière de tourner avec le robot. Il faudra adapter la méthode au besoin du programme.
| + | |
− | | + | |
− | <div><ul>
| + | |
− | <li style="display: inline-block;">[[File:tourne1.jpg|none|thumb|400px|'''Inversement du sens de rotation d'un moteur''' ''(figure1)'']]</li>
| + | |
− | <li style="display: inline-block;">[[Fichier:tourne1Code.png|thumb|none|800px|Exemple de code associé]]</li>
| + | |
− | </ul> </div>
| + | |
− | <div><ul>
| + | |
− | <li style="display: inline-block;">[[File:tourne2.jpg|none|thumb|400px|'''Différence de vitesse moteur''' ''(figure2)'']]</li>
| + | |
− | <li style="display: inline-block;">[[Fichier:tourne2Code.png|thumb|none|800px|Exemple de code associé]]</li>
| + | |
− | </ul> </div>
| + | |
− | <div><ul>
| + | |
− | <li style="display: inline-block;">[[File:tourne3.jpg|none|thumb|400px|'''Blocage d'un des moteurs''' ''(figure3)'']]</li>
| + | |
− | <li style="display: inline-block;">[[Fichier:tourne3Code.png|thumb|none|800px|Exemple de code associé]]</li>
| + | |
− | </ul> </div>
| + | |
− | | + | |
− | == '''SUIVI DE LIGNE''' ==
| + | |
− | <br>
| + | |
− | Le suivi de ligne du robot Loupiot est un ensemble de trois capteurs infrarouge.<br>
| + | |
− | Un capteur infrarouge possède un émetteur et un récepteur. L’émetteur envoie une lumière infrarouge qui en temps normal est réfléchie par un objet puis est reçue par le récepteur. Mais s'il n'y a pas d'objet, cette lumière est absorbée et le récepteur ne reçoit plus rien.<br>Dans le cas du suivi de ligne, c'est la surface blanche qui réfléchit la lumière et quand il y a une surface noire suffisamment opaque et large, cette lumière est absorbée.<br> Pour voir quand le récepteur reçoit ou non la lumière émise, des LED témoins sont placées au dessus des capteurs. Elles s'allument quand ils ne la reçoivent plus.<br>Grâce au trois capteurs, on peut suivre une ligne en recherchant le capteur ne détectant plus la lumière émise et donc étant sur la ligne noire.<br>
| + | |
− | La sensibilité de tous les capteurs infrarouges peut se régler grâce à un potentiomètre. '''Attention:''' Le potentiomètre doit être réglé doucement avec un tournevis plat de 2,5 mm bien enclenché dans la fente prévue sur le potentiomètre! Pour le régler, placez-le sur la surface où il va se déplacer. Tournez le potentiomètre jusqu'à ce que toutes les leds s'allument puis continuez de tourner doucement pour toutes les éteindre. Quand elles le sont, tournez encore un petit peu par sécurité et c'est fait!
| + | |
− | <div><ul>
| + | |
− | <li style="display: inline-block;">[[File:suiviDeLigne.jpg|thumb|none|x300px|'''Les trois capteurs infrarouges et les broches associées''']]</li>
| + | |
− | <li style="display: inline-block;">[[File:potentiometreEx.jpg|thumb|none|x300px|'''Réglage du potentiomètre''']]</li>
| + | |
− | <li style="display: inline-block;">[[File:ledsTemoins.jpg|thumb|none|x300px|'''Les trois leds témoins''']]</li>
| + | |
− | </ul></div>
| + | |
− | | + | |
− | ==='''Exemple de fonctionnement '''===
| + | |
− | <br>
| + | |
− | Pour savoir si une ligne se trouve en dessous d'un des capteurs infrarouges, il va falloir interroger la broche du Picaxe 20M2 reliée à son récepteur. Si la broche est activée, c'est qu'il y a effectivement une ligne noire sous ce capteur. Si la broche n'est pas activée, il n'y a rien en dessous ! Ci-dessous le code Blockly à utiliser pour interroger les broches du Picaxe 20M2.
| + | |
− | [[File:CodeExBroche.jpg|thumb|none|x350px|'''Exemple: On interroge le capteur 3 et on effectue une action selon le resultat. ''']]<br><br>
| + | |
− | <div><ul>
| + | |
− | <li style="display: inline-block;">[[File:ligneOFF.jpg|thumb|none|x350px|'''Le robot n'est pas encore sur la ligne= les LED ne sont pas allumées= le récepteur reçoit.''']]</li>
| + | |
− | <li style="display: inline-block;">[[File:ligneON.jpg|thumb|none|x350px|'''Le robot est sur la ligne noire= les LED sont allumées= le récepteur ne reçoit plus rien.''']]</li>
| + | |
− | </ul></div>
| + | |
− | | + | |
− | == '''Le capteur Ultrason''' ==
| + | |
− | | + | |
− | [[File:ultraSonConne.jpg|thumb|none|500px|Ultrasons]]
| + | |
− | | + | |
− | == '''Coder avec le robot Loupiot''' ==
| + | |
− | <br>
| + | |
− | Si vous avez bien compris comment fonctionne les différents capteurs et actionneurs du robot, vous pouvez voir ici des exemples de codes Blockly fonctionnels de plusieurs niveaux:
| + | |
− | *'''Niveau 1:''' [[La danse du robot Loupiot]] (récapitulatif dans actions principales: avancer, reculer...)
| + | |
− | | + | |
− | == '''Annexes''' ==
| + | |
− | [[Fichier:K-LP-Schématic.jpg|thumb|none|1000px|'''Schéma du circuit robot Loupiot (cliquer deux fois pour agrandir l'image)''' ]]
| + | |
Chaque fiche exercice présente une fonction du Loupiot, ses principales caractéristiques, le(s) instruction(s) utilisée(s) pour l’exploiter et 3 exercices de difficulté progressive.