編輯器:makecode、micro:bit Python
micro:bit是一顆擁有許多感測器、按鈕且有一個顯示器(5x5矩陣LED)的微型電腦,簡單好用,但您有發現當顯示器在顯示文字時,按鈕的功能似乎會沒有作用,這是因為程式執行是採用阻斷式的程式設計,雖然在使用makecode來設計程式,都是採用事件驅動。
以上圖為例,當顯示器在顯示Hello!時,按下A鈕,顯示器並不會立即地更改顯示內容,而是讓Hello!顯示結束後才會有反應。今天要推薦一篇很棒的文章,從該篇文章您可以瞭解到使用Python程式設計會比積木式程式設計來得更靈活。
參考文章:Become a Time Lord with the BBC micro:bit
範例一、按鈕計次
1 2 3 4 5 6 | from microbit import * n = 0 while True: if button_a.was_pressed(): n += 1 display.scroll(str(n)) |
當執行上面程式時,一開始您快速連按幾個按鈕,您會發現按鈕次數統計上有問題。
1 2 3 4 5 6 | from microbit import * n = 0 while True: if button_a.was_pressed(): n += 1 display.scroll(str(n), wait=False) |
上面程式解決了按鈕次數統計錯誤的問題,但當您一直連續按鈕時,似乎不能看到您按了幾下,這是就可以採用定時顯示的方法。
範例三、採定時顯示按鈕次數
1 2 3 4 5 6 7 8 9 10 | 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 |
沒有留言:
張貼留言