2022年6月9日木曜日

Maker Pi RP2040とCircuitPythonで、Grove 7セグメント4桁ディスプレイを接続して数値を表示する

Maker Pi RP2040には7つのGroveコネクタがあり、様々なGroveデバイスを接続することが出来ます。Grove 7セグメント4桁ディスプレイ(Grove 4-Digit Display)を接続して数値を表示するには、以下の手順を実行します。

〇Maker Pi RP2040と接続したGrove 4-Digit Display

実行手順

1. Maker Pi RP2040をパソコンにUSBで接続して、Mu Editorを起動します。

2. 以下のリポジトリ(CircuitPython library für the TM1637 7-Segment Display)からCircuitPython用の4-Digit Displayドライバクラスを取得します。
https://github.com/bablokb/circuitpython-tm1637
以下のpythonソースをダウンロードして、Maker Pi RP2040のlibディレクトリ以下にエクスプローラーなどを用いてコピーします。
https://github.com/bablokb/circuitpython-tm1637/blob/master/files/lib/TM1637.py

3. code.pyを開いて、以下のプログラムを書き込みます。 初期状態では0の数値が表示され、GP20ボタンで数値を増加・GP21ボタンで数値を減少する事ができます。Grove 7セグメント4桁ディスプレイはGrove6コネクターに接続します。
※circuit python 7.2.5以降にアップグレードしてから実行してください。
※Mu Editorを使用せず、code.pyを直接エクスプローラーなどから保存する事も出来ます。
import board
import time
import digitalio
import tm1637

# Grove 4-digit displayの初期化
# Grove6コネクタを使用する場合はGP27とGP26を使用します
tm = tm1637.TM1637(clk=board.GP27, dio=board.GP26)
# 明るさを設定
tm.brightness(5)

# GP20ボタンの初期化
dio20 = digitalio.DigitalInOut(board.GP20)
dio20.direction = digitalio.Direction.INPUT
dio20.pull = digitalio.Pull.UP

# GP21ボタンの初期化
dio21 = digitalio.DigitalInOut(board.GP21)
dio21.direction = digitalio.Direction.INPUT
dio21.pull = digitalio.Pull.UP

num=0
while True:
    # GP20ボタンが押されたら数値アップ
    if dio20.value == False:
        num = num+1 if num < 10000 else 0
    # GP21ボタンが押されたら数値ダウン
    if dio21.value == False:
        num = num-1 if num > 0 else 9999
    tm.number(num)
    time.sleep(0.1)

関連情報

・Maker Pi RP2040に関する他の情報はこちらを参照してください。

・Mu Editorに関する他の情報はこちらを参照してください。

0 件のコメント:

コメントを投稿