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 __init__(self, name, objetoControlado=None, metodoArriba=None, metodoAbajo=None, metodoDerecha=None, metodoIzquierda=None):
        self.name = name
        self.objetoControlado = objetoControlado
        self.metodoArriba = metodoArriba
        self.metodoAbajo = metodoAbajo
        self.metodoDerecha = metodoDerecha
        self.metodoIzquierda = metodoIzquierda

        bd = BlueDot()

        bd.when_pressed = self.dpad

        pause()
Beispiel #3
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 #4
0
def main():
    bd = BlueDot()

    try:
        while True:
            bd.wait_for_press()
            bd.when_pressed = dpad
            ##                      bd.when_moved = dpad
            bd.wait_for_release()

    except KeyboardInterrupt:
        print "KeyboardInterrupt, motor stop"
        back_wheels.stop()
    finally:
        print "Finished, motor stop"
        back_wheels.stop()
Beispiel #5
0
import time
from signal import pause
import RPi.GPIO as IO

bd = BlueDot()
bd.square = True


def dot_is_active(pos):
    global p
    BDx = -pos.x
    BDy = pos.y
    DC = BDx * 4.5 + 6.5
    p.ChangeDutyCycle(DC)
    print("X: {}\tY: {}".format(BDx, BDy))


IO.setwarnings(False)
IO.setmode(IO.BCM)
IO.setup(18, IO.OUT)
p = IO.PWM(18, 50)  # Pin 18  Frequency= 50 Hertz

p.start(6.5)

# p.ChangeDutyCycle()
time.sleep(1)

bd.when_pressed = dot_is_active
bd.when_moved = dot_is_active
pause()
Beispiel #6
0
    def main(pos):

        if pos.top:
            runF(4)
            print("top ", pos.x, pos.y)

        if pos.bottom:
            runB(4)
            print("bottom ", pos.x)

        if pos.right:
            turnR()
            print("right ", pos.y)

        if pos.left:
            turnL()
            print("left ", pos.x)

        if pos.middle:
            print("middle ", pos.x, pos.y)

    while 1:
        bd.when_pressed = main
        if bd.wait_for_double_press():
            break

finally:
    GPIO.cleanup()
    bd.stop()
Beispiel #7
0
from signal import pause

def change_dot(pos):
    if pos.top:
        if bd.color == "red":
            bd.color = GREEN
        else:
            bd.color = "#ff0000"
    elif pos.bottom:
        if bd.border:
            bd.border = False
        else:
            bd.border = True
    elif pos.left:
        if bd.visible:
            bd.visible = False
        else:
            bd.visible = True
    elif pos.right:
        if bd.square:
            bd.square = False
        else:
            bd.square = True

bd = BlueDot()
bd.color="pink"
bd.border = False
bd.square = True
bd.when_pressed = change_dot

pause()
Beispiel #8
0
def bludot_control():
    bd = BlueDot()
    bd.when_pressed = dpad
    pause()
Beispiel #9
0
#Se importa el driver i2c previamente mencionado
import i2c_lcd_driver as LCD
from signal import pause
lcd = LCD.lcd()
#Se importa bluedot
from bluedot import BlueDot

#Utilizando la posicion del bluedot elegiremos el mensaje
def dpad(pos):
    lcd.lcd_clear()
    if pos.left:
        lcd.lcd_display_string("Pedido Recibido", 1)
    elif pos.middle:
        lcd.lcd_display_string("Pedido en progreso", 1)
    elif pos.right:
        lcd.lcd_display_string("Pedido Listo", 1)

bd = BlueDot()
#Cuando es presionado utilizará la funcion dpad
bd.when_pressed = dpad
pause()
Beispiel #10
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()
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 #12
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()
Beispiel #13
0
from bluedot import BlueDot
bd = BlueDot()
bd.wait_for_press()
print("You pressed the blue dot!")


def foo(pos):
    print(pos.x)
    print(pos.y)


bd.when_pressed = foo  ##run the function foo when the blue dot is pressed
Beispiel #14
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.
from bluedot import BlueDot
from signal import pause

# Setup GPIO
GPIO.setmode(GPIO.BOARD)
GPIO.setup(8, GPIO.LOW)

bd = BlueDot()


def lamp_switch():
    state = GPIO.input(8)
    if state is 0:
        GPIO.output(8, 1)
        print("turned on")
    else:
        GPIO.output(8, 0)
        print("turned off")


try:
    bd.when_pressed = lamp_switch

    pause()

except KeyboardInterrupt:
    print("A keyboard interrupt has been noticed")

finally:
    GPIO.cleanup()
Beispiel #16
0
import yaml
from runner import Runner
from bluedot import BlueDot
from signal import pause

config = yaml.safe_load(open("config.yaml", 'r'))

bd = BlueDot()
runner = Runner(bd, config)

bd.when_client_connects = runner.check_mac_addresses
bd.when_pressed = runner.rotate

pause()
Beispiel #17
0
from gpiozero import LEDBoard
from time import sleep
from signal import pause
from bluedot import BlueDot


