United Statesからアクセスのようです。言語設定をEnglishに切り替えますか?
Switch to English site
Skip to main content

Raspberry Piで使用できる入力は?Part1 – スイッチとロジックレベルのセンサー

この記事はJames MacfarlaneとLucy Rogersが執筆しました。

はじめに

コンピュータにおいて、入力と出力とは、情報をコンピュータに入れたり出したりするための一つの手段である。これを可能にするハードウェアをインターフェースと呼ぶ。インターフェースには1つの機能しか持たないもの(例:HDMI – 出力のみ)と、双方方向のもの(例:USB)があります。

大まかに言えば、インターフェースに接続されるものは、入力デバイス(キーボードなど)と出力デバイス(モニターなど)に分類されます。これらのデバイス(周辺機器)のほとんどは、コンピュータが人間と対話するために設計されています。しかし、IoTでは、コンピュータと「モノ」を対話する必要があります。IoTにおける入力デバイスとは、スイッチや光センサーの事を示し、出力デバイスは、モーターのスイッチを入れるリレーのようなものを表します。

IoTの開発において、ゼロからUSBやEthernetなどのインターフェース・ハードウェアを自作することは簡単ではありません。そこで、Raspberry PiのGPIOポートが役に立ちます。このポートを使用すれば、複雑なハードウェアやソフトウェアを用意することなく、様々な種類の入出力デバイスを接続することができます。このシリーズでは、そんなインターフェースとしての「入力デバイス」を取り上げます。

先ほど取り上げたRaspberry Pi (182-2098) は、もちろん電子機器(コンピュータ)です。Raspberry Piに温度や光量などの物質量を計測・検知させるためには、それらを電気信号(電圧など)に変化する必要があります。電気信号に変えるのはセンサーの仕事です。スマホなどの「スマートデバイス」にはこのセンサーがたくさん搭載されています。センサーは近年コストが減り、このようなプロジェクトを行う際にコスト面での心配が少なくなりました。

私たち人間の身体は、外部からの刺激を検知して世界を伝えるセンサーのネットワークで覆われています。例えば私たちの皮膚は、触覚や温度を感じるのに役立ちます。舌や鼻は化学物質を感知します。目は、光、色、動きに反応し、距離を判断することができます。耳は音の振動を検知します。平衡感覚は、どちらの方向にいるのか、移動しているのかを判断できます。プロプリオセプション(固有受容間隔)は、目で見なくても手足の位置を知る事ができます。

ではコンピュータはどうでしょうか?コンピュータでは上記のようなセンサーのネットワークを回路を用いてコンピュータと接続し実現しています。またセンサーは、多種多様な物質量を測定できるだけでなく、多種多様な電気出力インターフェースを備えています。これらの中にはI2Cなど、Piで使用可能なインターフェースがあり、直接接続することができます。また、インターフェースを一致させるために、追加の回路(A/D変換回路など)を必要とするものもあります。このような追加回路は、Raspberry Pi HATなどの形で購入できる場合もあれば、自作する場合もあります。

この記事ではシンプルな入力デバイスの1つである「スイッチ」の説明から始まり、一般的なセンサーについて説明します。また、センサーが使用するさまざまタイプのインターフェースと、それらをPiに接続する方法についても説明します。さらに、カメラなどPiの他の入力デバイスについても見ていきます。

このシリーズをすべて読み終える頃には、様々な種類のセンサーや入力デバイスについて、Raspberry Piとセンサーの接続する方法について、十分な理解が得られている事でしょう。シリーズでは、全種類のセンサーや使い方を紹介しているわけではありませんが、プロジェクトを完成させるために必要な情報をオンラインで検索できるように、十分な予備知識と自信を提供できる事を願っています。

このシリーズでは、センサーや入力デバイスをハードウェアの観点から扱っていきます。

ここでは、センサーなどの入力デバイスを大きく2つに分けて考えます:

