Raspberry Pi Pico CircuitPython の勉強を続けるにあたって、最も参考になるのは、CircuitPythonの本家Adafruitのサイトです。
左側のメニューの中から「CircuitPython Pins and Modules」を表示してみると、Rapberry Pi icoをPCに接続して、MuエディタからREPLでボードのピンの名前を表示させる方法が出ています。
プロンプト>>>に下のように入力するとPinの名前が表示されます。
また、CircuitPythonのビルトインmoduleを下のように入力することによって表示させることができます。
かなりたくさんのmoduleがあるようです。これまで使ったのは、
board
digitalio
analogio
time
pwmio
です。
rotaryioというロータリーエンコーダ用のmoduleもありますので、さっそく使ってみましょう。
回路図です。GP0とGP1にロータリーエンコーダのA,B端子を接続します。
ロータリーエンコーダのpositionは、shellに表示します。
ブレッドボードです。
スクリプトです。(Adafruitのサイトに掲載されているものです。)
---------------------------------------------------------------------------
from board import *
import rotaryio
encoder = rotaryio.IncrementalEncoder(GP0,GP1)
last_position = None
while True:
position = encoder.position
if last_position is None or position != last_position:
print(position)
last_position = position
---------------------------------------------------------------------------
ロータリーエンコーダを回転させると、shellにpositionの値が表示されました。
ロータリーエンコーダを回すたびに、確実にカウントアップ、カウントダウンされました。