Différences entre versions de « Rasp-Hack-Stepper-Logiciel »
(Une version intermédiaire par le même utilisateur non affichée) | |||
Ligne 12 : | Ligne 12 : | ||
ensuite «collez» le code suivant dans l'éditeur et sauvez-le à l'aide de CTRL-X et puis Y. | ensuite «collez» le code suivant dans l'éditeur et sauvez-le à l'aide de CTRL-X et puis Y. | ||
− | + | {{ADFImage|Rasp-Hack-Stepper-Soft-01.jpg|450px}} | |
Vous pouvez également utiliser la méthode décrite dans notre [[PI-Easy-Copy-Paste|tutoriel Pi-Copier/Pi-Coller]]. | Vous pouvez également utiliser la méthode décrite dans notre [[PI-Easy-Copy-Paste|tutoriel Pi-Copier/Pi-Coller]]. | ||
Ligne 18 : | Ligne 18 : | ||
# -*- coding: latin-1 -*- | # -*- coding: latin-1 -*- | ||
− | # | + | # Traduction |
− | # | + | # Contrôle de moteur pas-à-pas sur |
+ | # http://mchobby.be/wiki/index.php?title=Rasp-Hack-Stepper | ||
+ | # traduction CC-BY-SA par Meurisse D. pour www.mchobby.be | ||
+ | # avec autorisation d'AdaFruit Industries USA. | ||
+ | # | ||
+ | # Source: | ||
+ | # AdaFruit Industries USA, Réalisé par Simon Monk. | ||
+ | # | ||
import RPi.GPIO as GPIO | import RPi.GPIO as GPIO | ||
import time | import time | ||
Ligne 31 : | Ligne 38 : | ||
coil_B_2_pin = 24 | coil_B_2_pin = 24 | ||
+ | # Configuration des broches de sorties | ||
+ | # pour contrôle des bobines du moteur pas-à-pas | ||
GPIO.setup(enable_pin, GPIO.OUT) | GPIO.setup(enable_pin, GPIO.OUT) | ||
GPIO.setup(coil_A_1_pin, GPIO.OUT) | GPIO.setup(coil_A_1_pin, GPIO.OUT) | ||
Ligne 37 : | Ligne 46 : | ||
GPIO.setup(coil_B_2_pin, GPIO.OUT) | GPIO.setup(coil_B_2_pin, GPIO.OUT) | ||
+ | # Broche d'Activation (enabled) activée | ||
GPIO.output(enable_pin, 1) | GPIO.output(enable_pin, 1) | ||
+ | # | ||
+ | # Définir Marche AVANT | ||
+ | # | ||
+ | # Paramètres: | ||
+ | # delay - Délai d'attente entre deux activation de bobine. | ||
+ | # Influence la vitesse. | ||
+ | # steps - Nombre de pas à réaliser. | ||
+ | # | ||
def forward(delay, steps): | def forward(delay, steps): | ||
for i in range(0, steps): | for i in range(0, steps): | ||
− | setStep(1, 0, 1, 0) time.sleep(delay) | + | setStep(1, 0, 1, 0) |
− | setStep(0, 1, 1, 0) | + | time.sleep(delay) |
− | setStep(0, 1, 0, 1) | + | setStep(0, 1, 1, 0) |
− | setStep(1, 0, 0, 1) | + | time.sleep(delay) |
+ | setStep(0, 1, 0, 1) | ||
+ | time.sleep(delay) | ||
+ | setStep(1, 0, 0, 1) | ||
+ | time.sleep(delay) | ||
# | # | ||
− | # Marche | + | # Définir Marche ARRIERE |
# | # | ||
def backwards(delay, steps): | def backwards(delay, steps): | ||
for i in range(0, steps): | for i in range(0, steps): | ||
− | setStep(1, 0, 0, 1) time.sleep(delay) | + | setStep(1, 0, 0, 1) |
− | setStep(0, 1, 0, 1) | + | time.sleep(delay) |
− | setStep(0, 1, 1, 0) | + | setStep(0, 1, 0, 1) |
− | setStep(1, 0, 1, 0) | + | time.sleep(delay) |
+ | setStep(0, 1, 1, 0) | ||
+ | time.sleep(delay) | ||
+ | setStep(1, 0, 1, 0) | ||
+ | time.sleep(delay) | ||
+ | # | ||
+ | # Définir l'activation des différentes | ||
+ | # bobines du moteur pas-à-pas en une seule | ||
+ | # instruction | ||
+ | # | ||
def setStep(w1, w2, w3, w4): | def setStep(w1, w2, w3, w4): | ||
− | + | GPIO.output(coil_A_1_pin, w1) | |
− | + | GPIO.output(coil_A_2_pin, w2) | |
− | + | GPIO.output(coil_B_1_pin, w3) | |
− | + | GPIO.output(coil_B_2_pin, w4) | |
+ | # | ||
+ | # Boucle principale du programme | ||
+ | # | ||
while True: | while True: | ||
− | delay = raw_input(" | + | delay = raw_input("Delais entre les pas (millisecondes)?") |
− | steps = raw_input(" | + | steps = raw_input("Combien de pas en marche avant? ") |
forward(int(delay) / 1000.0, int(steps)) | forward(int(delay) / 1000.0, int(steps)) | ||
− | steps = raw_input(" | + | steps = raw_input("Combien de pas en marche arrière? ") |
backwards(int(delay) / 1000.0, int(steps)) | backwards(int(delay) / 1000.0, int(steps)) | ||
− | |||
</nowiki> | </nowiki> | ||
{{Rasp-Hack-Stepper-TRAILER}} | {{Rasp-Hack-Stepper-TRAILER}} |
Version actuelle datée du 1 mars 2016 à 10:41
le logiciel est exactement le même si vous utilisez le circuit intégré L293D ou l'ULN2803.
Ce projet met en œuvre la librairie Rpi.GPIO. Si vous ne la possédez pas déjà, vous devrez l'installer. Voir notre article sur le GPIO du Raspberry Pi
Pour installer le code, vous pouvez vous connecter à votre Pi en utilisant SSH et ouvrir un éditeur en tapant :
$nano stepper.py
ensuite «collez» le code suivant dans l'éditeur et sauvez-le à l'aide de CTRL-X et puis Y.
Crédit: AdaFruit Industries www.adafruit.com
Vous pouvez également utiliser la méthode décrite dans notre tutoriel Pi-Copier/Pi-Coller.
#!/usr/bin/env python # -*- coding: latin-1 -*- # Traduction # Contrôle de moteur pas-à-pas sur # http://mchobby.be/wiki/index.php?title=Rasp-Hack-Stepper # traduction CC-BY-SA par Meurisse D. pour www.mchobby.be # avec autorisation d'AdaFruit Industries USA. # # Source: # AdaFruit Industries USA, Réalisé par Simon Monk. # import RPi.GPIO as GPIO import time GPIO.setmode(GPIO.BCM) enable_pin = 18 coil_A_1_pin = 4 coil_A_2_pin = 17 coil_B_1_pin = 23 coil_B_2_pin = 24 # Configuration des broches de sorties # pour contrôle des bobines du moteur pas-à-pas GPIO.setup(enable_pin, GPIO.OUT) GPIO.setup(coil_A_1_pin, GPIO.OUT) GPIO.setup(coil_A_2_pin, GPIO.OUT) GPIO.setup(coil_B_1_pin, GPIO.OUT) GPIO.setup(coil_B_2_pin, GPIO.OUT) # Broche d'Activation (enabled) activée GPIO.output(enable_pin, 1) # # Définir Marche AVANT # # Paramètres: # delay - Délai d'attente entre deux activation de bobine. # Influence la vitesse. # steps - Nombre de pas à réaliser. # def forward(delay, steps): for i in range(0, steps): setStep(1, 0, 1, 0) time.sleep(delay) setStep(0, 1, 1, 0) time.sleep(delay) setStep(0, 1, 0, 1) time.sleep(delay) setStep(1, 0, 0, 1) time.sleep(delay) # # Définir Marche ARRIERE # def backwards(delay, steps): for i in range(0, steps): setStep(1, 0, 0, 1) time.sleep(delay) setStep(0, 1, 0, 1) time.sleep(delay) setStep(0, 1, 1, 0) time.sleep(delay) setStep(1, 0, 1, 0) time.sleep(delay) # # Définir l'activation des différentes # bobines du moteur pas-à-pas en une seule # instruction # def setStep(w1, w2, w3, w4): GPIO.output(coil_A_1_pin, w1) GPIO.output(coil_A_2_pin, w2) GPIO.output(coil_B_1_pin, w3) GPIO.output(coil_B_2_pin, w4) # # Boucle principale du programme # while True: delay = raw_input("Delais entre les pas (millisecondes)?") steps = raw_input("Combien de pas en marche avant? ") forward(int(delay) / 1000.0, int(steps)) steps = raw_input("Combien de pas en marche arrière? ") backwards(int(delay) / 1000.0, int(steps))
Source: Adafruits Raspberry-pi Lesson 10: Stepper-motors
Réalisé avec l'aide de Mr Carette J. à qui nous remettons tous nos remerciements.
Tutoriel créé par Simon Monk pour AdaFruit Industries. Tutorial created by Simon Monk for AdaFruit Industries
Traduit avec l'autorisation d'AdaFruit Industries - Translated with the permission from Adafruit Industries - www.adafruit.com
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.