Designed to mount a time lapse camera for a 360 degree rotation over 1 hour. That's 1 degree rotation every 10 seconds.
Uses Adafruit LCD i2C board to display rotation information.
#!/usr/bin/env python import time from datetime import datetime import RPi.GPIO as GPIO from Adafruit_CharLCDPlate import Adafruit_CharLCDPlate lcd = Adafruit_CharLCDPlate() lcd.begin(16, 2) lcd.clear() lcd.backlight(lcd.ON) # Use BCM GPIO references # instead of physical pin numbers GPIO.setmode(GPIO.BCM) # Define GPIO signals to use # Pins 18,22,24,26 # GPIO24,GPIO25,GPIO8,GPIO7 StepPins = [24,25,8,7] # Set all pins as output for pin in StepPins: print "Setup pins" GPIO.setup(pin,GPIO.OUT) GPIO.output(pin, False) # Define some settings StepCounter = 0 WaitTime = 0.87890625 DegreesRun = 0 TotalSteps = 0 start_time = time.time() ShouldBeTime=0 # Define simple sequence StepCount1 = 4 Seq1 = [] Seq1 = range(0, StepCount1) Seq1[0] = [1,0,0,0] Seq1[1] = [0,1,0,0] Seq1[2] = [0,0,1,0] Seq1[3] = [0,0,0,1] # Define advanced sequence # as shown in manufacturers datasheet StepCount2 = 8 Seq2 = [] Seq2 = range(0, StepCount2) Seq2[0] = [1,0,0,0] Seq2[1] = [1,1,0,0] Seq2[2] = [0,1,0,0] Seq2[3] = [0,1,1,0] Seq2[4] = [0,0,1,0] Seq2[5] = [0,0,1,1] Seq2[6] = [0,0,0,1] Seq2[7] = [1,0,0,1] # Choose a sequence to use Seq = Seq2 StepCount = StepCount2 # Start main loop while StepCounter < 4096: for pin in range(0, 4): xpin = StepPins[pin] if Seq[StepCounter][pin]!=0: #print " Step %i Enable %i - Pin %s" %(StepCounter,xpin, x) GPIO.output(xpin, True) else: GPIO.output(xpin, False) StepCounter += 1 # If we reach the end of the sequence # start again if (StepCounter==StepCount): StepCounter = 0 if (StepCounter < 0): StepCounter = StepCount # Wait before moving on time.sleep(WaitTime) DegreesRun += 0.087890625 TotalSteps += 1 RuningTime = time.time() - start_time ShouldBeTime += WaitTime y=time.strftime('%H:%M:%S', time.gmtime(RuningTime)) z=time.strftime('%H:%M:%S', time.gmtime(ShouldBeTime)) lcd.clear() lcd.message(str(y) + " S=" + str(TotalSteps) + "\n") lcd.message(str(z) + " DR=" + str(round(DegreesRun,1)))
DC 5V Stepper Motor 28BYJ 48 + ULN2003 Driver Test Module Board fit for Arduino | |
![]() |
$9.99 End Date: Tuesday Dec-24-2019 1:36:59 PST Buy It Now for only: $9.99 |
3 6 9 Sets 5V Stepper Motor 28BYJ 48 With Drive Test Module Board ULN2003 5 Line | |
![]() |
$9.38 End Date: Monday Dec-16-2019 23:59:31 PST Buy It Now for only: $9.38 |
3sets ULN2003 Motor Driver Board + DC 5V Stepper Motor 28BYJ 48 For Arduino W1X | |
![]() |
$9.07 End Date: Sunday Jan-5-2020 18:21:36 PST Buy It Now for only: $9.07 |
2 Pack DC 5V Stepper Motor 28BYJ 48 + ULN2003 Driver Test Module for Arduino N98 | |
![]() |
$6.50 End Date: Saturday Dec-28-2019 19:49:37 PST Buy It Now for only: $6.50 |
5V Stepper Motor 28BYJ 48 With Drive Test Module Board ULN2003 5 Line 4 Phase S | |
![]() |
$1.83 End Date: Monday Dec-30-2019 1:39:33 PST Buy It Now for only: $1.83 |
28BYJ 48 L298 ULN2003 Drive Valve Stepper Motor DC 5 12V Step Motor | |
![]() |
$1.46 End Date: Thursday Dec-19-2019 9:10:57 PST Buy It Now for only: $1.46 |
5V 4 Phase Geared Stepper Motor with ULN2003 Driver Board 28BYJ 48 For Arduino | |
![]() |
$9.99 End Date: Tuesday Dec-24-2019 1:40:59 PST Buy It Now for only: $9.99 |
Stepper Motor DC 5V 28BYJ 48 + 2003 Stepper Motor Driver Module for Arduino | |
![]() |
$1.95 End Date: Friday Jan-3-2020 6:13:13 PST Buy It Now for only: $1.95 |
1Pcs Stepper Motor Driver Board Module ULN2003 For Arduino 5V 28BYJ48 Motor ii | |
![]() |
$4.41 End Date: Sunday Dec-29-2019 17:16:58 PST Buy It Now for only: $4.41 |
28BYJ 48 2003 Stepper Motor Driver Module for Arduino+DC 5V Stepper Motor New | |
![]() |
$0.75 End Date: Tuesday Dec-10-2019 10:45:04 PST Buy It Now for only: $0.75 |