Différences entre versions de « Hack-micropython-Robot2Wheel-Code »

De MCHobby - Wiki
Sauter à la navigation Sauter à la recherche
Ligne 2 : Ligne 2 :
  
 
== Bibliothèque r2wheel et hbridge ==
 
== Bibliothèque r2wheel et hbridge ==
{{bloc-etroit|text=Le code permettant de faire fonctionner cette plateforme est disponible sur [https://github.com/mchobby/pyboard-a-roulette GitHub dans le projet PyBoard-a-Roulette].
+
Le code permettant de faire fonctionner cette plateforme est disponible sur [https://github.com/mchobby/pyboard-a-roulette 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 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]
Ligne 15 : Ligne 15 :
 
** Comme pour {{fname|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.
 
** Comme pour {{fname|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 {{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__()}}
 
}}
 
  
 
=== Robot2Wheel ===
 
=== Robot2Wheel ===

Version du 25 janvier 2016 à 22:04


MCHobby investit du temps et de l'argent dans la réalisation de traduction et/ou documentation. C'est un travail long et fastidieux réalisé dans l'esprit Open-Source... donc gratuit et librement accessible.
SI vous aimez nos traductions et documentations ALORS aidez nous à en produire plus en achetant vos produits chez MCHobby.

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

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.