Пример #1
0
class Omniwheel(object):
    
    def __init__ (self, pin1, pin2, pwmA, pin3, pin4, pwmB, steppingMode, wheelAngle):
        self.motor = StepperMotor(pin1, pin2, pwmA, pin3, pin4, pwmB, steppingMode)
        self.wheelAngle = wheelAngle
    
    def calculateVelocity (self, drivingAngle, drivingSpeed): 
        w = self.wheelAngle
        d = drivingAngle
        wheelSpeed = drivingSpeed * (math.cos(w) * math.cos(d) + math.sin(w) * math.sin(d))
        if wheelSpeed > 0:
            self.motor.forward(wheelSpeed)
        else:
            self.motor.reverse(abs(wheelSpeed))
Пример #2
0
def plant3():
    st.stepForward(800)
    st.stopMotor()
    pu.activate()
    time.sleep(5)
    pu.deactivate()
    st.stepBackward(800)
    st.stopMotor()
Пример #3
0
def plant1():
    st.stepForward(
        267
    )  # static values since we did not implement switching plant positions
    st.stopMotor()
    pu.activate()
    time.sleep(
        5
    )  # Keep the pump active for 5 seconds, in a later iteration of this program this value would be dynamic
    pu.deactivate()
    st.stepBackward(267)
    st.stopMotor()
Пример #4
0
 def __init__(self, motor_pins, pen_pin, best_callback):
     self.__PEN_PIN = pen_pin
     self.__pi = pigpio.pi()
     self.__pi.set_mode(self.__PEN_PIN, pigpio.OUTPUT)
     self.__x = 0
     self.__y = 0
     self.__one_step_x = 1
     self.__one_step_y = 1
     self.__cam_width = 640
     self.__cam_height = 480
     self.__paper_width = 210
     self.__paper_height = 297
     self.__width_scale = self.__paper_height / self.__cam_height
     self.__height_scale = self.__paper_width / self.__cam_width
     self.__scale = min(self.__paper_height / self.__cam_height,
                        self.__paper_width / self.__cam_width)
     self.__motors = StepperMotor.StepperMotor(motor_pins, best_callback)
Пример #5
0
class Omniwheel(object):
    
    def __init__ (self, stepPin, directionPin, wheelAngle):
        self.motor = StepperMotor(stepPin, directionPin)
        self.wheelAngle = wheelAngle
    
    def calculateVelocity (self, drivingAngle, drivingSpeed): 
        w = self.wheelAngle
        d = drivingAngle
        wheelSpeed = drivingSpeed * (math.cos(w) * math.cos(d) + math.sin(w) * math.sin(d))
        if wheelSpeed > 0:
            self.motor.forward(wheelSpeed)
        else:
            self.motor.reverse(abs(wheelSpeed))
            
    def rotate (self, speed):
        if speed >= 0:
            self.motor.forward(speed)
        else:
            self.motor.reverse(abs(speed))
Пример #6
0
import Adafruit_BBIO.GPIO as GPIO
import time
from StepperMotor import * 

motorYellow = StepperMotor("P9_21", "P9_23", "P9_16", "P9_25", "P9_27", "P9_22", StepperMotor.MICRO_STEP)
motorGreen = StepperMotor("P8_8", "P8_10", "P8_19", "P8_12", "P8_14", "P8_13", StepperMotor.MICRO_STEP)
motorBlue = StepperMotor("P9_24", "P9_26", "P9_42", "P9_30", "P9_41", "P9_28", StepperMotor.MICRO_STEP)

motorBlue.forward(5)
motorYellow.forward(5)
motorGreen.forward(5)
time.sleep(1)
motorBlue.stop()
motorYellow.stop()
motorGreen.stop()

while True:
    time.sleep(5)



Пример #7
0
import Adafruit_BBIO.GPIO as GPIO
import time
from StepperMotor import * 

steppingMode = SteppingMode("P9_23", "P9_25", "P9_27")

motorBlue = StepperMotor("P9_22", "P9_24")
motorGreen = StepperMotor("P9_16", "P9_15")
motorYellow = StepperMotor("P9_42", "P9_41")

steppingMode.setMode(5)

motorBlue.forward(3)
motorGreen.forward(10)
motorYellow.forward(20)
time.sleep(2)
motorBlue.reverse(3)
motorGreen.reverse(10)
motorYellow.reverse(20)

