Différences entre versions de « Hack-micropython-Robot2Wheel-Code »
Ligne 6 : | Ligne 6 : | ||
Pour les détails, vous pouvez explorer le dépôt ici: [https://github.com/mchobby/pyboard-a-roulette https://github.com/mchobby/pyboard-a-roulette] | Pour les détails, vous pouvez explorer le dépôt ici: [https://github.com/mchobby/pyboard-a-roulette https://github.com/mchobby/pyboard-a-roulette] | ||
− | Le fonctionnement de la plateforme robotique | + | Le fonctionnement de la plateforme robotique repose sur deux classes de base (bibliothèque [https://github.com/mchobby/pyboard-a-roulette/blob/master/libraries/r2wheel/hbridge.py hbridge.py]): |
* La classe {{fname|HBridge}} pour le contrôle d'un simple pont-H (donc un moteur dans les deux sens) | * La classe {{fname|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 {{fname|forward()}}, arrière {{fname|backward()}} et l'arrêt {{fname|halt()}} d'un moteur. | ** Cette première classe permet de contrôler la marche avant {{fname|forward()}}, arrière {{fname|backward()}} et l'arrêt {{fname|halt()}} d'un moteur. | ||
Ligne 15 : | Ligne 15 : | ||
** 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 {{fname|DualHBridge.__init__()}} | ** 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 {{fname|DualHBridge.__init__()}} | ||
+ | La plateforme Robotique 2 Wheel utilise la classe {{fname|Robot2Wheel}} (bibliothèque [https://github.com/mchobby/pyboard-a-roulette/blob/master/libraries/r2wheel/r2wheel.py r2wheel.py]. | ||
+ | |||
+ | {{fname|Robot2Wheel}} étend la classe {{fname|DualHBridge}} et offre des fonctionnalités supplémentaires bien pratique: | ||
+ | * Utilise la définition des broches tel que décrit dans le [[Hack-micropython-Robot2Wheel-Montage|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 {{fname|reverse_mot1 = True}} / {{fname|reverse_mot2 = True}}.<br />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 {{fname|forward()}} | ||
+ | * L'option {{fname|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.<br />Bigrement pratique si votre robot tourne à gauche lorsque vous lui demandez de tourner à droite avec {{fname|turn( Robot2Wheel.RIGHT_ROTATE )}}. | ||
}} | }} | ||
Version du 25 janvier 2016 à 21:47
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
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__()
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 {{{1}}} / {{{1}}}.
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 {{{1}}} 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 ).
Installer
En cours de traduction/élaboration. |
Tester
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.