JH7UBCブログ

アマチュア無線 電子工作 家庭菜園など趣味のブログです

Raspberry Pi Pico CircuitPython ロータリーエンコーダ テスト

2022-04-23 10:45:09 | Raspberry Pi Pico
 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の値が表示されました。

 ロータリーエンコーダを回すたびに、確実にカウントアップ、カウントダウンされました。

最新の画像もっと見る

コメントを投稿