time.sleep(10)

motorBlue.stop()
motorGreen.stop()
motorYellow.stop()
Пример #8
0
 def initializeMotors(self):
     for i, p in enumerate(self.motorpins):
         self.motor.insert(i, StepperMotor.Motor(p, 12, Queue.Queue()))
     return
Пример #9
0
 def __init__ (self, pin1, pin2, pwmA, pin3, pin4, pwmB, steppingMode, wheelAngle):
     self.motor = StepperMotor(pin1, pin2, pwmA, pin3, pin4, pwmB, steppingMode)
     self.wheelAngle = wheelAngle
Пример #10
0
#!/usr/bin/env python

from time import sleep
import random
import RPi.GPIO as GPIO
import StepperMotor

GPIO.setmode(GPIO.BCM)
GPIO.cleanup()

m = StepperMotor.Motor([6, 13, 19, 26], 3)
#if rpm is too high or low motor will just vibrate
m.rpm = 15.0
i = 0
while i < 10:
    r = random.randint(0, 180)
    m.move_to(r)
    sleep(0.5)
    i = i + 1

GPIO.cleanup()
Пример #11
0
 def __init__ (self, stepPin, directionPin, wheelAngle):
     self.motor = StepperMotor(stepPin, directionPin)
     self.wheelAngle = wheelAngle
Пример #12
0
			return to_return
		#else:
		#	return False
	def reset(self):
		self.angle_index = 0

#def next_available_angle():
#	for angle in AVAILABLE_ANGLES:
#		yield angle

if __name__ == "__main__":
	try:
		init_gpio()

		color_detector = ColorDetector.ColorDetector()
		stepper_motor = StepperMotor.StepperMotor(STEPPER_MOTOR_IN1, STEPPER_MOTOR_IN2, STEPPER_MOTOR_IN3, STEPPER_MOTOR_IN4)
		linear_selenoid = LinearSelenoid.LinearSelenoid(SELENOID_PIN)
		angle_generator = AngleGenerator(AVAILABLE_ANGLES)

		color_to_angle = {}
		#angle_generator = next_available_angle()
		new_angle = 0.0		

		print 'Waiting...'
		GPIO.output(STANDBY_LED, True)
		#GPIO.wait_for_edge(PAUSE_RESUME_BUTTON, GPIO.RISING)#Wait for first button press

		GPIO.add_event_detect(PAUSE_RESUME_BUTTON, GPIO.RISING, callback=pause_resume, bouncetime=1000)

		while keep_going:
			
Пример #13
0
#!/usr/bin/env python

import Adafruit_BBIO.GPIO as GPIO
from time import sleep
from StepperMotor import *
from termcolor import colored
import math
from IMU import *
from Omnibot import *
from PID import *

motorYellow = StepperMotor("P9_21", "P9_23", "P9_16", "P9_25", "P9_27",
                           "P9_22", StepperMotor.HALF_STEP)
motorGreen = StepperMotor("P8_8", "P8_10", "P8_19", "P8_12", "P8_14", "P8_13",
                          StepperMotor.HALF_STEP)
motorBlue = StepperMotor("P9_24", "P9_26", "P9_42", "P9_30", "P9_41", "P9_28",
                         StepperMotor.HALF_STEP)

motorBlue.forward(10)
sleep(.25)
motorBlue.stop()

motorGreen.forward(10)
sleep(.25)
motorGreen.stop()

motorYellow.forward(10)
sleep(.25)
motorYellow.stop()

sleep(5)
Пример #14
0
import Adafruit_BBIO.GPIO as GPIO
import time
from StepperMotor import *

steppingMode = SteppingMode("P9_23", "P9_25", "P9_27")

motorBlue = StepperMotor("P9_22", "P9_24")
motorGreen = StepperMotor("P9_16", "P9_15")
motorYellow = StepperMotor("P9_42", "P9_41")

steppingMode.setMode(5)

motorBlue.forward(3)
motorGreen.forward(10)
motorYellow.forward(20)
time.sleep(2)
motorBlue.reverse(3)
motorGreen.reverse(10)
motorYellow.reverse(20)

time.sleep(10)

motorBlue.stop()
motorGreen.stop()
motorYellow.stop()