Exemplo n.º 1
0
class Robot:
    def __init__(self):
        self.right_arm = Arm()
        self.left_arm = Arm()
        self.front_right_wheel = Wheel()
        self.back_right_wheel = Wheel()
        self.front_left_wheel = Wheel()
        self.back_left_wheel = Wheel()
        
    def move_forward(self):
        self.front_right_wheel.forward()
        self.back_right_wheel.forward()
        self.front_left_wheel.forward()
        self.back_left_wheel.forward()
        
    def turn_right(self):
        self.front_right_wheel.backward()
        self.back_right_wheel.backward()
        self.front_left_wheel.forward()
        self.back_left_wheel.forward()
Exemplo n.º 2
0
                if not stop:
                    # if the panic stop is pressed.
                    # cache all the states then stop the wheels
                    left_cache = (left_wheel.state, left_wheel.speed)
                    right_cache = (right_wheel.state, right_wheel.speed)
                    left_wheel.stop()
                    right_wheel.stop()
                    stop = not stop

                else:
                    # if resume pressed,
                    # resume the states of the wheels with cache
                    if left_cache[0] == "forward":
                        left_wheel.forward(left_cache[1])
                    elif left_cache[0] == "backward":
                        left_wheel.backward(left_cache[1])
                    else:
                        left_wheel.stop()

                    if right_cache[0] == "forward":
                        right_wheel.forward(right_cache[1])
                    elif right_cache[0] == "backward":
                        right_wheel.backward(right_cache[1])
                    else:
                        right_wheel.stop()
                    stop = not stop

                # either panic stop or resume press, the state will change
                # record it.
                left_history.appendleft(left_wheel.get_state())
                left_history.pop()
Exemplo n.º 3
0
GPIO.setmode(GPIO.BCM)
left_wheel = Wheel('left', LEFT_CHANNEL)
right_wheel = Wheel('right', RIGHT_CHANNEL)

# move forward
left_wheel.forward()
right_wheel.forward()
sleep(3)

# stopped
left_wheel.stop()
right_wheel.stop()
sleep(3)

# move backward
left_wheel.backward()
right_wheel.backward()
sleep(3)

# stopped
left_wheel.stop()
right_wheel.stop()
sleep(3)

# Pivot left
left_wheel.backward()
right_wheel.forward()
sleep(3)

# stopped
left_wheel.stop()