2015年11月3日火曜日

PSoC 4でロータリーエンコーダを使う

PSoC 4 Pioneer Kitでロータリーエンコーダを使うテストをしてみた。


PSoC Creator TopDesign


cy_pinコンポーネントはピンの配列にできて、こうすると1本1本のピンではなくてuint8タイプで一気に読み取り書き取りができるようだ。普通のマイコンのGPIOみたく。Configureで内部Pull Upを指定した。

DWRエディタもP1[1:0]のように連続したピンしか指定できなくなる。

Debouncerコンポーネントを使ってチャタリング対策をした。Clock_1が1kHzなので1ms(0.5msか?)のH/Lの変動は読み飛ばすようになる。

ロータリーエンコーダの読み取り方はAVRで使ったのと同じです。(「AVRでロータリーエンコーダーを使う実験」)

PSoC Creatorのプロジェクト
https://github.com/ryood/PSoC_Rotary_Encoder_Test

メモ:


  • ロータリーエンコーダにはPSoCのQuadrature Decoder(直交位相デコーダ?)コンポーネントが使えるかと思ったがよくわからない(^q^;
  • Debouncerコンポーネントもbit数を指定するパラメータがあるがよくわからん。
  • PSoC 4 Pioneer KitでUARTを使う場合の配線図を追加した。「PSoC 4 Pioneer Kit: USB-USRT Bridgeをやってみた&前回までの補足