Aide moteur pas à pas
Posté : jeu. 28 avr. 2022 15:11
Boujour à tous,
je solicite aujourd'hui votre aide car nous sommes dans une impasse.
Nous devons faire tourner un moteur pas à pas dans les 2 sens pour notre projet de TIPE. Le code que nous utilisons est ci contre, mais ne permets pas de le faire touner dans les 2 sens. Il ne tourne que dans le sens horaire. Pourriez vous nous aider en nous proposant un pogamme ?
Cela nous sauverait notre projet
En esperant que vous pouurez m'aider.
from time import sleep
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)
# PIN-Assignment
A=18
B=23
C=24
D=25
time = 0.001
# defining the PINs
GPIO.setup(A,GPIO.OUT)
GPIO.setup(B,GPIO.OUT)
GPIO.setup(C,GPIO.OUT)
GPIO.setup(D,GPIO.OUT)
GPIO.output(A, False)
GPIO.output(B, False)
GPIO.output(C, False)
GPIO.output(D, False)
# driving the motor
def Pas_a_pas(n):
def Step1():
GPIO.output(D, True)
sleep (time)
GPIO.output(D, False)
def Step2():
GPIO.output(D, True)
GPIO.output(C, True)
sleep (time)
GPIO.output(D, False)
GPIO.output(C, False)
def Step3():
GPIO.output(C, True)
sleep (time)
GPIO.output(C, False)
def Step4():
GPIO.output(B, True)
GPIO.output(C, True)
sleep (time)
GPIO.output(B, False)
GPIO.output(C, False)
def Step5():
GPIO.output(B, True)
sleep (time)
GPIO.output(B, False)
def Step6():
GPIO.output(A, True)
GPIO.output(B, True)
sleep (time)
GPIO.output(A, False)
GPIO.output(B, False)
def Step7():
GPIO.output(A, True)
sleep (time)
GPIO.output(A, False)
def Step8():
GPIO.output(D, True)
GPIO.output(A, True)
sleep (time)
GPIO.output(D, False)
GPIO.output(A, False)
# start one complete turn
for i in range (n):
Step1()
Step2()
Step3()
Step4()
Step5()
Step6()
Step7()
Step8()
GPIO.cleanup()
Pas_a_pas(512)
je solicite aujourd'hui votre aide car nous sommes dans une impasse.
Nous devons faire tourner un moteur pas à pas dans les 2 sens pour notre projet de TIPE. Le code que nous utilisons est ci contre, mais ne permets pas de le faire touner dans les 2 sens. Il ne tourne que dans le sens horaire. Pourriez vous nous aider en nous proposant un pogamme ?
Cela nous sauverait notre projet
En esperant que vous pouurez m'aider.
from time import sleep
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)
# PIN-Assignment
A=18
B=23
C=24
D=25
time = 0.001
# defining the PINs
GPIO.setup(A,GPIO.OUT)
GPIO.setup(B,GPIO.OUT)
GPIO.setup(C,GPIO.OUT)
GPIO.setup(D,GPIO.OUT)
GPIO.output(A, False)
GPIO.output(B, False)
GPIO.output(C, False)
GPIO.output(D, False)
# driving the motor
def Pas_a_pas(n):
def Step1():
GPIO.output(D, True)
sleep (time)
GPIO.output(D, False)
def Step2():
GPIO.output(D, True)
GPIO.output(C, True)
sleep (time)
GPIO.output(D, False)
GPIO.output(C, False)
def Step3():
GPIO.output(C, True)
sleep (time)
GPIO.output(C, False)
def Step4():
GPIO.output(B, True)
GPIO.output(C, True)
sleep (time)
GPIO.output(B, False)
GPIO.output(C, False)
def Step5():
GPIO.output(B, True)
sleep (time)
GPIO.output(B, False)
def Step6():
GPIO.output(A, True)
GPIO.output(B, True)
sleep (time)
GPIO.output(A, False)
GPIO.output(B, False)
def Step7():
GPIO.output(A, True)
sleep (time)
GPIO.output(A, False)
def Step8():
GPIO.output(D, True)
GPIO.output(A, True)
sleep (time)
GPIO.output(D, False)
GPIO.output(A, False)
# start one complete turn
for i in range (n):
Step1()
Step2()
Step3()
Step4()
Step5()
Step6()
Step7()
Step8()
GPIO.cleanup()
Pas_a_pas(512)