UdonLibrary 1.0.0
機械システム研究部 C++ ライブラリ
読み取り中…
検索中…
一致する文字列を見つけられません
エンコーダー

Udon::EncoderPico クラス (Raspberry Pi Pico 用) を用いてエンコーダーのカウント値を取得する方法を説明します。

個別に動作するステートマシンを用いて高速ポーリングを行うため、カウント値の取りこぼしがほとんどありません。

Raspberry Pi Pico にはステートマシンが 8 個内蔵されているので、最大 8 個まで計測ができます。計測するには以下の条件を満たす必要があります。

  • A, B ピンを接続する端子が隣り合っている
  • 各 PIO 内のステートマシンに空きがある
  • 各 PIO の命令メモリに空きがある(別のプログラムがロードされていない)

‍計測開始できたかは begin 関数の戻り値から取得できます。

個別インクルード

スケッチ例

#include <Udon.hpp>
static Udon::EncoderPico encoder{ 0, 1 };
void setup()
{
encoder.begin();
}
void loop()
{
Serial.println(encoder.read());
delay(10);
}

show() でカウント値を表示できます。

void loop()
{
encoder.show();
Serial.println();
delay(10);
}