1. スイッチとロジックレベルのセンサー – 純粋にオン/オフのタイプの出力を生成するもの。これらについてはこの記事(Part1)で取り上げています。

2. 比例センサー – 滑らかに変化する出力を得る事ができるセンサー。これらについてはPart2で取り上げます。

スイッチとロジックレベルのセンサー

このセクションでは、スイッチやその他の入力デバイスのうち、ロジックレベル(オン/オフ)の出力を持つものを取り上げます。ほとんどの場合、GPIOピンに直接接続するか、1つか2つの抵抗で回路を作成し接続することができ、ソフトウェアの作業はほとんど必要ありません。

ロジック(論理)レベル

GPIOの入力はロジックレベルのインターフェースです。3.3Vのロジックレベルを使用しています。つまり、入力する電圧は、0V(グラウンド)に近い電圧(ソフトウェアが読み取る時にロジック0(Low)になる)か、3.3Vに近い電圧(ソフトウェアが読み取る時にロジック1(High)になる)のいずれかである必要があります。一方でGPIOピンは、アナログ信号(値の範囲で変化する信号)を読み取る事ができません。そのため、0Vから3.3Vに電圧を徐々に上げると、ソフトウェアによって読み取られる値が突然0から1に変わります。電圧の大きさにより、ソフトウェアで読み取られる値が0か1かになりますが、ある入力電圧をに設定すると、0と1の間でちらつくことがあります。この現象はRaspberry Pi3の場合、1.25V付近で発生します。一般的にこの電圧をしきい値電圧と言います

ピンが0から1に切り替わるしきい値電圧は、正確には定義されていません。実際には、信号が増加しているか減少しているかにより毎回わずかに異なります。これはヒステリシス特性があるためです。この特性は長い配線によって引き起こされるノイズで発生する、前述の「信号のちらつき」を防ぐためです。念のため、Piでロジック0(Low)とみなしたいものは0.8V以下、ロジック1(High)と見なしたいものは2.5V以上にしておくとよいでしょう。信号電圧が3.3Vを超えたり、0Vを下回ったりしないようにしましょう。

ここで注意して欲しいのが、全デバイスが3.3Vのロジックレベルを使用しているわけではありません。もしこれらのデバイスをPiに接続したい場合、レベルトランスレータ(レベル変換回路)と呼ばれる回路を追加しなければなりません(詳細は後ほど説明します)。

実践

スイッチとPiの接続

Piに接続できる最もシンプルな入力デバイスの1つがスイッチです。初めのこのスイッチをPiに接続してみましょう。

----------------------------------------------------------------------------------

実践を始める前に!!

単純にPiとスイッチを接続する場合でも、以下に示すような注意事項を守りRaspberry Piの保護をする必要があります:

  • GPIOピンには3.3V以上の電圧を印加しない

  • GPIOピンに0V以下の電圧をかけない(負の電圧をかけない)

  • GPIOピンの接続されている配線に触れる前に、Piの金属製コネクタに触れてアースを取る

  • 3.3Vや5Vの電源がグラウンドとショート(短絡)しないようにする

  • 入力として使用するGPIO端子は、信号を接続する前にソフトウェアで設定されていることを確認する。不明瞭な場合はPiを保護するために、GPIOピンと直列に1kΩの抵抗を入れる

    ----------------------------------------------------------------------------------

では始めましょう!

スイッチには様々な種類がありますが、基本的な動作はすべて同じです。スイッチは2つ以上の金属製の接点で構成され、レバーの位置に応じてそれら接点が接触したり、接触しなかったりします。接点が接触している(閉じている)時は、その接点に電流が流れます。接触していない(開いている)時は、その接点に電流が流れません。

hello_circuit1_46b7acd82b4e61ed9e0979839a4d9a587e8bb20e.jpg

Figure 1: “Hello Word” Circuit

ここでは図1のように電池、スイッチ、LED、電流制限抵抗器の回路を紹介します。

