示例#1
0
class Motor:
    def __init__(self, *args):

        self.wsw = SerialWrite();

    def straight(self, speedA = 150, speedB = 150, loopCount = 2):
        for x in range(loopCount):
            self.wsw.addData({
                'dir': [1,1], # Direction
                'speed': [speedA, speedB]
            })

    def back(self, speedA = 150, speedB = 150, loopCount = 2):
        for x in range(loopCount):
            self.wsw.addData({
                'dir': [0,0], # Direction
                'speed': [speedA, speedB]
            })

    def right(self, speed = 150, loopCount = 1):
        for x in range(loopCount):
            self.wsw.addData({
                'dir': [0,1], # Direction
                'speed': [speed, speed]
            })

    def left(self, speed = 150, loopCount = 1):
        for x in range(loopCount):
            self.wsw.addData({
                'dir': [1,0], # Direction
                'speed': [speed, speed]
            })
示例#2
0
    def __init__(self, *args):
        self.wsw = SerialWrite()

        self.eyes = Eyes()
        self.head = Head()
        self.neck = Neck()
        self.arms = Arms()
        self.motor = Motor()
示例#3
0
class Head:
    def __init__(self, *args):
        self.wsw = SerialWrite();

    def center(self, speed = 4):
        self.wsw.addData({
            'pin': 6,
            'pos': 270,
            'speed': speed
        })

    def left(self, speed = 4):
        self.wsw.addData({
            'pin': 6,
            'pos': 380,
            'speed': speed
        })

    def right(self, speed = 4):
        self.wsw.addData({
            'pin': 6,
            'pos': 50,
            'speed': speed
        })
示例#4
0
 def __init__(self, *args):
     self.wsw = SerialWrite();
示例#5
0
class Neck:
    def __init__(self, *args):
        self.wsw = SerialWrite()

    def center(self, speed=4):
        self.wsw.addData({'pin': 4, 'pos': 301, 'speed': speed})

        self.wsw.addData({'pin': 5, 'pos': 240, 'speed': speed})

    def up(self, speed=4):
        self.wsw.addData({'pin': 4, 'pos': 500, 'speed': speed})

        self.wsw.addData({'pin': 5, 'pos': 350, 'speed': speed})

    def down(self, speed=4):
        self.wsw.addData({'pin': 4, 'pos': 100, 'speed': speed})

        self.wsw.addData({'pin': 5, 'pos': 100, 'speed': speed})

    def showUp(self, speed=3):
        self.wsw.addData({'pin': 4, 'pos': 352, 'speed': speed})

        self.wsw.addData({'pin': 5, 'pos': 160, 'speed': speed})

    def showDown(self, speed=3):
        self.wsw.addData({'pin': 4, 'pos': 100, 'speed': speed})

        self.wsw.addData({'pin': 5, 'pos': 320, 'speed': speed})
