issue114:python
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
issue114:python [2016/11/17 15:00] – d52fr | issue114:python [2016/11/18 12:27] (Version actuelle) – auntiee | ||
---|---|---|---|
Ligne 5: | Ligne 5: | ||
The control signals are expected in a very specific “format”, | The control signals are expected in a very specific “format”, | ||
- | Ce mois-ci, nous allons interfacer un servo-moteur à notre RPi. Ceci ne requiert | + | Ce mois-ci, nous allons interfacer un servo-moteur à notre RPi. Il ne faut qu'un servo-moteur, |
- | Un servo-moteur est simplement un moteur qui a un circuit de commande et un potentiomètre pour donner au circuit de commande la position de l'axe de sortie. La PLUPART des servos feront tourner leur axe entre 0° et 180°. Quelques uns vont jusqu' | + | Un servo-moteur est simplement un moteur qui a un circuit de commande et un potentiomètre pour donner au circuit de commande la position de l'axe de sortie. La PLUPART des servos feront tourner leur axe entre 0 ° et 180 °. Quelques-uns vont jusqu' |
- | Les signaux de commande sont attendus sous une « forme » très spécifique et nous utiliserons PWM ( Pulse Width Modulation - Modulation de largeur d' | + | Les signaux de commande sont attendus sous une « forme » très spécifique et nous utiliserons PWM ( Pulse Width Modulation - Modulation de largeur d' |
**The Wiring | **The Wiring | ||
Ligne 31: | Ligne 31: | ||
Les connexions sont très simples ce mois-ci. Le bloc de piles alimente le moteur, de sorte que la tension + sur le servo aille sur la ligne + et que le fil négatif du servo aille sur le ligne -. Nous connectons la tension négative du bloc de piles (ligne négative) sur le picot 6 du RPi. Le picot 23 de GPIO (picot 16) est relié au fil de commande du servo. | Les connexions sont très simples ce mois-ci. Le bloc de piles alimente le moteur, de sorte que la tension + sur le servo aille sur la ligne + et que le fil négatif du servo aille sur le ligne -. Nous connectons la tension négative du bloc de piles (ligne négative) sur le picot 6 du RPi. Le picot 23 de GPIO (picot 16) est relié au fil de commande du servo. | ||
- | Maintenant, un peu de maths. Comme nous en avons parlé | + | Maintenant, un peu de maths. Comme nous avons dit précédemment, |
Pwm = GPIO.pwm({RPi Pin}, | Pwm = GPIO.pwm({RPi Pin}, | ||
Ligne 66: | Ligne 66: | ||
This should put the rotor into the centre position (90°). If you have changed the first number or the next number, this will have to change as well.** | This should put the rotor into the centre position (90°). If you have changed the first number or the next number, this will have to change as well.** | ||
- | Notre premier programme commencera au voisinage de 0° et se déplacera à proximité de 90° puis ira jusqu' | + | Notre premier programme commencera au voisinage de 0 ° et se déplacera à proximité de 90 ° puis ira jusqu' |
Servo1.py | Servo1.py | ||
Ligne 81: | Ligne 81: | ||
sleep(5) | sleep(5) | ||
- | 3 vous donnera le premier angle. Vous pourriez avoir à essayer avec 2, 1, 0 ou 4 pour y parvenir. | + | 3 vous donnera le premier angle, mais vous pourriez avoir à essayer avec 2, 1, 0 ou 4 pour y parvenir. Notez bien ce numéro. |
pwm.ChangeDutyCycle(6) | pwm.ChangeDutyCycle(6) | ||
Ligne 87: | Ligne 87: | ||
sleep(5) | sleep(5) | ||
- | Ceci devrait placer le rotor en position centrale (90°). Si vous avez modifié le premier chiffre ou le suivant, celui-ci devra aussi être changé. | + | Ceci devrait placer le rotor en position centrale (90 °). Si vous avez modifié le premier chiffre ou le suivant, celui-ci devra aussi être changé. |
**pwm.ChangeDutyCycle(12) | **pwm.ChangeDutyCycle(12) | ||
Ligne 105: | Ligne 105: | ||
sleep(5) | sleep(5) | ||
- | Le dernier chiffre devrait vous amener | + | Le dernier chiffre devrait vous amener |
GPIO.cleanup() | GPIO.cleanup() | ||
Ligne 111: | Ligne 111: | ||
Enfin, nous appelons GPIO.cleanup() pour un retour à la normale. | Enfin, nous appelons GPIO.cleanup() pour un retour à la normale. | ||
- | Maintenant arrive le gros morceau de maths. Nous utiliserons les valeurs 3 et 12 pour y1 et y2 respectivement dans la formule. Remplacez-les par vos propres | + | Maintenant arrive le gros morceau de maths. Nous utiliserons les valeurs 3 et 12 pour y1 et y2 respectivement dans la formule. Remplacez-les par vos propres |
**Offset = (y2-y1)/ | **Offset = (y2-y1)/ | ||
Ligne 135: | Ligne 135: | ||
Offset = .05 | Offset = .05 | ||
- | Maintenant, si nous réglons le rapport cyclique pour un angle entre 0° et 180°, nous utilisons la formule suivante | + | Maintenant, si nous réglons le rapport cyclique pour un angle entre 0 ° et 180 °, nous utilisons la formule suivante |
DutyCycle = (Offset * angle) + 2.0 | DutyCycle = (Offset * angle) + 2.0 | ||
Ligne 141: | Ligne 141: | ||
DutyCycle = (.05 * angle) + 2.0 | DutyCycle = (.05 * angle) + 2.0 | ||
- | Quand je l'ai fait, ça a fonctionné, mais j'ai trouvé que la valeur de 0,061 marchait un petit peu mieux. | + | Quand je l'ai fait, ça fonctionnait, mais j'ai trouvé que la valeur de 0,061 marchait un petit peu mieux. |
- | Voilà, c'est tout pour ce mois. La prochaine fois, nous travaillerons avec un moteur pas-à-pas, une sorte de croisement entre un servo et un moteur ordinaire. | + | Voilà, c'est tout pour ce mois-ci. La prochaine fois, nous travaillerons avec un moteur pas-à-pas, une sorte de croisement entre un servo et un moteur ordinaire. |
- | Jusque là, amusez-vous bien ! | + | Jusque-là, amusez-vous bien ! |
issue114/python.1479391227.txt.gz · Dernière modification : 2016/11/17 15:00 de d52fr