ご存知の通りこの回路ではスイッチでLEDのオン・オフを行います。簡単ですね!
ではLEDの代わりにRaspberry PiのGPIOピンで代用すれば、オンとオフの信号をPiに伝えられるのではと思いますよね?では、そのような考えから図2の回路を作成しました。

switch_gpio_nope11_fd8c18a9b476da4b663e33c9d5205a384c8e02f8.jpg

Figure 2: “This Won’t Work” Circuit

結論から言うとこの回路はNoです。この回路には2つの問題があります。

まず電池の電圧が高すぎる事が考えられます。今回は3セルの電池を想定しています。電池の種類にもよりますが、4.5V以上となり、3.3Vを超えた電圧を供給してはいけないPiのGPIOピンには高すぎます。もっと低い電圧の電池を選ぶこともできますが、今度は低い電圧(約2.2V以下)を選ぶと、回路をオンにしてもPiの入力ピンはロジックの「1」(High)として認識されず、スイッチがオンであるという信号がPiに伝わりません。このように、外部電源に接続された機器からGPIOピンを駆動する場合には、Piにダメージを与えずにロジックレベルをうまく合わせることが問題となります。

2つ目の問題は、スイッチが開いていると、GPIOピンが非接続状態になる事です。ピンに何も接続されていないからといって、必ずしもロジックLowの状態になるとは限りません。ロジックLowにしたい場合は、意図的に低電圧に接続する必要があります。そうしないと、ランダムな電圧でぶら下がってしまい、「フローティング」と呼ばれる現象が発生します。この現象は、GPIOピンのインピーダンスが非常に高いために発生します。言い換えると、信号を入力してもあまり負荷が発生しないのです。そのため、近くにある他の信号や無線による電気的干渉の影響を受けやすくなっています。ソフトウェア(Node-REDなど)でフローティング現象時の入力ロジックレベルを読み取ると、多くの場合0と1のランダムな信号が観測されます。

1の問題に対する解決策は、Piに内蔵されている3.3V電源を電池の代わりに使用することです(3.3VGPIO出力ピンから使用)。

2つ目の問題の解決策は、GPIO入力ピンを常に明確なロジックレベル(グランドまたは3.3V)に接続しておく必要があります。

ここでは、上記の解決策を適用した切替スイッチとプルダウン抵抗を使った2つの方法を紹介します。どちらも有効な方法ですが、通常はプルダウン抵抗の方が便利です。

1つ目は図3に示すように、切替スイッチ(SPDT)を使ったものです。ここでは、Piからの3.3V電源供給も利用しています。ここで注意したいのは、「break-before-make」タイプの切替スイッチでなければならないという事です。「make-before-break」タイプでは、スイッチを切り替えたいときにPiの3.3Vがグラウンドと短絡します。一般的には、前者のタイプの方が一般的です。

changeover_switch_gpio_4d028b6e412129d45578de57da740dd01f0293e8.jpg

Figure 3: Using a changeover switch

この方法についてはいくつかのデメリットがあります。主なものは全種類のタイプスイッチが切り替え可能なものではないという事です。また、スイッチが切り替わってもGPIOピンは一時的に「フローティング」した状態になります。他にもスイッチの配線を2本ではなく3本必要になる点があります。

プルダウン抵抗器

より便利な解決策として、通常の(SPST)スイッチを使用し、代わりにプルダウン抵抗を入れる事です。この抵抗器は特殊なものでなく通常の抵抗器で多くの場合、数kΩから数百kΩです。
では図4をご覧ください。プルダウン抵抗器は、スイッチが開いている時にGPIO入力がグラウンド(0V)レベルに「プルダウン」されるようにして、フローティング状態にならないようにします。

external_pull-down_c1ddd1f221508c3419371819a93354e97e111b7e.jpg

Figure 4: Pull-down Resistor

ピンの方向

