Différences entre versions de « Hack-micropython-Robot2Wheel-Code »
(→Tester) |
(→Tester) |
||
Ligne 46 : | Ligne 46 : | ||
[[Fichier:Hack-micropython-Robot2Wheel-Code-00.jpg|640px]] | [[Fichier:Hack-micropython-Robot2Wheel-Code-00.jpg|640px]] | ||
+ | |||
+ | Maintenant que {{fname|hbridge.py}} et {{fname|r2wheel.py}} sont installés sur votre PyBoard, nous allons pouvoir passer à la suite. | ||
== Tester == | == Tester == | ||
− | |||
− | |||
− | |||
+ | # Assurez-vous d'avoir suivit [[Hack-micropython-Robot2Wheel-Montage|les instructions de montages proposées ici]]. | ||
+ | # Placez vos piles dans le bloc pile pour disposer de puissance moteur. | ||
+ | # N'alimentez pas le votre PyBoard via le bloc pile (le switch). | ||
+ | # Assurez-vous d'avoir branché votre PyBoard sur votre ordinateur (et installé les fichiers {{fname|hbridge.py}} et {{fname|r2wheel.py}} ). | ||
+ | # Démarrer [[MicroPython-Hack-REPL|une session REPL]] avec votre PyBoard pour tester notre montage. | ||
{{traduction}} | {{traduction}} |
Version du 28 janvier 2016 à 19:45
Bibliothèque r2wheel et hbridge
Le code permettant de faire fonctionner cette plateforme est disponible sur GitHub dans le projet PyBoard-a-Roulette.
Pour les détails, vous pouvez explorer le dépôt ici: https://github.com/mchobby/pyboard-a-roulette
HBridge & DualHBridge
Le fonctionnement de la plateforme robotique repose sur deux classes de base (bibliothèque hbridge.py):
- La classe HBridge pour le contrôle d'un simple pont-H (donc un moteur dans les deux sens)
- Cette première classe permet de contrôler la marche avant forward(), arrière backward() et l'arrêt halt() d'un moteur.
- Elle permet également de configurer un signal PWM pour contrôler la vitesse d'un moteur entre 0 et 100% (de cycle utile)
- La classe DualHBridge pour le contrôle des deux pont-H du L293D (donc deux moteur dans les deux sens)
- Cette seconde classe prend le contrôle de deux moteurs pour faire avancer forward(), reculer backward() et arrêter halt() les deux moteurs en une seule fois.
- Comme pour HBridge, il est possible de préciser la vitesse des moteurs (entre 0 et 100%). Si une seule vitesse est précisée alors deux moteurs sont utilise la même vitesse.
- Cerise sur le gâteau, cette classe permet de gérer la dérive de la plateforme en ralentissant volontairement l'un ou l'autre des moteurs d'un certain pourcentage. Voyez DualHBridge.__init__()
Robot2Wheel
La plateforme Robotique 2 Wheel utilise la classe Robot2Wheel (bibliothèque r2wheel.py.
Robot2Wheel étend la classe DualHBridge et offre des fonctionnalités supplémentaires bien pratique:
- Utilise la définition des broches tel que décrit dans le plan de raccordement
- Permet d'inverser la commande de marche-avant/marche-arrière du moteur 1 / moteur 2 au moment de la création de l'objet avec reverse_mot1 = True / reverse_mot2 = True.
Il n'est donc pas nécessaire de modifier votre câblage moteur si l'un des moteurs devait tourner à l'envers lors de l'exécution de forward() - L'option fix_rotate = True lors de la création de l'objet permet également d'inverser moteur 1 et moteur 2 sur la plateforme sans devoir démonter votre plateforme.
Bigrement pratique si votre robot tourne à gauche lorsque vous lui demandez de tourner à droite avec turn( Robot2Wheel.RIGHT_ROTATE ).
Les méthodes héritées de la classe DualHBridge restent disponibles:
- forward( speed = 100, speed_2 = None )
Passe les deux moteurs en marche avant (100% de régime). Spécifier une valeur pour speed entre 0 et 100 pour modifier la vitesse des deux moteurs. Spécifier speed_2 pour avoir une vitesse différente pour le deuxième moteur. - backward( speed = 100, speed_2 = None )
Passe les deux moteurs en marche arrière (100% de régime). Spécifier une valeur pour speed entre 0 et 100 pour modifier la vitesse des deux moteurs. Spécifier speed_2 pour avoir une vitesse différente pour le deuxième moteur. - halt( self )
Arrête mes deux moteurs.
Robot2Wheel offre une méthode complémentaire pour permettre au robot de tourner (la façon de tourner est spécifique au nombre de roue du robot ;-) ).
- turn( direction, speed=100 )
Indique de quel côté et speed indique la vitesse moteur (0-100%) à laquelle la doit tourner.
Voici les différentes valeurs pour direction:- DualHBridge.RIGHT_ROTATE - Rotation à droite, sur place.
- DualHBridge.LEFT_ROTATE - Rotation à gauche, sur place.
- DualHBridge.RIGHT_BEND - Rotation en négociant un tournant sur la droite. Speed indique de combien il faut ralentir le moteur (0-100%) droit pour entamer le virage.
- DualHBridge.LEFT_BEND - Rotation en négociant un tournant sur la gauche. Speed indique de combien il faut ralentir le moteur (0-100%) gauche pour entamer le virage.
Installer
Vous pouvez télécharger la bibliothèque et les codes d'exemple directement depuis le dépôt GitHub du PyBoard-a-roulette
Copiez les fichiers hbridge.py et r2wheel.py dans le répertoire racine de votre PyBoard.
Maintenant que hbridge.py et r2wheel.py sont installés sur votre PyBoard, nous allons pouvoir passer à la suite.
Tester
- Assurez-vous d'avoir suivit les instructions de montages proposées ici.
- Placez vos piles dans le bloc pile pour disposer de puissance moteur.
- N'alimentez pas le votre PyBoard via le bloc pile (le switch).
- Assurez-vous d'avoir branché votre PyBoard sur votre ordinateur (et installé les fichiers hbridge.py et r2wheel.py ).
- Démarrer une session REPL avec votre PyBoard pour tester notre montage.
En cours de traduction/élaboration. |
Projet original réalisé par Meurisse D. pour MC Hobby SPRL
Toute référence, mention ou extrait de cette traduction doit être explicitement accompagné du texte suivant : « Traduction par MCHobby (www.MCHobby.be) - Vente de kit et composants » avec un lien vers la source (donc cette page) et ce quelque soit le média utilisé.
L'utilisation commercial de la traduction (texte) et/ou réalisation, même partielle, pourrait être soumis à redevance. Dans tous les cas de figures, vous devez également obtenir l'accord du(des) détenteur initial des droits. Celui de MC Hobby s'arrêtant au travail de traduction proprement dit.