Skip to content

Instantly share code, notes, and snippets.

@jimmo
jimmo / button.py
Created January 7, 2018 14:16
Detecting simultaneous button presses on the micro:bit
from microbit import *
# The buttons are "simultaneous" if they're pressed within this interval.
BUTTON_DELAY_MS = 100
# How long to flash the indicator on the screen.
FLASH_TIME_MS = 500
# Is the button currently pressed?
a_pressed = False
b_pressed = False
from microbit import *
UPDATE_INTERVAL = 10000
next_update = 0
n = 0
while True:
if running_time() > next_update:
display.scroll(str(n), wait=False)
next_update = running_time() + UPDATE_INTERVAL
if button_a.was_pressed():
n += 1
from microbit import *
LIGHT_MS = 5000
pin_off_time = 0
while True:
if running_time() > pin_off_time:
pin0.write_digital(0)
if button_a.was_pressed():
pin0.write_digital(1)
pin_off_time = running_time() + LIGHT_MS
if button_b.was_pressed():
from microbit import *
while True:
if button_a.was_pressed():
pin0.write_digital(1)
start = running_time()
while running_time() - start < 5000:
pass
pin0.write_digital(0)
if button_b.was_pressed():
pin0.write_digital(0)
from microbit import *
time_last_press = 0
while True:
if button_a.was_pressed():
time_now = running_time()
display.show(str(time_now - time_last_press))
time_last_press = time_now
from microbit import *
while True:
display.show(str(running_time() // 1000))
from microbit import *
while True:
if button_a.was_pressed():
pin0.write_digital(1)
sleep(5000)
pin0.write_digital(0)
if button_b.was_pressed():
pin0.write_digital(0)
from microbit import *
while True:
if button_a.was_pressed():
display.show(Image.SQUARE, wait=False, clear=True, delay=5000)
if button_b.was_pressed():
display.clear()
from microbit import *
while True:
if button_a.was_pressed():
display.show(Image.SQUARE)
sleep(5000)
display.clear()
if button_b.was_pressed():
display.clear()
from microbit import *
while True:
if button_a.was_pressed():
display.show(Image.SQUARE)
sleep(5000)
display.clear()