def nombres(pos):
    if pos.top:
        leds.value(1, 1, 0, 0, 1, 1, 0)
        sleep(1)
        leds.value(0, 1, 1, 0, 1, 1, 1)
        sleep(1)
        leds.value(1, 1, 1, 0, 0, 0, 0)
        sleep(1)
        leds.value(1, 1, 1, 1, 0, 0, 1)
    elif pos.bottom:
        leds.value(0, 1, 1, 1, 1, 1, 1)
        sleep(1)
        leds.value(0, 1, 1, 0, 1, 1, 1)
        sleep(1)
        leds.value(0, 1, 1, 0, 1, 1, 1)
        sleep(1)
        leds.value(0, 1, 1, 0, 0, 0, 0)


leds = LEDBoard(2, 3, 4, 17, 27, 22, 10)
bd = BlueDot()
bd.when_pressed = nombres
pause()
from bluedot import BlueDot

bd = BlueDot()


def say_PRESSED():
    print("You pressed the Blue dot!")


while True:
    bd.when_pressed = say_PRESSED
Beispiel #19
0
from bluedot import BlueDot
from signal import pause


def bd1_pressed():
    print("BlueDot 1 pressed")


def bd2_pressed():
    print("BlueDot 2 pressed")


bd1 = BlueDot(port=1)
bd2 = BlueDot(port=2)

bd1.when_pressed = bd1_pressed
bd2.when_pressed = bd2_pressed

pause()
Beispiel #20
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()
Beispiel #21
0
      Movement.dataOld='ruota destra'
  elif pos.middle:
    if Movement.alzato==0:
      ophelia.alzata()
      Movement.alzato=1

def stop():
  if Movement.dataOld == 'avanti':
    ophelia.avantiUscita()
  elif Movement.dataOld == 'indietro':    
    ophelia.indietroUscita()
  elif Movement.dataOld == 'ruota destra':
    ophelia.ruotaDestraUscita()
  elif Movement.dataOld == 'ruota sinistra':
    ophelia.ruotaSinistraUscita()

def siedi():
  if Movement.alzato==1:
    ophelia.seduta()
    Movement.alzato=0

bd.when_pressed = move
bd2.when_pressed = siedi
time.sleep(0.1)
bd.when_moved = move
time.sleep(0.1)
bd.when_released = stop

pause()

Beispiel #22
0
            if round(self.speed) == -1:
                self.speed = 0
            elif round(self.speed) == 0:
                self.speed = 1
            elif self.speed < 0:
                self.speed /= 2
            else:
                self.speed *= 2
                if self.speed > self.speedlimit:
                    self.speed = self.speedlimit
            print('rite: was %s, now %s' % (olds, self.speed))
            self.motor.setspeed(speed=self.speed)
        elif pos.middle:
            print("stopped")
            self.speed = 0
            self.motor.setspeed(speed=0)

    def stop(self):
        self.motor.close()


if __name__ == '__main__':
    motor = bluemotor()
    bd = BlueDot()
    bd.when_pressed = motor.dpad
    try:
        pause()
    except KeyboardInterrupt:
        print('stop')
        motor.stop()
Beispiel #23
0
from bluedot import BlueDot
from signal import pause


def pressed(pos):
    print("button {}.{} pressed".format(pos.col, pos.row))


bd = BlueDot(cols=2)
bd.when_pressed = pressed

pause()
        drive.right(speed_factor, turn_radius)
    elif pos.angle < 0 and -160 <= pos.angle <= -20:
        turn_radius = 0 if -110 < pos.angle < -70 else pos.distance
        speed_factor = -pos.distance if pos.angle < -110 else pos.distance
        drive.left(speed_factor, turn_radius)
    elif any(
        [
            pos.angle > 0 and pos.angle > 160,
            pos.angle < 0 and pos.angle < -160,
        ]
    ):
        drive.backward(pos.distance, hold=True)


def stop(pos):
    lock.acquire()
    drive.stop()


def start(pos):
    if lock.locked():
        lock.release()
    move(pos)


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

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()
Beispiel #26
0
            message = twilio_client.messages.create(body=self.message,
                                                    from_='+15005550006',
                                                    to='<<your phone number>>')
        else:
            message = twilio_client.messages.create(
                body=self.message,
                from_='<<your twilio number>>',
                to='<<your phone number>>')
        return 'Doorbell text message sent - ' + message.sid

    def light_show(self):
        self.led.color = (1, 0, 0)
        sleep(0.5)
        self.led.color = (0, 1, 0)
        sleep(0.5)
        self.led.color = (0, 0, 1)
        sleep(0.5)
        self.led.off()


def pressed():
    doorbell = Doorbell(2, 0.5, 'There is someone at the door')
    print(doorbell.doorbell_sequence())


blue_dot = BlueDot()
blue_dot.when_pressed = pressed

if __name__ == "__main__":
    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")
Beispiel #28
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 #29
0
from bluedot import BlueDot
from picamera import PiCamera
from signal import pause

bd = BlueDot()
cam = PiCamera()

def take_picture():
    cam.capture("pic.jpg")

bd.when_pressed = take_picture

pause()
Beispiel #30
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
Beispiel #31
0
from bluedot import BlueDot
from signal import pause

def dot_was_pressed(pos):
    print("The Blue Dot was pressed at pos x={} y={}".format(pos.x, pos.y))

bd = BlueDot()
bd.square = True
bd.when_pressed = dot_was_pressed
pause()