Beispiel #1
0
def start_bluetooth(robot):
    bd = BlueDot()

    def move_b(pos):
        print("Move!")
        if pos.top:
            print("forward()")
            robot.forward()
        elif pos.bottom:
            print("bottom")
            robot.backward()
        elif pos.left:
            print("left")
            robot.left()
        elif pos.right:
            print("right")
            robot.right()

    def stop_b():
        robot.stop()

    print("Started!")
    bd.when_pressed = move_b
    bd.when_moved = move_b
    bd.when_released = stop_b
    pause()
Beispiel #2
0
def remoteAndroid():
    bd = BlueDot(
        #cols=3, rows=3
    )

    #bd.square = True
    #bd[0,0].visible = False
    #bd[2,0].visible = False
    #bd[0,2].visible = False
    #bd[2,2].visible = False
    #bd[1,1].visible = False

    bd.when_pressed = move  ##run the function foo when the blue dot is pressed
    bd.when_released = stop  ##run the function bar when the blue dot is released
    bd.when_moved = move  ##run the function baz when your finger moves on the blue dot
Beispiel #3
0
from bluedot import BlueDot
# color zero can be installed using sudo pip3 install colorzero
from colorzero import Color
from signal import pause


def on(pos):
    hue = (pos.angle + 180) / 360
    c = Color(h=hue, s=1, v=pos.distance)
    bd.color = c.rgb_bytes


def off():
    bd.color = "blue"


bd = BlueDot()
bd.when_pressed = on
bd.when_moved = on
bd.when_released = off

pause()
def swiped(swipe):
    print("Swiped: up={} down={} left={} right={} speed={}".format(swipe.up, swipe.down, swipe.left, swipe.right, swipe.speed))

def double_presed(pos):
    print("Double pressed: x={} y={}".format(pos.x, pos.y))

def client_connected():
    print("connected callback")

def client_disconnected():
    print("disconnected callback")

dot.when_client_connects = client_connected
dot.when_client_disconnects = client_disconnected
dot.when_pressed = pressed
dot.when_released = released
dot.when_moved = moved
dot.when_swiped = swiped
dot.when_double_pressed = double_presed

dot.start()

dot.wait_for_press()
print("wait for press")
dot.wait_for_move()
print("wait for move")
dot.wait_for_release()
print("wait for release")
dot.wait_for_double_press()
print("wait for double press")
dot.wait_for_swipe()
Beispiel #5
0
        GPIO.cleanup()

    def counterClockwise(self, t):
        self.setup()
        GPIO.output(self.LB, GPIO.HIGH)
        GPIO.output(self.RF, GPIO.HIGH)
        time.sleep(t)
        GPIO.output(self.LB, GPIO.LOW)
        GPIO.output(self.RF, GPIO.LOW)
        GPIO.cleanup()