図4のもう一方の抵抗(1k)が何をしているのかについて説明します。GPIOピンは、プログラムに応じて、入力にも出力にもなります。ほとんどのピンは、電源投入時にはデフォルトで入力になっています。しかし、図4に示した回路を出力ピンに接続し、その出力が低い場合、スイッチを閉じるとピンは3.3Vに短絡します。逆に出力がハイレベルの時にはグラウンドに短絡します。これでPiが壊れる事はありませんが、数十mAの電流が入力ピンに流れてしまいます。これを防ぐために抵抗(1k)を入れています。GPIOピンと直列に電流制限抵抗(プルダウンと同様通常の抵抗器)を入れる事で、過大電流が入力されることを防ぎます。私(James)は、High出力をグラウンドにショートした場合に約35mA、Low出力を3.3Vレールにショートした場合に約55mAを測定しました(Pi3の場合)。これはPiに害を与えないようですが、ピンに直列に1kΩの抵抗を入れると3.3mAに制限されたので、この方法を使用するとより安全性が高くなると考えられます。

接点バウンスについて

機械式スイッチの問題点として、スイッチを切り替えた直後の短い時間で接点が「弾む(bounce)」ことがあります。つまり、非常に速いスピードで開閉した場合、ソフトウェアの誤判定が起きる可能性があります。接点の弾みはハードウェアで解決する方法もありますが(専用の「デバウンス」チップがあります)、ソフトウェアで対処するのが一般的です。多く用いられる解決策として、変化が最初に検出された時にタイマーを設定し、一定時間が経過するまでは変化を無視するという方法を取ります。接点バウンスの持続時間は、スイッチによって異なりますが、数ミリ秒から数十ミリ秒のオーダーです。図5では接点が開いている状態から閉じられた場合の、接点バウンスが発生している様子です(オシロスコープの画面)。画面では図4とよく似た回路のGPIO入力を調べています。1つのマスは縦方向に1.0V、横方向に0.5msを表しています。GPIOの入力は低い値(Low)から始まり、高い値(High)で終了していますが、一方から他方への移行時には約1.5msの間、信号が弾んでいることが観測できます。

contact_bounce_9e3627f088000eeb8ef373a69e01115b41681e71.jpg

Figure 5: Contact Bounce

プルアップ抵抗とオープンコレクタ出力

図4の回路では、スイッチが閉じている時にロジック1(High)が得られます。スイッチと抵抗(プルアップ抵抗)を入れ替えて、逆の動作をさせることも可能です。その場合スイッチが閉じている時にロジック0となります。
この接続方法を使用したものとして、PIRモーションディレクターなどオンオフで動作する、オープンコレクタ出力を持ったセンサーを使う場合です。センサーがオンになると、電子スイッチ(トランジスタ)が出力をグラウンドに短絡します。それ以外の時は、開いたままです(フローティング状態)。この動作をする回路を図6に示しています。なお、センサーとその電源、Piはグラウンド共有しなければならない事に注意してください。もし、他の方法(例えば、主電源のアースを介して)でもグラウンドを共有していると、問題が発生する可能性があります。オープンコレクタスイッチはどの電源にプルアップ抵抗を接続するかによって「High」の電圧をコントロールできるという利点があります。

open_collector_9de57516106820fb901ca6dfc25d5e5877a2fe34.jpg

Figure 6: Open-Collector Outputs

センサーの中には、上の図とは「逆」に動作するオープンコレクタ出力を持つものがあります。この出力は、起動時に出力接続をセンサーのプラス電源に切り替えるもので、PNP出力と呼ばれることもあります。これらをGPIOピンに直接接続することはできませんが、これを回避する方法を後ほど説明します。まず説明に伴ういくつかの用語を紹介しましょう。

ハイサイド、ローサイド、プッシュプル

