まほろば

micro:bit でスイッチインターフェース製作(機能拡張) 

投稿者:マーチン  2019年1月14日 
カテゴリ:障碍者全般::micro:bit

 自由な形状が作れる3Dプリンタを使うのなら、単にふたをするだけではもったいないので、機能拡張ができる形状も作ってみました。GROVEシステムを使えるようにすると、(プログラミングは必要ですが、)はんだ付けせずにいろんな機能が追加できます。


●3Dデータ

 【まほろば】micro:bit でスイッチインターフェース製作(ちょっと変更) の拡張版裏ぶたです。
 3D CAD:AUTODESK thinkerCAD


 swif-cover-02 (AUTODESK TINKERCAD 公開データ)  
 STLファイル ダウンロード
 個人で使うなら改変を含めて自由に使ってください。但し、それをWebサイトや印刷物で紹介するときは、著作者(バリアフリーパソコンサポート「まほろば」)を明記してください。商用で使うことは禁止します。




●GROVE コネクタ

◆購入品
品名金額
【スイッチサイエンス】GROVE - ユニバーサル4ピンコネクタ(10個入りパック)194円/10
圧着端子 R0.5-3 4個
M2×8 ネジ、ナット、座金 1組
ユニバーサル基板、リード線 12cm×4本、熱収縮チューブ、針金
◆作り方
(1)4ピンコネクタは、ユニバーサル基板とピッチが合わないので、ペンチで足を曲げて広げる。
(2)ユニバーサル基板を 18x24mm にカットして、φ2.5mm の穴をあける。
(3)各ピンからリード線(黒、青、黄、白)を出す。
(4)M2ネジで、ふたの中央に固定する。
(5)黒ー>GND、青->3V3、黄->P2、白->P1 に接続する。

 もし、作るのが面倒な人は、【マルツ】Grove - Screw Terminal (103020007) を購入する手もあります。

●プログラム

◆ダウンロード
microbit_switch_if_3sw_190114.zip
バージョン:3SW-190114
開発環境:Mbed Compiler
ソースコード:https://os.mbed.com/users/masakjm/code/microbit_switch_if_3sw/
◆キー割り当て
 "S"と表示された後の数字は、スイッチ2とスイッチ3に割り当てられたキーコードの組を表し、"T"と表示された後の数字は、スイッチ1に割り当てられたキーコードを表します。デフォルト設定は、S=1、T=1 です。
キー割り当て 機能
ボタンA
ボタンB
AB同時長押しcommand + hホーム画面へ
(iOS9以前では動作しません)

T=1T=2T=3T=4T=5T=6
P0TAB未使用未使用command + r未使用未使用
S=1S=2S=3S=4S=5S=6
P1、青SPACEoption +↓1h
P2、赤ENTERoption +↑3j
◆旧プログラム(3SW-181125 以前)をお使いの方へ
 スイッチ1、2、3 と呼んでいたものは、P0、P1、P2 と説明することに改め、LEDには、0、1、2 と表示されます。
 Sの値で P1、P2 を設定し、Tの値で P0 を設定するように変更しました。例えば、今まで一番左に挿していたスイッチを真ん中に挿すことで、同じように動作します。

●使用例1

品名金額
【スイッチサイエンス】M5Stack用デュアルボタンユニット621円
【スイッチサイエンス】M5Stack用GROVE互換ケーブル 50 cm(2個入り)388円/2


 このスイッチの動作荷重は約180gf と、ちょっと硬めです。参考までに、他のスイッチの動作荷重は、マイクロスイッチが約25gf、三和電子の押しボタン(おにぎりスイッチ)が約50gf、あごで押すスイッチで使ったものが約80g、チャイム用小型押ボタンが約160gf です。
 青ボタンでP1のスイッチ、赤ボタンでP2のスイッチと同等の働きをします。
 例えば、S=2 に設定すれば、iBooks において、青ボタンで次のページに、赤ボタンで前のページに移動できます。

●使用例2

品名金額メモ
【スイッチサイエンス】GROVE - 傾きセンサ (101020025 )280円データーシート(英語)
ふた付きミニカップ(Daiso)108円/4
M2×6~8 ネジ、ナット 2組


 GROVEケーブルが通る切り欠きと、M2ネジの通る穴をあけて、基板をネジ止めする。


左に傾けるとP1スイッチを押したのと同じ、右に傾けるとP1スイッチを離したのと同じ動作になります。

●使用例3

