« PSoCでSDカードを読み書きする2 | メイン | LCDカーソルのON/OFF - PSoC »



PSoCでロータリーエンコーダを使ってみる

◆概要

ロータリーエンコーダとは、下の写真のように「回す」ものです。

encoder.jpg

マイコンにつけて使うと、使いやすいインターフェイスを実現できます。
実際に、身の回りのものでは電子レンジなどに使われています。

私はいままではあまり気にしていませんでしたが、秋月のあるキットに使われており、
けっこう使いやすい(回して操作するのが面白い)ことがわかったので使ってみたくなりました。

そこでネットで検索したところ、わかりやすいサイトがでてきたので、ロータリーエンコーダを買って
PSoCにつなげてみました。



◆リンク

参考になるサイトは以下のとおりです。


ロータリーエンコーダを使う
↑ロータリーエンコーダの仕組みや配線方法がわかります。

ロータリーエンコーダの使い方
↑ロータリーエンコーダを使う際、どのように実装したらよいのかがわかりやすいです。


基本的にはこれらのサイトさえ見てしまえば、大丈夫だと思います(笑)
特にChaNさんのインクリメンタル型ロータリーエンコーダの回転方向を演算により判定する方法
は役に立ちました。A相と B相をバイナリコードとして見るということと、その処理の方法がポイントでした。



◆PSoCでの作成

接続はこのような感じにしました。参考にしたサイトのものと同じです。
(LCDはポート0にしています。)

encoder_kairo.png




◆プロジェクト

ここに、PSoC版のプロジェクトを上げておきます。
例によってやっつけなコードですが、とりあえず
エンコーダがどちらに回されたかを取得してLCDに表示する
ことができました。

(コメントアウトしてありますが、デバッグ用にシリアル通信で値を出力させるコードもついています)



※サンプルプロジェクト、プログラム中のコメントが左右逆になっています。orz
入れ替えてください・・・。




応援お願いします(人気blogランキングへ)

トラックバック

このエントリーのトラックバックURL:
http://www.bird-soft.net/mt/mt-tb.cgi/110

コメント

広いインターフェイスとかいうこと
ネットで広いポイントとか、面白いキットとか面白い電子レンジとか使う際
BIRDたちが、ネットで

ロータリーエンコーダを配線されたみたい。


コメントを投稿