zsoufianz
Posts: 1
Joined: Wed Sep 21, 2016 1:21 pm

command stepper motor on python

Wed Sep 21, 2016 1:25 pm

hello,
i want to command stepper motor on the two directions. I follow this tutorial:
https://learn.adafruit.com/adafruit-dc- ... per-motors
My problem is the motor turn just on one direction. what can i do please?
this is my code:
#!/usr/bin/env python
from Tkinter import *
from Adafruit_MotorHAT import Adafruit_MotorHAT, Adafruit_DCMotor, Adafruit_StepperMotor

import time
import atexit

mh = Adafruit_MotorHAT()
myStepper = mh.getStepper(200, 1) # 200 steps/rev, motor port #1
myStepper.setSpeed(30)

# recommended for auto-disabling motors on shutdown
def turnOffMotors():
mh.getMotor(1).run(Adafruit_MotorHAT.RELEASE)
mh.getMotor(2).run(Adafruit_MotorHAT.RELEASE)
mh.getMotor(3).run(Adafruit_MotorHAT.RELEASE)
mh.getMotor(4).run(Adafruit_MotorHAT.RELEASE)

atexit.register(turnOffMotors)

def call_btn_gauche():
myStepper.step(100, Adafruit_MotorHAT.FORWARD, Adafruit_MotorHAT.DOUBLE)
def call_btn_droite():
myStepper.step(100, Adafruit_MotorHAT.BACKWARD, Adafruit_MotorHAT.DOUBLE)
def verification():
if motdepasse.get() =='test':
fenetre1.destroy()

fenetre2 = Tk()
fenetre2.title ( 'Bras robot' )
label2 = Label(fenetre2)
label2.pack(side = RIGHT, padx = 10, pady = 10)

btn_exit = Button( fenetre2, text = 'Fermer' , command=fenetre2.quit )

btn_gauche = Button ( fenetre2 , text = 'Gauche', command = call_btn_gauche)
btn_droite = Button ( fenetre2 , text = 'Droite', command = call_btn_droite)

label2.grid ( row = 3, column = 3 )

btn_exit.grid ( row = 7, column = 5 )

btn_gauche.grid ( row = 1, column = 6 )
btn_droite.grid ( row = 2, column = 6 )

fenetre2.mainloop()

else:
showwarning('mot de passe incorrect, veuillez recommencer')
motdepasse.set('')

fenetre1 = Tk()
fenetre1.title ( 'Identification requise' )
label1 = Label(fenetre1)
label1.pack(side = LEFT, padx = 5, pady = 5)

motdepasse=StringVar()
Champ = Entry(fenetre1, textvariable=motdepasse, show='*', bg='bisque', fg='maroon')
Champ.focus_set()
Champ.pack(side = LEFT, padx = 5, pady = 5)

Bouton = Button(fenetre1, text = 'Valider', command = verification)
Bouton.pack(side = LEFT, padx = 5, pady = 5)

fenetre1.mainloop()

User avatar
davef21370
Posts: 897
Joined: Fri Sep 21, 2012 4:13 pm
Location: Earth But Not Grounded

Re: command stepper motor on python

Wed Sep 21, 2016 5:03 pm

The code "looks" okay.
Have you tried calling the functions directly, without the GUI?
Have you checked the motors are connected correctly?

Dave.
Apple say... Monkey do !!

Return to “Python”