品名金額メモ
【千石電商】Grove - タッチセンサー (101020037 )480円データーシート(英語)
ふた付きミニカップ(Daiso)108円/4
M2×6~8 ネジ、ナット 2組

 GROVEケーブルが通る切り欠きと、M2ネジの通る穴と、φ14mmの穴をあけて、基板をネジ止めする。


静電容量を検知して指で触れている間、出力がHIGH(スイッチを離した状態)になります。
動作電圧:2.0~5.5V
動作電流(Vcc=3V):1.5~3.0μA ・出力応答時間:60~220mS

●GROVE とは

seeed Groveコネクタを挿すだけ、簡単Rapid Prototyping より
 Groveとはコネクタを挿すだけで簡単に使用できるツールセットです。電子機器を組みたてるのにブレッドボードや各種電子部品をはんだごて等を使って組み立てる従来の方式に比べ、大幅にそのプロセスを短縮化します。Groveシステムはベースシールドと規格化されたGroveコネクタが搭載された各種モジュールで構成されています。

 GROVEシステムには以下のようなセンサー類が販売されています。micro:bit の P0-P2 につなげられるものは、一部に限られますので、ご注意ください。

●M5Stack とは

【スイッチサイエンス】M5Stack Basicより
 M5Stackは、320 x 240 TFTカラーディスプレイ、microSDカードスロット、スピーカーを備えたコンパクトで便利な開発モジュールです。ESP32を搭載しているため、Wi-FiおよびBluetooth通信を扱え、Arduino環境での開発が可能です。
 さらに専用の拡張モジュールを縦に積み重ねていくことで機能を追加することができます。
 m5stack公式サイト(http://www.m5stack.com/

 GROVEコネクタを備え、それに対応したユニットも販売されています。micro:bitに、そのユニットだけを流用する使い方もできます。但し、信号のやり取りにI2Cを使用しているものは、GROVEシールドなどを使わないと接続できませんのでご注意ください。

●拡張の可能性

 可能性として以下のセンサー類が接続できると考えています。電源3.3Vでも動作するかの検証と、対応プログラムの作製が必要です。
◆入力
【スイッチサイエンス】M5Stack用ボタンユニット
・Grove用インターフェイス
・レゴ用の取り付け穴を二つ搭載


【スイッチサイエンス】GROVE - マイクロスイッチ (102020143)
GROVEコネクタを搭載したシンプルなマイクロスイッチです。小さな力で作動し、Arduino、Raspberry Pi、及びGROVEが利用できる開発環境で、簡単かつ迅速に使用できます。


【スイッチサイエンス】GROVE - ジョイスティック (101020028)
GROVE用のジョイスティックです。
X軸、Y軸がそれぞれの位置に応じたアナログ電圧で出力されます。
ステックを押し込んだ(ボタンが押された)場合、X軸に電源電圧が出力されます。その間、X軸の位置は不明になります。
  データーシート(英語)


【千石電商】Grove - Loudness Sensor(101020063)
動作電圧:5V(3.5~10V)
シグナルフィルター搭載
ポテンショメーターでゲインを調整可能
Grove - サウンドセンサー (101020023)とは、別物です。
  データーシート(英語)


【千石電商】 Grove - EMG検出器 (101020058 )
筋肉の動きに応じて最大3Vの電圧が出力されます。
(スタンバイモード時:1.5V)
Grove互換
電源電圧: 3.3V~5V
追加電源不要
  データーシート(英語)


【千石電商】Grove - Piezo Vibration Sensor (101020031)
・標準Groveコネクタ
・広いダイナミックレンジ:0.001Hz~1000MHz
・感度調整が可能
・強い衝撃に対する高い受容力
  データーシート(英語)


【スイッチサイエンス】GROVE - FSR402搭載 感圧センサ(円型) (101020553)
 FSR402を搭載した円型の感圧センサモジュールです。円型部分に加えられる圧力が大きいほど抵抗値が小さくなります。1 kg、4 Hz / -10%の平均的な抵抗値変化の状況下で、10万回の動作検査済みの高い耐久性があります。


◆出力
【スイッチサイエンス】M5Stack用ミニリレーユニット
・単一の入力
・最大3 A(24 VDCあるいは120 VAC)
・Grove用インターフェイス
・レゴ用の取り付け穴を二つ搭載


【スイッチサイエンス】GROVE - スピーカー(アンプ内蔵) (107020001)
アンプ内蔵で、音量を調整する半固定抵抗も付いています。
  データーシート(英語)


【千石電商】Grove - Vibration Motor(105020003)
Grove シリーズの小型コイン型振動モーターです。
入力がHIGHのときに振動します。
玩具や携帯電話モジュールなどに使用できます。
  データーシート(英語)



◆連載