Пример #1
0
def get_talk_time(minutes):
    """Setup talk time"""
    display.scroll('A -1, B +1')

    # clear press counters

    button_a.get_presses()
    button_b.get_presses()

    quit_flag = False

    while quit_flag is not True:
        minutes = minutes - button_a.get_presses() \
            + button_b.get_presses()
        display_minutes(int(minutes))

        # To exit press a for 2 seconds

        if button_a.is_pressed():
            start = running_time()

            while button_a.is_pressed():
                if running_time() - start > 2000:
                    quit_flag = True
                    display.scroll(str(int(minutes)))

    return minutes
Пример #2
0
def main():
    global C
    display_init()
    D.repaint(60)
    D.clear()
    press_count = A.get_presses() + B.get_presses()
    while press_count == A.get_presses() + B.get_presses():
        pulse(150)
    C = running_time()
    D.repaint(60)
    run_game()
    game_over()
Пример #3
0
def get_button_presses():
    """ returns how many times button_a is
        pressed until button_b is pressed
    """

    # getting the count now resets the counter
    num = button_a.get_presses()

    # sleep until button_b is pressed ...
    while not button_b.is_pressed():
        sleep(100)

    # get the count again to get the number of
    # button_a presses since the last call
    num = button_a.get_presses()

    # return the result ...
    return num
Пример #4
0
def get_button_presses():
    """ returns how many times button_a is
        pressed until button_b is pressed
    """

    # getting the count now resets the counter
    num = button_a.get_presses()

    # sleep until button_b is pressed ...
    while not button_b.is_pressed():
        sleep(100)

    # get the count again to get the number of
    # button_a presses since the last call
    num = button_a.get_presses()

    # return the result ...
    return num
Пример #5
0
def Speed_measurement():
    pin14.write_digital(1)
    sleep(5000)
    IR_R = button_a.get_presses()
    IR_L = button_b.get_presses()
    RPM_R = IR_R
    RPM_L = IR_L
    print("\r" + "RPM_R:{:3.0f}r/min".format(RPM_R),
          "RPM_L:{:3.0f}r/min".format(RPM_L),
          end='')
Пример #6
0
 def get_cast_spell(self):
     chain = []
     for _ in range(self.level):
         if (button_a.get_presses() > 0):
             chain.append("A")
             display.show("A")
         elif (button_b.get_presses() > 0):
             chain.append("B")
             display.show("B")
     return chain
Пример #7
0
def get_direction(method, positive, negative):
    value = (method() + 300) // 700
    if value == 0:
        return None
    value = value // abs(value)
    if value > 0:
        return positive
    return negative


radio.on()


while True:
    rv = None
    ct_a = button_a.get_presses()
    if ct_a > 0:
        rv = 'btn:a'
    else:
        ct_b = button_b.get_presses()
        if ct_b > 0:
            rv = 'btn:b'
    if rv is not None:
        print(rv)
        radio.send(rv)
        sleep(SLEEP_TIME)

    value = None
    for direction in DIRECTIONS:
        value = get_direction(*direction)
        if value is not None:
Пример #8
0
    [0, 255, 0],  # green
    [0, 0, 255],  # blue
    [255, 0, 255],  # purple
    [255, 80, 0]  # orange
)
color_i = 0
color = colors[color_i]
rainbow = Rainbow()
leds = range(24)

i = 0
ii = 1

while True:
    while True:
        if button_a.get_presses():
            break
        if button_b.get_presses():
            color_i += 1
            if color_i >= len(colors):
                color_i = 0
            color = colors[color_i]
    
        heartbeat(l)

        for other_led in (0, 1, 2, 3, 4, 5):
            np[l - other_led] = [max(c - int(c * 0.2 * other_led) - 1, 0) for c in color]
        np.show()
        sleep(100)
        l += 1
        if l >= 24:
Пример #9
0
FACES = [
    Image("00000:09090:00000:99999:00000"),
    Image("00000:09090:03930:09990:03930"),
]

