2021年5月25日火曜日

Raspberry Pi Picoとpico displayでボタンの状態を取得する

MicroPythonでpico displayについているA/B/X/Yボタンの状態を取得する事が出来ます。今回は押されたボタンの文字をディスプレイに表示します。

実行手順

※既に実行環境が整っている場合は手順1-3は飛ばしてください。
1. Raspberry Pi Picoとpico displayを接続します(pico displayの裏にUSBコネクタの絵が印刷されているので、Raspberry Pi PicoのUSBと向きを合わせます)。
pico displayは秋月電子で購入しました。
Pico Display Pack
https://akizukidenshi.com/catalog/g/gM-16238/

2. piromoni-picoのリポジトリの最新releaseのuf2ファイルをダウンロードする
https://github.com/pimoroni/pimoroni-pico/releases
※2021/05/08時点では、以下のファイルが最新でした。
pimoroni-pico-v0.1.5-micropython-v1.15.uf2

3. BOOTSELボタンを接続しながら、パソコンにUSBケーブルで接続します
2でダウンロードしたuf2ファイルをコピーします。

4. Thonnyで以下のプログラムをRaspberry Pi Picoにmain.pyとして保存して、実行します。
import utime
import picodisplay

# initialize
buf = bytearray(picodisplay.get_width() * picodisplay.get_height() * 2)
picodisplay.init(buf)


while True:
    # clear background
    picodisplay.set_pen(0, 0, 0)
    picodisplay.clear()
    picodisplay.set_pen(255, 255, 255)

    message = ''
    # A button
    if picodisplay.is_pressed(picodisplay.BUTTON_A):
        message += 'A'
    # B button
    if picodisplay.is_pressed(picodisplay.BUTTON_B):
        message += 'B'
    # X button
    if picodisplay.is_pressed(picodisplay.BUTTON_X):
        message += 'X'
    # Y button
    if picodisplay.is_pressed(picodisplay.BUTTON_Y):
        message += 'Y'
    picodisplay.text(message, 4, 4, picodisplay.get_width(), 5)
    picodisplay.update()
    utime.sleep_ms(1000)

is_pressedメソッドでボタンの状態を取得します。状態を取得するボタンの指定は引数としてBUTTON_A/BUTTON_B/BUTTON_X/BUTTON_Yを渡します。

関連情報

Raspberry Pi Picoとpico displayで文字列を表示する

Raspberry Pi Picoとpico displayで1文字ごとに色を変えて描画する

Raspberry Pi Picoとpico displayで水玉模様を描画する

Raspberry Pi Picoとpico displayで市松模様を描画する

Raspberry Pi Picoとpico displayでフルカラーLEDを光らせる

Raspberry Pi Picoとpico displayでバックライトの明るさを変更する

0 件のコメント:

コメントを投稿