Skip to content

JamesRandom/stepper

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Python Stepper Motor Controller

A lightweight Python class for controlling stepper motors using GPIO on a Raspberry Pi via the gpiozero library. Supports 2-pin, 4-pin, and 5-pin motors.

It essentially implements the same Stepper class logic as described in the Arduino Stepper library.

Features

  • Compatible with 2-pin, 4-pin, and 5-pin stepper motors
  • Forward and reverse movement
  • Adjustable stepping delay (speed)
  • Arduino-style stepping logic
  • Easy integration with gpiozero

Requirements

  • Raspberry Pi with GPIO
  • Python 3.9+
  • gpiozero library

Video Tutorial with Electronics

Video Tutorial

Installation

Place the stepper.py file containing the Stepper class in your project directory.

Install dependencies if not already available. For example:

pip install gpiozero

or

sudo apt install python3-gpiozero

Usage

Initialize the object (example for 4-pin motor with 2048 steps):
step_motor = Stepper(2048, 5, 6, 13, 19)

Set the motor speed in rotations per minute (RPM):
step_motor.set_speed(8)

Move the motor one step forward:
step_motor.step(1)

Move the motor one step backward:
step_motor.step(-1)

Stop the motor immediately:
step_motor.stop()

Example

# 4-pin Stepper Motor on Raspberry Pi
from time import sleep
from stepper import Stepper

step_motor = Stepper(2048, 5, 6, 13, 19)
step_motor.set_speed(10)

try:
    while True:
        step_motor.step(1024)
        print("rotated half")
        sleep(2)
        step_motor.step(1024)
        print("rotated half more")
        sleep(2)
        step_motor.step(-1024)
        print("rotated half back")
        sleep(2)
        step_motor.step(-1024)
        print("rotated half more back")
        sleep(2)
except KeyboardInterrupt:
    pass
finally:
    step_motor.stop()

Help the Creator

If you find this useful, consider supporting the developer.

Donate

About

Stepper Motors for Raspberry Pi gpiozero

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 100.0%