ロータリーエンコーダとは?回転角や方向をmicro:bitで調べる方法

micro:bit

コンニチハ AsoBot ダヨ

micro:bitでロータリーエンコーダーを使って、回転操作をプログラムに取り入れてみないカイ?
さて今日はロータリーエンコーダを使ってモノの回転をどうやって見るかというお話しようと思うヨ。

ロータリーエンコーダってとは?

まずはロータリーエンコーダというものについてお話しよう。
これは ロータリ=回転 と エンコード=変換する を組み合わせた言葉ナンダ。
つまりモノの回転数を電気的に出力する装置という意味ダヨ。

この機能を利用すると、いろいろなモノの回転の角度や速さを数字で見ることができるんダ。
ロータリーエンコーダーは、回転の角度や方向を検出するセンサーだヨ。
​一般的には円盤みたいな部品を持っていて、それを回すことでデジタル信号を出力し、回転方向や回転数を検出できるノダ。

ロータリーエンコーダってどんなモノ?

今回紹介するエンコーダの原理は光を使って、それを遮ったり透過させたりして光の強弱を読み取るんダ。
その光の強さを電気信号に変換するとオン・オフといったデジタル信号で回転の様子を数字で見ることができるんだヨ。

これをこんな感じでクルクル回すんダ。

回転を見てみよう

今回も使うのはmicro:bitダヨ。

[必要なもの]
・micro:bit本体
・電池2本(1.5V×2)
・ロータリーエンコーダー
・ジャンパーワイヤー
・ブレッドボード(任意)※今回はAsoBotが作った基板を使うヨ

そして接続はこんな感じで組み立てるノダ

[接続方法 : ロータリーエンコーダーのピン]
 VCC → 電池(+)に接続
 GND → 電池(-)に接続
 DG → micro:bitのP8

プログラムの作成

プログラムはMakeCodeを使って書くヨ。
信号はP8を使ってデジタル値で読み込むんダ。

エンコーダは2つの変数で回転を見るヨ。
・正パルス(光が通る時)
・正負パルス(光が通る時/光が遮る時)
の2つの信号を表示してミタ。

動かしてみよう

これは緑色の線はエンコーダのディスクが光が通る時だけ検出して、紫色は光が通る時と遮られる時の2つを検出しているんダ
だから紫の設定だと緑の設定の2倍の性能を発揮することができるんダ
コレは同じモノを使っても使い方次第で性能をアップできることを教えてくれるネ

応用例

ロータリーエンコーダーを使って、他にも次のようなプロジェクトに挑戦できるヨ
​・音量や明るさの調整 → 回転量をスピーカーの音量やライトの明るさの量に設定する
・メニューの選択 → 回転量をメニューの移動量に設定する
・ゲームのコントローラー → 回転角度をコントローラの倒す量に設定する

まとめ

ロータリーエンコーダーは、micro:bitでワクワクするインタラクティブなプロジェクトに最適なデバイスなのデス。
​MakeCodeを使えば、誰でも簡単に扱えるから、さまざまなプロジェクトに活用してみてネ!

さぁーて、今日はココマデダ!!
楽しかったカナ?
科学は奥深い、だから楽しいノダ!!

コメント