稼働中

マイクロビット(m_04)microbit.button

button

「microbit」モジュールには「display, Image, button_a, button_b, accelerometer, compass,pin0, pin1, pin2, pin3, pin4 pin5, pin6, pin7, pin8, pin9, pin10, pin11, pin12,pin13, pin14, pin15, pin16, pin19, pin20,i2c, spi, uart, panic, reset, running_time, sleep, temperature」の関数などがあります。

※「microbit」モジュールを「from microbit import *」でインポートした前提で記載しています。

(03)microbit.button

button_a、button_bのボタンがあります。各々「.is_pressed()、.was_pressed()、.get_presses()」の関数があります。

(03-1)is_pressed()

指定のボタンが押されていれば True を返し、押されていなければ False を返します。

ボタンAで「A」をプリント、ボタンBでAボタンの回数を表示しブレーク


#!/usr/bin/env python
# -*- coding: utf-8 -*-
from microbit import *
display.show(Image.HAPPY)
while True:
    if button_a.is_pressed():
        print('A')
        sleep(500)
    if button_b.is_pressed():
        print('B_Break')
        print('A',button_a.get_presses())
        break
実行結果
>>> %Run 0830_test_01.py
A           # Aボタンが押された
A           # Aボタンが押された
A           # Aボタンが押された 計3回押された
B_Break     # Bボタンが押された
A 3         # Aボタンを押した回数3を表示後にブレーク
            
>>> %Run 0830_test_01.py
B_Break     # Bボタンが押された
A 0         # Aボタンを押した回数0を表示後にブレーク

(03-2)was_pressed()

デバイスが起動されてから押された、もしくは前回に呼ばれてから押された、かによって True または False を返します。
ボタンを押すとTrue、表示するとFalseに戻ります。呼び出すとTrueの状態がクリアされる。呼び出す前にボタンが押されなければTrueになりません。


>>> type(button_b)
<class 'MicroBitButton'>
>>> button_b.was_pressed()
False

#ボタンを押したので
>>> button_b.was_pressed()
True

#表示されたのでFalseに戻る
>>> button_b.was_pressed()
False
>>> 

(03-3)get_presses()

ボタンを押した回数の合計を返し、返す前に回数をゼロにリセットします。


>>> button_a.get_presses()
0
# Aボタンを3回押した後で実行したので3が表示
>>> button_a.get_presses()
3

# Aボタンの押した回数を返したのでリセット
>>> button_a.get_presses()
0
>>> 

まとめ

microbitモジュールのbutton_a、button_bについて記載しました。