Esempio n. 1
0
 def __init__(self, master):
     # create GUI
     self.master = master
     self.master.title('JoyStick Test')
     label = tk.Label(root, text='Joystick')
     label.pack()
     self.gui = GuiJs(master=root)
     self.gui.createCordinateLabelJs1()
     self.gui.createCordinateLabelJs2()
     self.gui.createCircleJs1(200, 200, 220, 220, 'red')
     self.gui.createButton(btn_name='Finish', callback=self.cleanup)
     self.gui.createCircleJs2(200, 200, 220, 220, 'blue')
     #JoyStick instanse
     self.js1 = JoyStick(0, 3, 27)
     self.val_vert1 = 0
     self.val_horz1 = 0
     self.move_vert1 = 0
     self.move_horz1 = 0
     self.js2 = JoyStick(7, 4, 22)
     self.val_vert2 = 0
     self.val_horz2 = 0
     self.move_vert2 = 0
     self.move_horz2 = 0
     #ServMotor
     #self.servo= ServMotor(18,180,0)
     #self.servo = I2cServo()
     # Led instance
     self.Led = Led(17)
Esempio n. 2
0
 def __init__(self, master):
     # create GUI
     self.gpio = pigpio.pi()
     self.master = master
     self.master.title('JoyStick Test')
     label = tk.Label(root, text='Joystick')
     label.pack()
     self.gui = GuiRarm(master=root)
     self.gui.createCordinateLabelServo()
     self.gui.createButton(btn_name='Finish', callback=self.cleanup)
     #self.gui.createCircleJs2(200,200,220,220,'blue')
     #JoyStick instanse
     self.jsR = JoyStick(-1, 4, 27)
     self.val_horz = 0
     #self.jsL = JoyStick(7,4,22)
     self.jsL = JoyStick(2, -1, 22)
     self.val_vert = 0
     #Volume instance
     self.vol = Volume(6)
     self.val_vol = 0
     self.vol_sum = 0
     self.sampleCount = 0
     #ServMotor
     #self.servo= ServMotor(18,180,0)
     self.servo = I2cServo()
     #PWM Freq: 60Hz
     self.servo.setPWMFreq(60)
     # Led instance
     self.Led = Led(4)
     self.Led.setLedOn()
     # PowrSw
     self.PowSw = Sw(17, pud='pudup')
     self.PowSwCont = 0
Esempio n. 3
0
def main():
    brick.sound.beep()
    joystickEvent = detectJoystick(['Controller'])
    if joystickEvent:
        robot = Robot(Motor(Port.D), Motor(Port.A), Motor(Port.B), 55, 200)
        t = threading.Thread(target=autoStopLoop, args=(robot, ))
        t.start()

        def onButtonPressed(code):
            if code == BUTTON_X:
                robot.inactive()
                return False
            if code == BUTTON_A:
                robot.fire()
            return True

        def onLeftJoyChanged(x, y):
            robot.drive(x, y)

        def onRightJoyChanged(x, y):
            robot.target(x)

        joystick = JoyStick(joystickEvent)
        joystick.setButtonHandler(onButtonPressed)
        joystick.setJoyLeftHandler(onLeftJoyChanged)
        joystick.setJoyRightHandler(onRightJoyChanged)
        joystick.startLoop()
    else:
        brick.sound.beep()
Esempio n. 4
0
 def __init__(self,master):
     # create GUI
     self.master = master
     self.master.title('JoyStick Test')
     label = tk.Label(root,text='Joystick')
     label.pack()
     self.gui = GuiJs(master=root)
     self.gui.createCordinateLabel()
     self.gui.createCircle(200,200,220,220,'red')
     self.gui.createButton(btn_name='Finish',callback=self.cleanup)
     #JoyStick instanse
     self.js = JoyStick()
     self.val_vert = 0
     self.val_horz = 0
     self.move_vert = 0
     self.move_horz = 0
     #ServMotor
     self.sm= ServMotor(18,180,0)
     # Led instance
     self.Led = Led(17)
     self.Sw = Sw(4,'either',self.callback_Sw)
Esempio n. 5
0
    #    draw.line((center, (center[0]+coordinates[0]*radius/rescale,center[1]-coordinates[1]*radius/rescale)), fill=255)
    #    print(coordinates)
    circleCenter = (center[0] + coordinates[0] * radius / 2,
                    center[1] - coordinates[1] * radius / 2)
    smallRadius = radius / 3.0
    draw.ellipse(
        (circleCenter[0] - smallRadius, circleCenter[1] - smallRadius,
         circleCenter[0] + smallRadius, circleCenter[1] + smallRadius),
        outline=255)
    #draw.ellipse((center[0]+coordinates[0]*radius/rescale,center[1]-coordinates[1]*radius/rescale)), fill=255)


screen = Screen()

servos = [Servo(channel) for channel in [0, 1, 2, 3]]
joyStick1 = JoyStick(1, JoyStick.Address_Ox48, [1, 0], 4)
joyStick2 = JoyStick(1, JoyStick.Address_Ox48, [3, 2], 17)

robot = Robot()

for servo in servos:
    servo.set_angle(90)


def applyPosition(servo, joyStick, axis, multiplier=1):
    position = joyStick.last_position[axis]
    print(position)
    threshhold = 0.11
    if position > threshhold or position < -threshhold:
        servo.go_to_angle(servo.angle + robot.speed * multiplier * position)
        return True
Esempio n. 6
0
from __future__ import division
from __future__ import print_function

import sys

sys.path.append('..')
from joystick import JoyStick
from servo import ServoController

if __name__ == '__main__':
    sc = ServoController(angle_range=80)
    js = JoyStick()
    while True:
        # read serial
        v = js.read()
        # convert to servo angle
        angle = sc.analog2deg(v)
        print(angle)
        for i in range(len(angle)):
            sc.control([i, angle[i]])