示例#6
0
    def __init__(self, master):
        Frame.__init__(self, master)
        self.pack()

        self.wsw = SerialWrite()

        self.eyes = Eyes()
        self.head = Head()
        self.neck = Neck()
        self.arms = Arms()
        self.motor = Motor()
        self.happy = Happy()

        self.reset()

        self.servoSelect = Select(
            self, 'SERVO:', {
                '0': '0',
                '1': '1',
                '2': '2',
                '3': '3',
                '4': '4',
                '5': '5',
                '6': '6',
                '7': '7',
                '8': '8',
                '9': '9',
                '10': '10',
                '11': '11',
                '12': '12',
                '13': '13',
                '14': '14'
            })
        self.servoSelect.setValue('0')

        self.servoInt = TextField(self, 'Go To')
        self.servoInt.setValue(300)

        self.servoSpeed = TextField(self, 'Speed')
        self.servoSpeed.setValue(1)

        self.submit = Button(self, text="Submit", command=self.sendForm)
        self.submit.pack()

        frameArmR = Frame(self)
        frameArmR.pack(side=BOTTOM, padx=10, pady=10)

        self.btArUp = Button(frameArmR,
                             text="Arm right UP",
                             command=lambda: self.arms.rightUp())
        self.btArUp.pack(side=LEFT)

        self.btArC = Button(frameArmR,
                            text="Arm right Center",
                            command=lambda: self.arms.rightCenter())
        self.btArC.pack(side=LEFT)

        self.btArDown = Button(frameArmR,
                               text="Arm right Down",
                               command=lambda: self.arms.rightDown())
        self.btArDown.pack(side=LEFT)

        frameArmL = Frame(self)
        frameArmL.pack(side=BOTTOM, padx=10, pady=10)

        self.btAlUp = Button(frameArmL,
                             text="Arm left UP",
                             command=lambda: self.arms.leftUp())
        self.btAlUp.pack(side=LEFT)

        self.btAlC = Button(frameArmL,
                            text="Arm left Center",
                            command=lambda: self.arms.leftCenter())
        self.btAlC.pack(side=LEFT)

        self.btAlDown = Button(frameArmL,
                               text="Arm left Down",
                               command=lambda: self.arms.leftDown())
        self.btAlDown.pack(side=LEFT)

        frameNeck = Frame(self)
        frameNeck.pack(side=BOTTOM, padx=10, pady=10)

        self.btNup = Button(frameNeck,
                            text="Neck UP",
                            command=lambda: self.neck.up(4))
        self.btNup.pack(side=LEFT)

        self.btNd = Button(frameNeck,
                           text="Neck Center",
                           command=lambda: self.neck.center(4))
        self.btNd.pack(side=LEFT)

        self.btNdown = Button(frameNeck,
                              text="Neck Down",
                              command=lambda: self.neck.down(4))
        self.btNdown.pack(side=LEFT)

        frameShow = Frame(self)
        frameShow.pack(side=BOTTOM, padx=10, pady=10)

        self.btNshowUp = Button(frameShow,
                                text="Show Up",
                                command=lambda: self.neck.showUp(3))
        self.btNshowUp.pack(side=LEFT)

        self.btNshowDown = Button(frameShow,
                                  text="Show Down",
                                  command=lambda: self.neck.showDown(3))
        self.btNshowDown.pack(side=LEFT)

        frameHead = Frame(self)
        frameHead.pack(side=BOTTOM, padx=10, pady=10)

        self.btHleft = Button(frameHead,
                              text="Head Left",
                              command=lambda: self.head.left(4))
        self.btHleft.pack(side=LEFT)

        self.btHdefault = Button(frameHead,
                                 text="Head Center",
                                 command=lambda: self.head.center(4))
        self.btHdefault.pack(side=LEFT)

        self.btHright = Button(frameHead,
                               text="Head Right",
                               command=lambda: self.head.right(4))
        self.btHright.pack(side=LEFT)

        frameEyes = Frame(self)
        frameEyes.pack(side=BOTTOM, padx=10, pady=10)

        self.btEleft = Button(frameEyes,
                              text="Eyes Left",
                              command=lambda: self.eyes.left(4))
        self.btEleft.pack(side=LEFT)

        self.btEdefault = Button(frameEyes,
                                 text="Eyes Center",
                                 command=lambda: self.eyes.center(4))
        self.btEdefault.pack(side=LEFT)

        self.btEright = Button(frameEyes,
                               text="Eyes Right",
                               command=lambda: self.eyes.right(4))
        self.btEright.pack(side=LEFT)

        self.btEright = Button(frameEyes,
                               text="Eyes Down",
                               command=lambda: self.eyes.down(4))
        self.btEright.pack(side=LEFT)

        self.btEright = Button(frameEyes,
                               text="Eyes Up",
                               command=lambda: self.eyes.up(4))
        self.btEright.pack(side=LEFT)

        frameMotor = Frame(self)
        frameMotor.pack(side=BOTTOM, padx=10, pady=10)

        self.defaultMotorSpeed = 120
        self.btMleft = Button(
            frameMotor,
            text="Motor Left",
            command=lambda: self.motor.left(self.defaultMotorSpeed, 2))
        self.btMleft.pack(side=LEFT)

        self.btMdefault = Button(
            frameMotor,
            text="Motor Straight",
            command=lambda: self.motor.straight(self.defaultMotorSpeed, self.
                                                defaultMotorSpeed, 2))
        self.btMdefault.pack(side=LEFT)

        self.btMdefault = Button(
            frameMotor,
            text="Motor Back",
            command=lambda: self.motor.back(self.defaultMotorSpeed, self.
                                            defaultMotorSpeed, 2))
        self.btMdefault.pack(side=LEFT)

        self.btMright = Button(
            frameMotor,
            text="Motor Right",
            command=lambda: self.motor.right(self.defaultMotorSpeed, 2))
        self.btMright.pack(side=LEFT)

        frameEmotion = Frame(self)
        frameEmotion.pack(side=BOTTOM, padx=10, pady=10)

        self.btHappyShake = Button(frameEmotion,
                                   text="Happy Shake",
                                   command=lambda: self.happy.shake())
        self.btHappyShake.pack(side=LEFT)

        frameReset = Frame(self)
        frameReset.pack(side=BOTTOM, padx=10, pady=10)

        self.btReset = Button(frameReset,
                              text="Reset",
                              command=lambda: self.reset())
        self.btReset.pack(side=LEFT)
