在宅勤務をしていると,スピーカーとヘッドホンを切り替えることがしばしば.
TV会議しているとき以外は蒸れるので,スピーカー.
TV会議はヘッドホン.
ところが,突発でコールが入ると,スピーカーからヘッドホンに切り替えに手間取る手間取る.
というわけで,それ専用のスイッチを, Arduino pro micro を使って作成してみました.
動画内の画面左下あたりに,現在選択されているオーディオデバイスが表示されてますが,赤を押すとスピーカー,青を押すとヘッドホンになります.
準備するもの
- Arduino pro micro
- マイクロUSBケーブル
- ブレッドボード
- ジャンパワイヤパック
- タクトスイッチ
作成手順
1. PCにaudioSwitcher をインストール&ホットキーを設定
詳細は https://keikenchi.com/how-to-switch-output-audio-with-shortcut-keys をご参考ください.
とても分かりやすく説明してくださってます.ありがとうございます.
今回は,他のアプリのホットキーと絶対に干渉しないように,「Ctrl+Shift+Alt+s」をスピーカーに,「Ctrl+Shift+Alt+g」をヘッドホンに割り当てました.
2. 回路の組み立て
ブレッドボード上に回路を組み上げていきます.
3. Arduino IDE でプログラムを書き込みます.
こちらは,https://qiita.com/MergeCells/items/17bdc1c1fb35949195b5 を参考に書いていきました.
#include "Keyboard.h"
#define RED_button 10
#define BLUE_button 18
void setup() {
pinMode(RED_button, INPUT_PULLUP);
pinMode(BLUE_button, INPUT_PULLUP);
Keyboard.begin();
}
void loop() {
if(digitalRead(RED_button)==LOW){
Keyboard.press(KEY_LEFT_ALT);
Keyboard.press(KEY_LEFT_CTRL);
Keyboard.press(KEY_LEFT_SHIFT);
Keyboard.press('s');
delay(100);
Keyboard.releaseAll();
while(digitalRead(RED_button)==LOW);
}
else if(digitalRead(BLUE_button)==LOW){
Keyboard.press(KEY_LEFT_ALT);
Keyboard.press(KEY_LEFT_CTRL);
Keyboard.press(KEY_LEFT_SHIFT);
Keyboard.press('g');
delay(100);
Keyboard.releaseAll();
while(digitalRead(BLUE_button)==LOW);
}
delay(100);
}
気づき
PC側のソフト設定とArduinoでやれることは他にもありそうな感じ.
あと,開発環境の重要性についても考えさせられました.
はじめは無名の安いブレッドボードを使用していたのですが,「線がうまくささらない,ささったら今度は抜けない」,挙句に「ジャンパワイヤが壊れる」,という事態に見舞われたため,サンハヤト製のものを購入してみ ました.
結果,「もっと早く買っておけばよかった」というくらいイライラが減りました.
いろいろなことを試すうえで,しょーもないところで事故が起きてその対応に迫られると,ものすごくフラストレーションが溜まります.
開発環境をケチってはいけないなぁ,と.