
電子工作初心者が、オンラインフリバ用の早押しボタンをつくってみた話
クイズ、してますか?(CV:長嶋茂雄)
普段は某スマホアプリや某クイズバー、オンラインフリバなどで初級者ながら早押しクイズを楽しんでいる者です。
自宅でもボタンが押したいと思い、USBでPCに繋げる早押しボタンを作ってみました。とりあえず動くものが作れて、ここ1ヶ月くらいは問題なく使えているので成功と言っていいのかなと。
作り方とかを調べるなかで、電子工作初心者に向けた情報があまりないように感じたので、用意したものや作業内容などをまとめてみました。
電子工作をしたことがないけど、オンラインフリバでもボタンを押したい方々の参考になれば幸いです。
できた!!!!!!!!!!!!!!!!!!!!!!!!!!! pic.twitter.com/B0UJRMgcYY
— や (@SG4KXG) November 2, 2024
【はじめに】
前提
やったことは以下のYouTube動画で紹介されている内容と同じで、言ってしまえば電子工作初心者がこれをやってみたレポです。
非常に参考になりました。この場を借りてお礼申し上げます。
同内容はこちらの記事でもまとめられています。(意識したつもりはなかったのですが、書き出しが全く一緒ですね…すみません)
文中で「元動画」「元記事」などという場合、特に断りがなければこれらのことを指すこととします。
完成系
こういう感じになりました。




書きながら思ったけど青い配線の根本が怖い
【準備】
実装方法の選定
USBでパソコンに繋げる早押しボタンを作っている先例は他にもあり、元動画のようなワンボタンキーボードを使用する方法のほか、マウスを分解して回路を流用する方法や、テンキーの中にある回路シート(メンブレンシート)にホチキスで直接接続(配線?)するような方法もありました。
手軽さで見るとはんだ付けのいらない後者が良さそうと思いつつ、いろいろ拡張性を考えるとワンボタンキーボードで実装するのが良さそうと判断し、電子工作を頑張ることに。
買ったもの
ボタン:VAQ-4R-K(オムロン)
早押し機ではこの辺が定番とのこと。型番の「4」の後ろがボタンの色で、ボタンは赤派のため-Rを選択。
オムロンは体温計とかヘルスケア製品のイメージがありましたが、オンライン四季報にもあるとおりスイッチとかの制御機器が主力らしいですね。知らなかった。ケース(筐体):SW-75(タカチ電気工業)
こちらのサイトで紹介されている中で、早稲田式早押し機の小ランプ付くらいのサイズ感にしたく選択。
※公式の情報とも一応比べましたが、同寸法で間違いなさそうです(幅50×奥行75x高さ30mm)。本体:ワンボタンキーボード(TOKYO FLIP-FLOP)
どのみち筐体に隠れて見えないので、色はなんでもよし。自分が見たときは「ルミナスレッド」しか在庫がなかったので、これを選択。配線:イラックスA 絶縁電線 AWG28(住友電気工業)
配線の選び方とかよくわからなかったので、こちらのサイトで紹介されているものをそのまま選択。
かなり細かったので、もう少し太くて良かったかも?
あとめっちゃ余ってしまった。どうしよう。はんだごて
温度調節機能があるやつとかコードレスタイプとかもありましたが、お手頃価格なやつを選択。
こて台兼クリーナーも合わせて購入。はんだ
よくわからなかったので、人気度でソートして上位にあったものを。
こちらも案の定かなり余ってしまったので、たぶんもっと少ないやつでよかった。はんだ吸い取り線
結果論ですが後述の通りミスったたときに使えたので、あってよかった。
持っていたもの
この辺はだいたい実家にあったものを拝借しました。
ドリル
安心と信頼のマキタ。
ビット(先端)は、たぶん5mmくらいのものと、とんがりコーンヤスリみたいな形状のもの(こういうやつ)を使用。
用意できない場合は、はんだごてで溶かせば対応できるかも?ラジオペンチ
ワンボタンキーボードのピンヘッダからピンを抜くのに使えたり、配線の先を捻ったりするのに。ニッパー
配線やはんだ吸い取り線を切るのに使用。精密ドライバー
ワンボタンキーボードのスペーサーを固定するのに使用。カッター
でかいやつ。マスキングテープ
基盤を固定したりするのに便利とのことで用意。
スイッチへの配線方法
基本的には元動画で紹介されているとおり、ワンボタンキーボードのマイコン(マイクロコンピュータ)に対して、本来はキットの中に入っているキーボードから送る信号を、早押しのボタンから送信するように作っていきます。
で、購入したボタンには端子が3つあるんですね。どれに繋げばいいんだ…
調べてみると、どの端子に繋ぐかで「スイッチを押したときだけONにする」か、「スイッチを押したときだけOFFにするか」を選ぶことができるみたいです(単極双投形というらしい)。
https://components.omron.com/jp-ja/products/basic-knowledge/switches/basics
今回は「ボタンを押した時にキーを入力する(=オンにする)」という動作にしたいので、一番下のCOM(C接点)端子と、真ん中のNO(A接点)端子に繋げばよさそう。勝ったな。
https://faq.fa.omron.co.jp/tech/s/article/faq04785