示例#7
0
class Arms:
    def __init__(self, *args):
        self.wsw = SerialWrite();


    def rightCenter(self, speed = 1):
            self.wsw.addData({
                'pin': 0,
                'pos': 300,
                'speed': speed
            })

    def rightUp(self, speed = 1):
        self.wsw.addData({
            'pin': 0,
            'pos': 380,
            'speed': speed
        })

    def rightDown(self, speed = 1):
        self.wsw.addData({
            'pin': 0,
            'pos': 220,
            'speed': speed
        })

    def leftCenter(self, speed = 1):
        self.wsw.addData({
            'pin': 1,
            'pos': 300,
            'speed': speed
        })

    def leftUp(self, speed = 1):
        self.wsw.addData({
            'pin': 1,
            'pos': 120,
            'speed': speed
        })

    def leftDown(self, speed = 1):
        self.wsw.addData({
            'pin': 1,
            'pos': 360,
            'speed': speed
        })
示例#8
0
    def __init__(self, *args):

        self.wsw = SerialWrite()
        self.pinRight = 8
        self.pinLeft = 9
示例#9
0
class Eyes:
    def __init__(self, *args):

        self.wsw = SerialWrite()
        self.pinRight = 8
        self.pinLeft = 9

    def center(self, speed=4):
        self.wsw.addData({'pin': self.pinRight, 'pos': 353, 'speed': speed})

        self.wsw.addData({'pin': self.pinLeft, 'pos': 248, 'speed': speed})

    def left(self, speed=4):
        self.wsw.addData({'pin': self.pinRight, 'pos': 380, 'speed': speed})

        self.wsw.addData({'pin': self.pinLeft, 'pos': 320, 'speed': speed})

    def right(self, speed=4):
        self.wsw.addData({'pin': self.pinRight, 'pos': 280, 'speed': speed})

        self.wsw.addData({'pin': self.pinLeft, 'pos': 230, 'speed': speed})

    def up(self, speed=4):
        self.wsw.addData({'pin': self.pinRight, 'pos': 280, 'speed': speed})

        self.wsw.addData({'pin': self.pinLeft, 'pos': 320, 'speed': speed})

    def down(self, speed=4):
        self.wsw.addData({'pin': self.pinRight, 'pos': 380, 'speed': speed})

        self.wsw.addData({'pin': self.pinLeft, 'pos': 230, 'speed': speed})