これらの用語は、特にスイッチが電子的なものである場合にさまざまな種類のスイッチング方法を説明するために使用されます。ハイサイドスイッチとは、図4のようにスイッチング回路の「出力」を高い方(プラス)の電源に切り替えるものです。ローサイドスイッチはその逆で、低い方(グラウンド)側に切り替わります。オープンコレクタ回路(NPNトランジスタを使用)は、ローサイドスイッチの一例です。PNP出力はハイサイドスイッチの一例です。一部の電子スイッチング回路の中には、図3の切り替えスイッチの例のように、両方の機能を持ち出力を電源またはグラウンドに接続できるものがあります。これをプッシュプル回路と呼びます。

レベル変換

5Vのロジックレベルを持つセンサーデバイスを使用することは多くあります。これらは、Piの5Vレールから便利に電力を供給する事ができますが、その出力をPiに直接接続する事はできません。接続するためにはレベル変換が必要です。レベル交換チップを購入することもできますが、これらは「アップ」変換するのに適しています。
簡単な方法として入力に分圧器を使用する方法を紹介します。これは、直列に抵抗を並べた非常にシンプルな回路の名称で下の接続を接地し、回路の中央から出力を取り出します。詳しくは図7をご覧ください。

pot_divider_ddb97c0f1736a850d2ec48c77f25f025a6a753ce.jpg

Figure 7: Interfacing 5V Logic-Level Devices to the Pi

出力電圧は次のようになります:

Screenshot_2020-11-13_at_17.31_.21__e5e7321ed8741c771ce4b34a9db988f388990d70.png 

図の回路では次のようになります(各値を代入):

Screenshot_2020-11-13_at_17.33_.52__2d47a6e78d78e58934512dbda167eaf4be1c9c40.png

(注意:この式では抵抗器の単位(Ω、kΩなど)は、全て一致していればSI接頭語などを省略します)

多くの産業用ロジックレベルセンサー(近接スイッチ)は、3.3Vや5Vよりもはるかに高い電源電圧を必要とし、その電圧は10~30Vであることが多いです。また、オープンコレクタ出力のものもあり、その場合は前述したようにプルアップ抵抗が必要です。しかし、PNP出力の場合はPiのGPIOピンに直接接続することはできません。センサーが作動すると、出力が(かなり高い)電源電圧に接続されてしまうからです。
分圧器を使用することもできますが抵抗の値を正しく設定する事は、特にセンサーの電源電圧が少し変動する場合(バッテリーで駆動している場合など)には難しいものです。レベル変換のより良い方法は、ツェナーダイオードを使用してGPIOピンの電圧を安全なレベル(例3V)に「クランプ(固定)」することです。この回路を図8に示します。

pnp_output_577e8051d5f12a2a24904745903a58202e8c2127.jpg

Figure 8: Using a Sensor with a PNP Output

内部・外部のプルアップ/ダウン抵抗の比較

Piにはソフトウェアで設定できるプルアップ/ダウン抵抗が内蔵されています。これらの抵抗は、50kΩの抵抗に相当します。スイッチがPiの近くにあり、低速のアプリケーションの場合には、これらの内蔵プル抵抗で十分機能します。しかし産業用アプリケーションなど、干渉が多い状況では、外部プル抵抗を使用することをお勧めします。

リレー

オン/オフタイプのリレーには、リレー出力が付いているものがあります。これは主電源式のセンサーによく見られます。リレー出力は電気的に絶縁されているため、安全性を確保しグランドループを防ぐことができます(ガルバーニ絶縁)。リレーの接点は、スイッチと全く同じ動作をするので、Piに接続する場合は、プルアップ/ダウン抵抗とデバウンスコードも必要です。

オプトアイソレタ(フォトカプラ)

