M5StickC(ESP32)による「ELEGOO Arduino用UNO R3スターターキット」を利用したArduino入門 その6 傾斜ボールスイッチ

現時点の情報です。最新情報はM5StickC非公式日本語リファレンスを確認してみてください。

概要

前回はブザーでした。今回は「Lesson 8 傾斜ボールスイッチ」をやってみたいと思います。

傾斜ボールスイッチとは?

秋月さんだと上記のような商品になります。ボールを使って、斜めに傾くとONになったり、OFFにしたりというスイッチになります。

昔は常温で液体の水銀などを使っていましたが、最近は環境問題などあり水銀ではなく、ボールを使うことが多いです。

中身に金属のボールがはいっているので、振ると音がします。また、秋月さんだと振動スイッチとも記載されているように、振動があるとボールがはねてOFFになるので振動スイッチとしても使うことができます。

接続方法

接続は非常にかんたんで、プルアップできるGPIOからスイッチを経由してGNDに接続します。プルアップできないGPIO36などに接続する場合には、外部回路でプルアップしてあげてください。

通常のスイッチを使うのと同じ回路になります。

上記はGPIO36に10kΩ抵抗で3.3Vにプルアップされてる回路です。

スケッチ

普通のスイッチのときと同じなので省略します。内部プルアップをする場合にはpinModeをINPUT_PULLUPにするのを忘れないでください。外部プルアップ回路の場合にはINPUTになります。

類似部品

フォトカプラ型傾斜スイッチ

上記商品は電気的な接点の変わりに、フォトカプラを使った部品になります。金属の玉を使っている場合には、サビなどにより抵抗値が変わる可能性があります。フォトカプラの場合にはボールによって光を遮るか、遮らないかなので比較的長期安定動作が可能だと思われます。

4方向チルトセンサー

  • パララックス 4方向チルトセンサー(取り扱い中止になりました)

データシートをみるとわかりやすいのですが、複数の端子を利用してどの方向が上をむいているのかを調べることができます。

この図でBとDの関係性がよくよからないのですが、赤い部品で左右を見分けているんですね。

加速度センサモジュール

加速度センサーを利用したセンサーです。M5StickCにも加速度センサーが搭載されているので、最近は物理的なチルトスイッチよりもデジタル処理のもののほうが使いやすいかもしれません。

加速度の場合には地面方向に1Gが常に発生しているので、静止状態の場合に計算により傾きなどがわかります。

細かい角度まで求めることもできますが、センサーによりデータ精度が異なったり、補正しないとおかしなデータになる場合があり、使うのはちょっと面倒です。

まとめ

単純な傾きを物理的に検出したい場合には、物理的なチルトスイッチが一番お手軽だと思います。加速度センサーは最近搭載されているボードが増えてきましたので、ちょっと面倒ですが角度の検出には便利かもしれません。

続編

コメント