【組み立て】
ケース加工①:ボタン用の穴あけ
いよいよ作っていきます。まずはケースに穴を開ける。
位置を決めてドリルで一発穴をあけ、そこからやすりで広げていく作戦に。フチの処理はカッターの刃を垂直に当ててガリガリと削る要領で。
必要な径とかは測ってないので、穴を広げてはボタンが通るか確認し、広げては確認し…の繰り返し。
すごい削り粉がでたので、削り終わったあとに一度水洗いしました。穴開ける位置を描いていた鉛筆も一緒に洗い落とせて一石二鳥。
ワンボタンキーボードのUSBを通す穴は、動くことを確認してから最後にやろうと思ったため、ここではボタン用の穴のみ開けました。
ボタンには3つのナット・ワッシャーが付属しています。
元記事でも言及されていますが、全て使うとケースの底面からCOM端子がはみ出てフタが閉まらないため、このサイズの筐体(SW-75)を使う場合であれば六角ナットとロックワッシャーは外す必要があります。

使うのは化粧ナットのみ
ボタンへのはんだ付け
配線2本を適当な長さにカットし、両端の被覆を剥いて中の芯線を捻り、COMとNO端子にそれぞれはんだ付け。被覆はカッターでぐるりと浅く傷をつけてから爪で挟んで引っ張るストロングスタイル。
芯線は端子の穴に通したあと「J」の字にして引っ掛ける感じにする動画を見た(参考)ので、そのように実施。
実質初めてと言っていいはんだ付けでしたが、「あらかじめ接合部を温める」「付けるときはこて→はんだ、離すときははんだ→こての順」を意識してなんとかなりました。
先にこっちをはんだづけした理由は、元動画で「ケースが小さくスペースがなくて、ボタンへのはんだ付けが大変だった」とおっしゃっていて、「なら先にボタンへ付けてしまえばいいのでは…?」と思ったから。
結論から言えば、ワンボタンキーボードの配線を先にやった方がいいです。理由はすぐわかります。

ワンボタンキーボードの組み立て
基本的には公式で紹介されている通りに組み立てます。
ピンヘッダを半分に折り、不要なピンを抜いて、基盤にはんだ付け。マステでの固定が甘かったのか、ピンがちょっと八の字になっちゃったけどマイコンは刺さりそうだから気にしない。
「5.キースイッチの差し込み」「6.キースイッチのはんだ付け」で、付属キーボードの代わりに、ボタンに繋いだ配線とワンボタンキーボードの基盤をはんだ付け。本来はキーボードを刺す方(「ウラ」の記載がない方)から芯線を出し、はんだをちろり。ボタンの各端子がどっちの穴に繋がれなきゃいけないか、みたいなのは考えなくていいかもしれない。たぶん。
このとき配線が動いたりしてしまい苦戦したので、ボタンの配線は後にやった方がいいです。だからきっと元動画でもこの順番だったんですね。
ワンボタンキーボードに配線→ボタンにはんだ付け→ボタンをケースに固定、の順番でやれば多分いい感じに作業できるのではと思います。