上記のオープンコレクタ及びPNP出力回路の特徴の1つは、センサーの電源がPiとグラウンドを共有しなければならない事です。これは避けたい場合があります。この問題を回避する1つの方法は、オプトアイソレータ、別名フォトカプラ(以下フォトカプラとする)を使用することです。フォトカプラは入力信号に対してLEDのように見えます。この光に反応する感受トランジスタが付いており、そのトランジスタはグランドを共有する必要がないため、ハイサイドまたはローサイドの切り替えに使用することができます。例として、図8のPNP-出力をフォトカプラに変更しました。Vishay SFH617A-3 (708-5499) を使用してみました。その結果が図9で、フォトカプラは絶縁提供だけでなく、レベルコンバータとしても機能するためツェナーダイオードは必要ありません。

図9のようなフォトカプラ回路の部品値の選択にはちょっとした配慮が必要です。しかし図9が基本となるので、幅広い入力電圧に対応させたい場合は図9の回路を参考にしてみてください。1kΩの抵抗値は、入力電圧に応じて変更することができます。この値を計算するのは、LEDの抵抗を選ぶ時と同様です。フォトカプラのLEDに少なくとも5mA(ただし60mA以下)の電流が流れるように抵抗を選択し、約12V以上の入力を使用する場合は抵抗の定格電力が十分に大きいことを確認してください。

pnp_opto_isolator_4294575407189b5a4e5e53a2e98b6832d440579a.jpg

Figure 9: Using an Opto-Isolator (708-5499)

なお、主電源からの保護を目的としてフォトカプラを使用する場合は、部品の選択や機器の物理的な設計に特別な配慮をする必要がありますが、今回はそれについて記載しません。

その他のスイッチ

前述したようにスイッチには様々な種類とサイズがあります。スライドスイッチ、ロッカースイッチ、トグルスイッチ、プッシュボタンスイッチなどがあります。ほとんどのスイッチはラッチ式ですが、中にはモーメンタリ式(押している間だけ状態を保ち、離すと定常状態に戻る)の物もあります。スイッチによっては2つ以上の状態を持つものもあり、通常、スイッチの中央がオフにあたります。しかし、ロータリースイッチは3つ以上の状態を持つことができ、複数の回路を選択するのに役立ちます。

人間ではなく機械が動作させるためのスイッチがあります。例えば、マイクロスイッチがあり、非常に小さな動きで動作するように設計されています。磁石に反応するリードスイッチは、ドアの開閉をを検知できます。圧力スイッチは、気体や液体の圧力が一定以上又は以下になると状態が変化します。フロートスイッチは液体のタンクが満杯になった(若しくは空になった)ことを検知するスイッチです。さらに、サーモスタットは温度に反応するスイッチです。これらのスイッチはすべて機械的な接点を使用しているので、プルアップまたはプルダウンの抵抗とデバウンス(弾み対策)が必要です。

その他のロジックレベル入力デバイス

もちろんオン/オフの入力デバイスは、スイッチだけではありません。前述した2つのPIRセンサーと近接センサーがこれに当たります。ここではそれらの詳細について紹介します。

PIR(パッシブ赤外線)センサー

PIRセンサーは人や動物の動きを検知します。すべての物体はその温度に応じて一定量の赤外線を放射しています。哺乳類の身体は通常、周囲よりも温度が高いため場の赤外線を変化させます、PIRセンサーの検出部はその赤外線の微妙な変化を検出します。

AdafruitはこのチュートリアルでPIRの仕組みを説明しています。https://learn.adafruit.com/pir-passive-infrared-proximity-motion-sensor/how-%20pirs-work

誘導型近接スイッチ

誘導型スイッチは、金属製の物体がセンサーに近づくとそれを検知します。工場のベルトコンベア上の物体を検出したり、機械の金属部分の動きを検出したりするのに使われることが多いです。誘導型近接スイッチは交流磁界を発生させ、近くの物体によって磁界がどのように乱されるかを検出することで機能します。通常、数mmから数十mmの範囲で検出しきい値を調整する事が可能です。誘導型近接スイッチの多くは、12~24Vの電源を必要とし、PNPまたはオープンコレクタの出力を持ちます。

