USBデバイスが作りたいんじゃ:フットスイッチ
はじめに
第2回「USBデバイスが作りたいんじゃ」。今回はフットスイッチ編。
(第1回はコチラ:「USBデバイスが作りたいんじゃ:CPUメーター」)
フットスイッチとは、足でマウスやキーボード操作をさせようというもの。
一般的には以下のようなもの。
※Google画像検索より
今回は、1ペダル式で1ボタンキーボードのようなものを作る。すでにAmazonで1,500円程度で売られている。
先に完成品
見た目は、市販品とほぼ同じ。
ハード
- Digispark(Amazonで300円/1個 程度)
- フットペダルスイッチ:私が買ったもの。Amazonで700円
- USBケーブル(使わなくなったマウスやキーボードなどを再利用。なければダイソーなど)
1,000円でできる!!手間を考えれば買った方が安い。
中華製の制御ソフトを入れないで良いという利点がある!
組み立て
1. フットペダルスイッチを分解する
このフットスイッチは汎用的に使えるようにケーブルの先端には何も付いておらず導線が剥き出し状態(だから安い)。
ケーブルはケース内のスイッチにハンダ付けされているが、スイッチから5cm辺りで切って使う。
支点となる金属の棒のところにあるネジを外すと棒が(写真では棒が刺さっているが)抜けるので簡単に開く。その際、バネが固定されていないので飛ばないように慎重に開く。
2. スイッチを外す
黒赤白のケーブルが一つにまとめられているので、5cm ほど残してちょん切る。(上記黄色線辺りで)
スイッチがネジで固定されているので外すと上記のように取り出せる。人差し指辺りの黒いのがボタン。
3. Digisparkと結線する
使わなくなったマウスなどから USBケーブル を切り出してきて Digisparkと結線する。上記、黒緑白赤。
前述で 5cm ほど残して切ったスイッチ側の 赤-P0、白-GND、黒-未使用。スイッチをONするとP0とGNDが繋がるように。USBケーブルとDigisparkをハンダする前にUSBケーブルはケース穴に通しておく(黒赤白ケーブルが通っていた穴)。
4. ケースに収める
(ポリミイドテープでグルグル巻になっていますが)ケースに固定する。
Digispark
セットアップは主旨ではないので Digisparkに付いては割愛します。
ソース
P0ピンを内部プルアップして入力として使う:pinMode(0, INPUT_PULLUP);
スイッチがONになると P0ピン がGND に落ちるので、それを監視する。
下記では、P0ピンが 0 になれば、 PCに Hello Digispark!
を送信する。
ここを変えれば任意のキーを送信できる。
DigiKeyboard.sendKeyStroke(KEY_ENTER);
など。
#include "DigiKeyboard.h"
// the setup routine runs once when you press reset:
void setup() {
// initialize the digital pin as an input.
pinMode(0, INPUT_PULLUP);
}
// the loop routine runs over and over again forever:
void loop() {
if(digitalRead(0) == 0) {
DigiKeyboard.sendKeyStroke(0);
DigiKeyboard.println("Hello Digispark!");
}
DigiKeyboard.delay(10);
}
動作確認
YoutTube
足で押さないと意味ないですがカメラの都合上です。
おわりに
作ってみたが実際にあまり用途が浮かばない。
おそろらくこのデバイスがあまり普及しないのは、この辺りにあるのだろう。
次回は、「フットペダル(シーソー式)」です。乞うご期待!
Author And Source
この問題について(USBデバイスが作りたいんじゃ:フットスイッチ), 我々は、より多くの情報をここで見つけました https://qiita.com/nori-dev-akg/items/45f0b95c88936b3e3c1f著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .