Ligne 1 : |
Ligne 1 : |
| {{Rasp-Hat-Moteur-NAV}} | | {{Rasp-Hat-Moteur-NAV}} |
| | | |
− | {{traduction}} | + | {{ADFImage|Rasp-Hat-Moteur-Empiler-les-Hats-00.jpg|640px}} |
| + | |
| + | Une des choses intéressantes prévue dans la conception du HAT est qu'il est est possible de les empiler. Chaque HAT est capable de contrôler deux moteurs pas-à-pas ou 4 moteurs continu (ou un mix des deux). |
| + | |
| + | Il est possible d'empiler jusqu'à 32 HATs pour un total de 64 moteurs pas-à-pas ou 128 moteurs continu! La plupat des utilisateurs n'aurons probablement besoin que d'empiler 2 ou 3 d'entre eux... mais on ne sait jamais. (PS: Envoyez nous une photo si, un jour, vous pilotiez 64 moteurs pas-à-pas depuis un Raspberry-Pi) |
| + | |
| + | {{pl|580|Si vous avez également de nombreux servo-moteurs à contrôler, vous pouvez empiler un {{pl|580|HAT servo pour Raspberry-Pi}} avec ce HAT. Cela permet, en plus, de contrôler beaucoup de servo-moteurs.}} |
| + | |
| + | Empiler les HAT est vraiment très simple. {{pl|485|Chaque HAT à empiler doit être équipé d'un stacking header}}. Le HAT du haut ne doit pas nécessairement avoir de stacking header sauf si vous comptez ajouter un autre HAT par dessus. |
| + | |
| + | La seule chose à laquelle il faut être attentif c'est que chaque carte dispose d'une adresse I2C unique. L'adresse par défaut du HAT est '''0x60''', adresse que vous pouvez ajuster de 0x60 à 0x80 (soit un total de 32 adresses uniques). |
| + | |
| + | == Modifier l'adresse d'un HAT == |
| + | Chaque carte dans la pile (empilement de carte) doit recevoir une adresse unique. C'est fait à l'aide des cavalier d'adresse visible sur la partie gauche de la carte. L'adresse de base est 0x60. La valeur binaire qui est programmée avec les cavaliers d'adresse vient s'ajouter à l'adresse I2C de base de la carte. |
| + | |
| + | Pour programmer le décalage d'adresse, utilisez une pointe de soudure pour ponter chaque "cavalier binaire" (1) de l'adresse. |
| + | |
| + | Le cavalier le plus en bas (A0) est le bit numéro 0. Puis, au dessus, le bit de numéro 1 (A1) et ainsi de suite jusqu'au bit numéro 5 (A5). |
| + | |
| + | {{ADFImage|Rasp-Hat-Moteur-Empiler-les-Hats-01.jpg|640px}} |
| + | |
| + | Voici un exemple d'empilement de 5 cartes (avec modification d'adresse binaire). |
| + | * Carte 0: Adresse = 0x60 Décalage binaire = 0000 (pas de pontage requis) |
| + | * Carte 1: Adresse = 0x61 Décalage binaire = 0001 (pontage de A0) |
| + | * Carte 2: Adresse = 0x62 Décalage binaire = 0010 (pontage de A1, celui au dessus de A0 '''mais pas''' A0) |
| + | * Carte 3: Adresse = 0x63 Décalage binaire = 0011 (pontage de A0 et A1) |
| + | * Carte 4: Adresse = 0x64 Décalage binaire = 0100 (pontage de A2, celui du milieu '''mais pas''' de A1 et A0) |
| + | etc. |
| + | |
| + | {{ambox-stop|text=Attention: l'adresse 0x70 est une adresse broadcast I2C ("''appelle tout le monde''"). Toutes les cartes répondront à l'adresse 0x70 et ce quelque soit leur configuration d'adresse.}} |
| + | |
| + | == Empiler (le code) == |
| + | We have an example in our Python library called StackingTest.py |
| + | |
| + | The key part is to create two MotorHAT objects: |
| + | |
| + | <syntaxhighlight lang="python"> |
| + | # bottom hat is default address 0x60 |
| + | bottomhat = Adafruit_MotorHAT(addr=0x60) |
| + | # top hat has A0 jumper closed, so its address 0x61 |
| + | tophat = Adafruit_MotorHAT(addr=0x61) |
| + | </syntaxhighlight> |
| + | |
| + | then use other of those for getting motors. We recommend using threading for control of the steppers to make them turn together |
| | | |
| {{Rasp-Hat-Moteur-TRAILER}} | | {{Rasp-Hat-Moteur-TRAILER}} |