オプトスイッチ(光電スイッチ)

誘導型近接スイッチと同様の働きをしますが、物体の検出に赤外線ビームを使用します。オプトスイッチには、透過型と反射型の2つの動作方法があります。前者は物体が光のビームを遮断する事で検出します。後者は光のビームが物体から反射されたものを検出します。オプトスイッチには様々な形状がありますが、大きく分けて基板実装型と産業用デバイスに分けられます。基板実装型ではそれをはんだ付けすることで自作することができます。通常、LEDと発光トランジスタが1つのボックスに収められており、フォトカプラとほぼ同じ方法で配線する事ができます。産業用の場合は通常、ネジ付きの円筒形ハウジングにワイヤがあらかじめ取りつけられており、PNPまたはオープンコレクタ出力を備えています。また、反射型のタイプでは検出しきい値を調整する事が可能です。

私(James)は最近、トラックのドライブシャフトの回転速度を検出するために反射型光電スイッチを使用しました。暗色の金属シャフトに金属テープを貼り付け、1回転ごとにセンサーが動作するようにしました。検出されたパルス信号はArduino上のコードで逆数カウント法を用いて回転数を計測しました。これはパルス周期を計り、1秒当たりの数を数えることで、周波数(角速度)を正確に測定できるものです。このデータはUSB経由でPiに送っていました。

Stadium 静電容量方式タッチスイッチ

これは可動部の無いスイッチの一種です。導電性パッドに指を近づけたときの静電容量の変化を特殊な回路で検知します。静電容量方式タッチ回路は自作することもできますが、いくつかの集積回路が回路作成を代行してくれます。例えば、AT42QT1070 (127-6600) があります。Adafruitはこれ用のブレイクアウトボードを作っています。

ロータリーエンコーダ(光軸エンコーダ)

これは回転する部品(コントロールノブやロボットの車輪など)の位置を知る事ができるセンサーです。アブソリュート・エンコーダは、シャフトの角度に対応する特殊なバイナリコード(グレイコード)を生成します。一例としてCopal Electronics JT22-320-500 (182-5674) が挙げられます。これらは高価であり、それほど広く使用されていません。一般的なのはインクリメンタルエンコーダ(クアドラチャエンコーダ)で、Copal Electronics RES20D-50-201-1 (202-4410) などが挙げられます。これらは、スロットの半分間隔で配置された一対のオプトスイッチを遮断するスロット付きホイールを使用することで機能します。オプトスイッチからの出力は、通常「A」と「B」と呼ばれています。このパルスを計測することでシャフトがどれだけ動いたかを知る事ができます。また、パルスの到着順序(Aが先かBが先か)によって回転方向を知る事もできます。多くの場合、第3のオプトスイッチが組み込まれており、ディスクに独自のスロットが設けられています。これは、12時の位置を決定するためのもので一般にインデックスパルス又は「I」出力と呼ばれます。

まとめ 

ここまでオン・オフのみの入力を使用した回路や、オン・オフのみのセンサーについて詳しく述べてきました。オン・オフのみでも多種多様なセンサーがあり、それに伴い沢山の機能がある事が分かりましたね!センサーについては少し難しい部分もあったと思いますが、気になる点があったら調べてみてください。できれば調べた事を実際にやってみるのが良いです!

Part2ではRaspberry Piに接続できるものが広がる、比例センサーについてご紹介します。Part1とPart2を読むことでコンピュータとセンサーについてなんとなく理解してもらえれば幸いです。さらに何か電子工作のヒントになれば良いと考えています。

I am an inventor, engineer, writer and presenter. Other stuff: Royal Academy of Engineering Visiting Professor of Engineering: Creativity and Communication at Brunel University London; Fellow of the Institution of Mechanical Engineers and have a PhD in bubbles; Judge on BBC Robot Wars.