Modifications

Sauter à la navigation Sauter à la recherche
2 829 octets ajoutés ,  1 mars 2016 à 10:41
aucun résumé de modification
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}}
29 917

modifications

Menu de navigation