失敗の始まり
ここで、次のマイコンをはんだ付けをするときに素人はおもいました。
「これ、本来はキーボードのピンがマイコンに接触してないといけないのでは?」
元記事で引用されている以下note記事に、「マイコン基板の対応箇所に直接スイッチを繋いでやればok」と書いてあったことから、マイコンに直接はんだ付けしてもよいということは知っていたのですが、これすなわち本来は「マイコンのどこかしらにキーボードのピンが直接接触している必要があるのでは?」とヘンに考えてしまったわけです。
※キーボードは物理的にマイコンに接触しているのではなく、基盤やピンヘッダを介して電気的に接触しているようです(それはそう)。また、そもそも付属のキーボードピンはマイコンに物理的に接する長さではありませんでした。恥ずかしい。
ここからは見苦しい言い訳タイムなのですが、この勘違いをした要因の一つとして、「基盤が緑とか金のいわゆるアレじゃなかった」というのもあります(責任転嫁)。
要は「ピンヘッダやスペーサーはマイコンを保護するための飾りであって、いわゆる電気が流れる基盤ではない」と勘違いしていたのでした。ちゃんちゃん。
実際にはnote記事内にマイコンのどこにはんだ付けするかも写真付きで書いてあったのですが、なぜかそこを読み飛ばしていたワタクシ、いちど基盤につけたはんだを吸い取り線で回収し、組み立てたとき基盤の穴直下にくるマイコン裏側の端子2つに配線をはんだ付けするという行動に走りました(当時は天才だと思っていました)。
RTAでいう「オリチャー発動」です。これはいけない。

基盤を使わない場合、裏の端子ではなく端の2箇所にはんだ付けする
https://note.com/itojun/n/n3f6f5df1722a
ちなみに、はんだ吸い取り線は作業中熱くなるので直接素手で持たないほうがよいようです。自分は短時間だったので「熱ッ」くらいで済みましたが、火傷するおそれがあるそうで。
(あと、熱が手に逃げて吸い取り線の温度が上がりにくいからか、上手く吸えないような印象がありました。気のせいかもしれないけど)

