JH7UBCブログ

アマチュア無線、マイコンなど趣味のブログです。

全体表示

[ リスト ]

 今日は、Arduinoでロータリーエンコーダを使うスケッチを試しました。
 
 Arduinoでロータリーエンコーダを使うスケッチは、以前にPICでロータリーエンコーダを使う時にwsnakのブログのスケッチを参考にさせていただきました。
 
 今回は、JA2GQPさんのダウンロードサイトからダウンロードしたライブラリを試しました。(Arduino AD9850 DDSの中にあります)
 
 ライブラリは、rotary.hを使いました。原典は、Ben Buxton氏の「Buxtronix」というウェブサイトにあります。
 
スケッチは、次のとおりです。
 
イメージ 1
 
 Arduinoとロータリーエンコーダを接続して動作をチェック。たいへんよく動作します。
 
 ロータリーエンコーダのA,B端子をArduinoの2,3番ピンに接続しました。
 
 ロータリーエンコーダは、秋月電子で販売しているRE-160F-40E3-20A-24Pです。(200円)
 
イメージ 2
 スケッチをArduinoに書き込み、RUNするとエンコーダの回転方向によって、「Right」「Left」をシリアルモニタに表示します。
 
イメージ 3
 このスケッチは、Arduinoの割り込み処理を利用しています。
 
 ピンの状態が変化した時に割り込みが生じ、ISR(Interrupt Service Routine)で処理を行った後、再びメインルーチンに戻ります。
 
 ロータリーエンコーダの動きに応じてかなり確実に動作しますが、Right と Leftが逆?
 
 AとBの接続を逆にすると正常。
 
 実際にどのようにエンコーダの信号を処理しているのか、プルアップは必要ないのか、など分からないところも多いです。
 
 とにかく、このライブラリとスケッチでロータリーエンコーダの処理ができます。
 
 ついでに、Arduinoの割り込み処理について、ちょっと勉強しておこうと思います。
 
 10/10追記
 
 プルアップは、ライブラリの中で行われるので、外付けのプルアップ抵抗は必要ありません。
 
 秋月のロータイr-エンコーダーでは、Right と Leftが逆になるようです。
 
 aitendoのエンコーダでは、スケッチのとおりになるようです。
 

閉じる コメント(0)

コメント投稿

顔アイコン

顔アイコン・表示画像の選択

名前パスワードブログ
絵文字
×
  • オリジナル
  • SoftBank1
  • SoftBank2
  • SoftBank3
  • SoftBank4
  • docomo1
  • docomo2
  • au1
  • au2
  • au3
  • au4
投稿

開く トラックバック(0)


.


プライバシー -  利用規約 -  メディアステートメント -  ガイドライン -  順守事項 -  ご意見・ご要望 -  ヘルプ・お問い合わせ

Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.

みんなの更新記事