'''


# GPIO Pins
leftWheelForward = 5
leftWheelBackward = 6
rightWheelForward = 13
rightWheelBackward = 19

# Car
smartCar = Car(leftWheelForward, leftWheelBackward, rightWheelForward,
               rightWheelBackward)

# initial moves
#bd.when_pressed = smartCar.move
#bd.when_moved = smartCar.move
bd.when_released = smartCar.stop
bd.when_swiped = smartCar.swiped

pause()
Beispiel #6
0
    # pusher instance
    pusher = pysher.Pusher('18daa371eebed30fcef8', cluster='us3')

    def handle_command(message):
        robby.handle_command(message)

    def connect_handler(data):
        print("Connected to pusher!")
        channel = pusher.subscribe('buggy')
        channel.bind('command', handle_command)

    pusher.connection.bind('pusher:connection_established', connect_handler)
    pusher.connect()

    position = (0, 0)

    def bluedot_handler(pos):
        global position
        lastPosition = position
        position = (clamp(round(bd.position.x * 2), -1,
                          1), clamp(round(bd.position.y * 2), -1, 1))
        if position != lastPosition:
            robby.move(position[0], position[1])

    bd.when_pressed = bluedot_handler
    bd.when_moved = bluedot_handler
    bd.when_released = robby.stop

    while True:
        time.sleep(1)
Beispiel #7
0
    GPIO.output(7, 0)
    GPIO.output(8, 1)


def handler(pos):
    if pos.left:
        left()
    if pos.right:
        right()
    if pos.top:
        forward()
    if pos.bottom:
        backward()


def lightUp():
    GPIO.output(24, 1)


def outOfBounds():
    if GPIO.input(25) == 0:
        stopmotors()
        lightUp()


stopmotors()
while True:
    bd.when_pressed = handler
    bd.when_released = stopmotors
    outOfBounds()
Beispiel #8
0
from bluedot import BlueDot
from signal import pause


def say_hello():
    print("Hello World")


def say_goodbye():
    print("goodbye")


bd = BlueDot()
bd.when_pressed = say_hello
bd.when_released = say_goodbye

pause()
from bluedot import BlueDot
from gpiozero import Robot
from signal import pause

bd = BlueDot()
robot = Robot(left=(4, 14), right=(17, 18))

def move(pos):
    if pos.top:
        robot.forward(pos.distance)
    elif pos.bottom:
        robot.backward(pos.distance)
    elif pos.left:
        robot.left(pos.distance)
    elif pos.right:
        robot.right(pos.distance)

bd.when_pressed = move
bd.when_moved = move
bd.when_released = robot.stop

pause()
def doHelloGoodbye():
    bd = BlueDot()
    bd.when_pressed = sayHello
    bd.when_released = sayGoodbye
Beispiel #11
0
    elif pos.left:
        devastator_robot.left()
    elif pos.right:
        devastator_robot.right()
    elif pos.middle:
        os.system("sudo shutdown now")

#Define the stop and record functions 
def stop():
    devastator_robot.stop()

def record():
    devastator_eye.off()
    devastator_camera.start_recording('/home/pi/Videos/motions_%02d_%02d_%02d.mjpg' % (moment.hour, moment.minute, moment.second))

def stop_record():
    devastator_eye.on()
    devastator_camera.stop_recording()

#When the dot is pressed the robot moves
#When the dot is released it stops
#When pressing one button the camera turns on
#When the other button is pressed the camera turns off
devastator_bluedot.when_pressed = move
devastator_bluedot.when_moved = move
devastator_bluedot.when_released = stop
record_button.when_pressed = record
stop_button.when_pressed = stop_record

pause()
Beispiel #12
0
            left_led.on()
            time.sleep(1 / speed)
            left_led.off()

    if (rotation.anti_clockwise):
        for i in range(3):
            #top_led.blink(on_time=1/speed,off_time=1/speed)
            top_led.on()
            time.sleep(1 / speed)
            top_led.off()
            #right_led.blink(on_time=3/speed,off_time=1/speed)
            left_led.on()
            time.sleep(1 / speed)
            left_led.off()
            #bottom_led.blink(on_time=3/speed,off_time=1/speed)
            bottom_led.on()
            time.sleep(1 / speed)
            bottom_led.off()
            #left_led.blink(on_time=3/speed,off_time=1/speed)
            right_led.on()
            time.sleep(1 / speed)
            right_led.off()


bd = BlueDot()
speed = 1
while True:
    bd.when_released = dpad
    bd.when_swiped = swipe
    #bd.when_rotated = rotate
    bd.set_when_rotated(rotate, background=True)
Beispiel #13
0
    leds.value = (1,1,1,1,1,1,0,0)
    sleep(1)
    leds.value = (1,0,1,1,0,1,1,0)
    sleep(1)
    leds.value = (0,1,1,1,1,1,0,0)
    sleep(1)
    leds.value = (1,0,0,1,1,1,1,0)
    sleep(1)
    
def israel():
    print("No se :s")
    leds.value = (0,1,1,0,0,0,0,0)
    sleep(1)
    leds.value = (1,0,1,1,0,1,1,0)
    sleep(1)
    leds.value = (0,0,0,0,1,0,1,0)
    sleep(1)
    leds.value = (1,1,1,0,1,1,1,0)
    sleep(1)
    leds.value = (1,0,0,1,1,1,1,0)
    sleep(1)
    leds.value = (0,0,0,1,1,1,0,0)
    sleep(1)

leds.value = (1,1,1,1,1,1,1,1)
bd = BlueDot()
bd.when_pressed = ramses
bd.when_released = israel
bd.wait_for_swipe()
josue()
sleep(1)
Beispiel #14
0
from bluedot import BlueDot
from gpiozero import LED
from signal import pause

bd = BlueDot()
led = LED(27)

bd.when_pressed = led.off
bd.when_released = led.on

pause()
Beispiel #15
0
# Load BlueDot
bd = BlueDot()


# Follow the direction of circle
def dpad(pos):
    if pos.top:
        ser.write(("F\n").encode("ascii"))
    elif pos.bottom:
        ser.write(("B\n").encode("ascii"))
    elif pos.left:
        ser.write(("L\n").encode("ascii"))
    elif pos.right:
        ser.write(("R\n").encode("ascii"))


# Stop RC car
def released():
    ser.write(("H\n").encode("ascii"))


# Run dpad function
bd.when_pressed = dpad
bd.when_moved = dpad
bd.when_released = released

# Activate while connected to application
while True:
    read_serial = ser.readline()
    print(read_serial)
Beispiel #16
0
from bluedot import BlueDot
from signal import pause


def saludo():
    print("Hola Mundo")


def despedida():
    print("Hasta pronto")


bd = BlueDot()
bd.when_pressed = saludo
bd.when_released = despedida
pause()
def bd_stop():
    robot.stop()


# ------------------------------------------------------------------------------------------------------
# Function for Blue Dot.  Placeholder for any action we want to take on a double-press on the blue dot.
# ------------------------------------------------------------------------------------------------------
def bd_double_press():
    robot.stop()


# ======================================================================================================
# Main program
# ======================================================================================================
try:
    robot = RosiRobot()
    robot.start()
    robot.printSettings()

    bd = BlueDot()
    bd.when_pressed = bd_move
    bd.when_moved = bd_move
    bd.when_released = bd_stop
    bd.when_double_pressed = bd_double_press

    while running:
        robot.wait(0.1)

except robot.RosiException as e:
    print(e.value)
Beispiel #18
0
#https://gpiozero.readthedocs.io/en/stable/recipes_advanced.html#bluedot-robot
from bluedot import BlueDot
from gpiozero import Robot
from signal import pause

bd = BlueDot()
robot = Robot(left=(4, 14), right=(17, 18))


def move(pos):
    if pos.top:
        robot.forward(pos.distance)
    elif pos.bottom:
        robot.backward(pos.distance)
    elif pos.left:
        robot.left(pos.distance)
    elif pos.right:
        robot.right(pos.distance)


bd.when_pressed = move
bd.when_moved = move
bd.when_released = robot.stop

pause()
Beispiel #19
0
    for i in range(0, 5):  # repeat the following code 5 times.
        robot.left()
        sleep(0.2)
        robot.right()
        sleep(0.2)


def move(
    pos
):  #Move by an amount that is proportional to the position of the joystick.
    if pos.top:
        robot.forward(pos.distance)
    elif pos.bottom:
        robot.backward(pos.distance)
    elif pos.left:
        robot.left(pos.distance)
    elif pos.right:
        robot.right(pos.distance)


def stop():  #stop when nothing is pressed
    robot.stop()


bd.when_pressed = move  #initiate robot movement from the move function when button pressed
bd.when_moved = move  #again, but for when you move your finger on the blue dot
bd.when_released = stop  #stop moving when the bluedot is released
bd.when_double_pressed = turn_around  #taunt gesture added for showboating, defined above

pause()  #keep the script running forever.
Beispiel #20
0

def backward(channel, event):
    explorerhat.motor.one.backward(100)
    explorerhat.motor.two.backward(100)


def right(channel, event):
    explorerhat.motor.one.backward(35)
    explorerhat.motor.two.forward(35)


def left(channel, event):
    explorerhat.motor.one.forward(35)
    explorerhat.motor.two.backward(35)


def stop(channel, event):
    explorerhat.motor.one.forward(0)
    explorerhat.motor.two.forward(0)


def move(pos):
    if pos.top:
        (forward)


bd.when_pressed = move
bd.when_moved = move
bd.when_released = stop
    drive = autonomousMode(False)
    turningLeft = False
    while drive:
        distance = getDistance()
        while distance <= 0.50:
            if not turningLeft:
                teslaCyber.left()
                turningLeft = True
            distance = getDistance()
        teslaCyber.forward()
        turningLeft = False
        drive = autonomousMode(False)
    teslaCyber.stop()
    
def autonomousMode(change=True):
    global auto
    
    if change:
        auto = not auto
    return auto

def beginSelfDrive():
    autonomousMode()
    selfDrive()
        
remoteControl.set_when_rotated(beginSelfDrive, True)
# remoteControl.set_when_double_pressed(selfDrive, True)
remoteControl.when_moved = move
remoteControl.when_pressed = move
remoteControl.when_released = stop