マイコンへプログラミング
そんな失敗をしているとは露知らず、ワンボタンキーボードのマイコンを設定していきます。
ワンボタンキーボード公式で紹介されているサイトの案内通り、ソフトウェア(Arduino IDE)をインストール→コードをコピペして、真ん中の部分だけ書き換えました。ちなみに動作環境はMacですが、問題なくできました。
入力するキーはSpaceを選択。Enterでもよかったけど、YouTubeとかで早押し練習することも考えるとこっちがいいかなと。必要があれば後で書き換えればいいし。
「制御キー名一覧」より、Spaceは内部で「0x20」として扱われているらしいので、送るキーの内容としてこれを指定。押す回数は一回でいいので、念のためキーを離す処理も直後に残しておく。
︙
void loop() {
currKeyState = digitalRead(PIN_KEYSW);
// キースイッチが押された
if ((prevKeyState == HIGH) && (currKeyState == LOW)) {
// ↓↓↓ ここに好きなキー入力を書く ↓↓↓
Keyboard.press(0x20); //[space]を押す
Keyboard.releaseAll(); // すべて放す
// ↑↑↑ ここまで ↑↑↑
}
︙
動かない!!
「よ〜し、マイコンにプログラムの書き込みもできたし動作確認しちゃうゾ😉」と言わんばかりの勢いでボタンを押してみますが、全く反応しません。
念のためもう一回マイコンに書き込んでみたり、キー入力の値を変えてみたりもしましたが、結果は変わりませんでした。だって配線ミスってるからね。
しばらく悩みながら件のnote記事を見返していたら、はんだ付けしている位置が間違っていることにようやく気づきました。
幸いにも「直接はんだ付けしたから」という理由でマイコンはピンに刺していただけなので(手抜き工事)、マイコン直付けのところだけ修正すればなんとかなりそう。
マイコン本体のはんだを吸い取り線で回収し、「6.キースイッチのはんだ付け」で紹介されている基盤位置に配線をはんだ付け(2回目)。
その後、本来の手順どおりにピンヘッダとマイコンをはんだ付けして、今度こそボタンが動くことを確認。
スペーサーも取り付け、ワンボタンキーボード部も無事完成。長い道のりだった…
ケース加工②:USBの配線逃し
ワンボタンキーボードのマイコンはマイクロUSB(Type-B 2.0)でPCと接続するため、ケースにはUSBケーブルを逃す穴も必要です。
もう一回ドリることも考えましたが、ここで初めてはんだごてでケースを溶かす発想に至る。
コの字形にケースを溶かし、無理やりですがケーブルが逃がせるスペースを確保。溶けてハミ出た部分はカッターで整えました。
当然ですがケースが溶けるとき身体によくない臭いがしたので、屋外とかしっかり換気した場所でやるのがいいと思います。
鉛入りはんだの煙も有害みたいなので、換気はしっかり。
自分の場合、押し入れから引っ張り出してきた扇風機で開けた窓のほうに風を送りながら作業してました(シーズン外勤務)。
完成
最後にボタンを化粧ナットで筐体に固定し、輪っかにしたマスキングテープでワンボタンキーボードをを軽くフタにくっつけたら閉じて完成!
元動画のようにワンボタンキーボードをホットボンドで固定しなかった理由は、
①筺体を開ける時に結構力が要り、勢い余って配線が切れたら嫌だった(ふんわり固定しておけば最悪こっちが剥がれて配線は守られるのでは、という考え)
②そんな頻繁にUSBケーブルを抜き挿しすることはない想定なので、ガッチリ固定しなくてもいいのでは
③そもそもホットボンドを持っていなかった(し、上記の理由から買おうとも思っていなかった)
ケーブル逃す穴の見た目がアレですが、結果としておおむね満足いくものができました。
【その他気づいたこと、雑記】
所要時間は4時間くらいだったと思います。ミスって修正するところがなければもっと早く終わったはず。
早稲田式早押し機のガチャと組み合わせて光らせたりとか出来たら面白いかも。
もし二号機を作る機会があれば、今度はマイコン単体で買って直付けに挑戦してもいいかな
【教訓】
素人のオリチャーは危険です。分からないのであれば先人に倣いましょう。
【あとがき】
クイズが強くなりたいというよりも、シンプルに「家でもボタンをカチカチしたい」というモチベだけで作りました。あとはクイズが強くなるだけですクイズしてない時も、フィジェットスピナー感覚で手慰みに押しています。あのクリック感がたまんねぇんだよな。
先人たちのおかげで、なんとか素人でも形にすることができました。改めてお礼申し上げます。
今までやったことない事をやってみるのって、ちょっと勇気がいりますよね。自分は性格に保守的なきらいがあるので、「やってみたい、けど用意もあるし失敗したら…」なんて考えてしばらく悶々としていました。
でも、いざ終わってみると思ったより簡単だったし、何より自分のできたことが増えて世界が少しだけ広がったような感覚がして、とても晴れ晴れとした気持ちになれました。みんなもボタン作ろう。
最後までお読みいただきありがとうございました。感想や追記・補足希望などあればご連絡いただけると嬉しいです。