def motor_brake(self, motor): if motor == KMotor.MOTOR_1: pin8.write_digital(1) pin12.write_digital(1) else: pin0.write_digital(1) pin16.write_digital(1)
def motor_on(self, motor, direction, speed=100): """ Turn motor with the given direction and speed :param motor: KMotor.MOTOR1 or KMotor.Motor2 :param direction: KMotor.FORWARD or KMOTOR.REVERSE :param speed: 0 - 100 :return: """ # make sure the speed is within range if not 0 <= speed <= 100: # not display a "NO" and return display.show(Image.NO) return # speed needs to be scaled from 0-100 to 0-1023 speed = self._scale(speed) # Move Motor Forward if direction == KMotor.FORWARD: if motor == KMotor.MOTOR_1: pin8.write_analog(speed) pin12.write_digital(0) elif motor == KMotor.MOTOR_2: pin0.write_analog(speed) pin16.write_digital(0) # Move Motor In Reverse else: if motor == KMotor.MOTOR_1: pin12.write_analog(speed) pin8.write_digital(0) elif motor == KMotor.MOTOR_2: pin16.write_analog(speed) pin0.write_digital(0)
def removePowerFromSwitches(): pin0.write_digital(0) # switch 1, coin 1 pin1.write_digital(0) # switch 1, coin 2 pin2.write_digital(0) # switch 2, coin 1 pin3.write_digital(0) # switch 2, coin 2 pin4.write_digital(0) # switch 3, coin 1 pin6.write_digital(0) # switch 3, coin 2 pin7.write_digital(0) # switch 4, coin 1 pin9.write_digital(0) # switch 4, coin 2
def motor_brake(self, motor): """ Brake the selected motor. :param motor: :return: """ if motor == KMotor.MOTOR_1: pin8.write_digital(1) pin12.write_digital(1) else: pin0.write_digital(1) pin16.write_digital(1)
def Light(colour, illuminate): if colour == "Red": if illuminate == "On": pin0.write_digital(1) elif illuminate == "Off": pin0.write_digital(0) elif colour == "Yellow": if illuminate == "On": pin1.write_digital(1) elif illuminate == "Off": pin1.write_digital(0) elif colour == "Green": if illuminate == "On": pin2.write_digital(1) elif illuminate == "Off": pin2.write_digital(0)
def motor_on(self, motor, direction, speed=100): if not 0 <= speed <= 100: display.show(Image.NO) return speed = self._scale(speed) if direction == KMotor.FORWARD: if motor == KMotor.MOTOR_1: pin8.write_analog(speed) pin12.write_digital(0) elif motor == KMotor.MOTOR_2: pin0.write_analog(speed) pin16.write_digital(0) else: if motor == KMotor.MOTOR_1: pin12.write_analog(speed) pin8.write_digital(0) elif motor == KMotor.MOTOR_2: pin16.write_analog(speed) pin0.write_digital(0)
def State(state): if state == "stop": pin0.write_digital(1) pin1.write_digital(0) pin2.write_digital(0) elif state == "getReady": pin0.write_digital(1) pin1.write_digital(1) pin2.write_digital(0) elif state == "go": pin0.write_digital(0) pin1.write_digital(0) pin2.write_digital(1) elif state == "readyToStop": pin0.write_digital(0) pin1.write_digital(1) pin2.write_digital(0)
try: message = radio.receive() except ValueError: radio.off() sleep(100) radio.on() message = None direction = None if message is not None: data = message.split(":") if data[0] == "move": direction = data[1] if direction is not None: display.show(ARROWS[direction]) pins = DIRECTIONS[direction] # to avoid shorting motors # first turn everything off then turn on the ones that need to be for value in range(2): for index, pin in enumerate([pin0, pin1, pin2, pin8]): if pins[index] == value: pin.write_digital(value) sleep(50) else: pin0.write_digital(0) pin8.write_digital(0) pin1.write_digital(0) pin2.write_digital(0) display.show(Image.NO)
def led(illuminate): if illuminate == "On": pin0.write_digital(1) elif illuminate == "Off": pin0.write_digital(0)
def flipSwitch(switch): global switch1Pos, switch2Pos, switch3Pos, switch4Pos if switch == 1: if switch1Pos == 1: pin1.write_digital(1) sleep(500) pin1.write_digital(0) switch1Pos = 2 panelLEDs(0,(0,55,100)) flipSignalPoleLEDs(0, 2) else: pin0.write_digital(1) sleep(500) pin0.write_digital(0) switch1Pos = 1 panelLEDs(0,(55,100,0)) flipSignalPoleLEDs(0, 1) elif switch == 2: if switch2Pos == 1: pin3.write_digital(1) sleep(500) pin3.write_digital(0) switch2Pos = 2 panelLEDs(1,(0,55,100)) flipSignalPoleLEDs(2, 2) else: pin2.write_digital(1) sleep(500) pin2.write_digital(0) switch2Pos = 1 panelLEDs(1,(55,100,0)) flipSignalPoleLEDs(2, 1) elif switch == 3: if switch3Pos == 1: pin6.write_digital(1) sleep(500) pin6.write_digital(0) switch3Pos = 2 panelLEDs(2,(0,55,100)) flipSignalPoleLEDs(4, 2) else: pin4.write_digital(1) sleep(500) pin4.write_digital(0) switch3Pos = 1 panelLEDs(2,(55,100,0)) flipSignalPoleLEDs(4, 1) elif switch == 4: if switch4Pos == 1: pin9.write_digital(1) sleep(500) pin9.write_digital(0) switch4Pos = 2 panelLEDs(3,(0,55,100)) flipSignalPoleLEDs(6, 2) else: pin7.write_digital(1) sleep(500) pin7.write_digital(0) switch4Pos = 1 panelLEDs(3,(55,100,0)) flipSignalPoleLEDs(6, 1)
from microbit import pin0, display, Image import music pin0.is_touched() pin0.write_digital(1) music.play(music.BA_DING)