INDEX = 0

display.scroll(SPEECH[INDEX][1])


def speak(to_say):
    global FACES
    words = to_say.split(" ")
    index = 0
    for word in words:
        display.show(FACES[index])
        speech.say(word)
        sleep(10)
        index = 1 - index


while True:
    ct = button_a.get_presses()
    if ct > 0:
        INDEX += ct
        while INDEX >= len(SPEECH):
            INDEX = INDEX - len(SPEECH)
        display.scroll(SPEECH[INDEX][0])
    if button_b.was_pressed():
        speak(SPEECH[INDEX][1])
    display.show(Image.HAPPY)
Пример #10
0
            elif clicks == 5:  #reload sample program
                for i, d in enumerate(prog):
                    memory[i] = d
                memRead(pc)
            elif clicks == 0:  #no button clear data
                databyte = "00000000"
                dataWrite(databyte)

        else:
            display.set_pixel(row, col,
                              (7 * (display.get_pixel(row, col) < 1)))
            dataRead()

    elif button_b.is_pressed():
        longpress = 0
        clicks = button_a.get_presses()
        clicks = 0
        while button_b.is_pressed():
            sleep(100)
            longpress = longpress + 1
        if longpress > 5:  #options if button down >0.5second
            clicks = button_a.get_presses()
            if clicks == 1:
                memWrite(pc)
                pc = min(pc + 1, 255)
                memRead(pc)
            elif clicks == 2:
                pc = max(0, pc - 1)
                memRead(pc)
            elif clicks == 3:  #goto mem addr from data entry
                dataRead()
Пример #11
0
from microbit import display, Image
from microbit import sleep, button_a


def set_leds(level: int):
    """Set all LEDs level to equal value."""
    display.show(Image('{0}:{0}:{0}:{0}:{0}'.format(str(level) * 5)))


def blink():
    """Blink by all LEDs"""
    display.clear()
    sleep(500)
    set_leds(9)
    sleep(500)
    display.clear()


blink()
sleep(10000)
display.scroll(str(button_a.get_presses()))  # Number of presses
Пример #12
0
from microbit import display
from microbit import sleep
from microbit import button_a, button_b

effects = 1

while True:
    display.clear()
    effects -= button_a.get_presses()
    effects += button_b.get_presses()
    if effects > 0:
        for i in range(10):
            display.set_pixel(2, 2, i)
            sleep(10)
    if effects > 1:
        for i in range(4, 10):
            display.set_pixel(2, 1, i)
            display.set_pixel(2, 3, i)
            display.set_pixel(1, 2, i)
            display.set_pixel(3, 2, i)
            sleep(20)
    if effects > 2:
        for i in range(2, 10):
            display.set_pixel(1, 1, i)
            display.set_pixel(3, 1, i)
            display.set_pixel(1, 3, i)
            display.set_pixel(3, 3, i)
            display.set_pixel(2, 2, 9 - i)
            sleep(20)
    if effects > 3:
        for i in range(9, -1, -1):
Пример #13
0
    def generate(self, requested=0):
        particle_count = len(self.particles)
        self.max_particles = max(requested + self.max_particles, 0)
        if self.max_particles > 0:
            new_particle_count = self.max_particles - particle_count
            for i in range(new_particle_count):
                particle = FallingParticle(
                    random.randint(MIN_SPEED, MAX_SPEED),
                    random.randint(0, MAX_X))
                self.particles.append(particle)

    def render(self):
        display.clear()
        for particle in self.particles:
            display.set_pixel(particle.x, particle.y, particle.brightness)

    def advance(self):
        for particle in self.particles[:]:
            particle.drop()
            if particle.y > MAX_Y:
                self.particles.remove(particle)


animator = Animator()
while True:
    animator.generate(requested=button_a.get_presses() -
                      button_b.get_presses())
    animator.render()
    animator.advance()
    sleep(100)