Ligne 1 : |
Ligne 1 : |
| {{Rasp-Hack-Stepper-NAV}} | | {{Rasp-Hack-Stepper-NAV}} |
| | | |
− | {{traduction}} | + | {{bloc-etroit | text = 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. [[Rasp-Hack-GPIO|Voir notre article sur le GPIO du Raspberry Pi]] |
| + | |
| + | Pour installer le code, vous pouvez vous connecter à votre Pi en utilisant [[PI-SSH|SSH]] et ouvrir un éditeur en tapant : |
| + | }} |
| + | |
| + | <nowiki> $nano stepper.py </nowiki> |
| + | |
| + | 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]]. |
| + | <nowiki>#!/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)) |
| + | </nowiki> |
| + | |
| | | |
| {{Rasp-Hack-Stepper-TRAILER}} | | {{Rasp-Hack-Stepper-TRAILER}} |