見出し画像

約1000円でZoomのミュートON、OFFを切り替えるスイッチをつくったよ

普段はWebやAndroidアプリの開発をしてますがたまーにほしいものとか面白そうだとおもったものをちょこちょこ電子工作をしています。

今回ははんだ付け不要でZoomのマイクミュートをオンオフするスイッチをつくってみました。(Windows用)

つくるといってもハードウェアを買ってプログラムはほかの方が公開しているものを利用させていただいただけです。

用意するもの

 - VSCodeをインストールしたWindowsPC or Mac
 - M5Atom Matrix (もしくはM5Atom Liteこっちだと1000円)
 - USB Type-Cケーブル(持ってない場合はダイソーなどのものでよいですがデータ通信用と書かれているものを選んでください)

仕組み

M5AtomというマイコンボードはESP32PicoというSoCで作られていて、これはWi-FiとBluetoothが搭載されていて使用できます。プログラムはArduinoと互換性があり、Arduinoの開発環境でもプログラミング可能です。今回はVSCodeのプラグインとして様々なマイコン向けの開発ができるPlatformIOを使用します。(もともと公開されている方が使っていたのでそのまま使っただけではありますが)

このM5AtomのBluetooth機能を利用してBluetoothキーボードを作成し、ボタンを押すとZoomのミュートを切り替えるキーボードショートカットを押す。というのが今回作成するスイッチの仕組みです。

つくりかた

Githubで公開されているプログラムをcloneするかzipでダウンロード。

プログラムをM5Atomへ書き込むためのプラグイン「PlatformIO IDE」をVSCodeにインストール

画像1

インストールするとこんな感じで左のメニュー内にエイリアンの顔のようなアイコンが追加されます。

画像2

このアイコンを選択するとPlatformIOのメニューが開きます。ここで[QUICK ACCESS]->[PIO Home]->[Open]を選ぶとPlatformIOのホームが開きます。

画像4

このがめん中央右寄りのところに[Open Project]を選択しGithubから取得したプログラムのフォルダを開くことでPlatformIOでこのプロジェクトを扱うことができます。

続けてM5AtomをPlatformIOから扱えるように設定します。

M5AtomをPCへUSB Type-Cケーブルで接続してからPlatformIOメニューの[QUICK ACCESS]->[PIO Home]->[Devices]を選択します。

画像4

Windowsであれば「USB Serial Port(COM4)」(数字は環境により異なります)というDescriptionがあると思います。この行のPort欄COM+数字を覚えておいてください。(Macの場合はCOM+数字ではなく/dev/cu.usbserial-~といったものになりますので読み替えてください)

PlatformIOメニューの[QUICK ACCESS]->[PIO Home]->[Projects & ConfigConfigrations]を選択します。選択するとProject一覧が表示されますので「m5atom-zoom-mic-toggle」を選択してください。

画像5

Upload OptionsとMonitor Optionsでそれぞれ設定する箇所があるのでCOM4など先ほどDevicesで確認したものをupload_portとmonitor_portにそれぞれ記載してください。記載したら右上の[Save]を押します。

画像6

以上で設定は完了です。

設定が正しくされていればVSCode左下にある「→」を押すとプログラムがM5Atomへと書き込まれます。

画像7

書き込みが成功すると[SUCCESS]と表示されます。これで完成です。

画像9

PCにBluetoothキーボード「ESP32 BLE Keyboard」として接続可能になっていますのでBluetoothデバイスの追加から探してペアリングを行います。

画像9


ペアリングした状態でZoom中に押すとミュートとミュート解除を切り替えできます。(Windows限定)

M5Atomは電池を内蔵していないためPCではなく、USB充電器などでもよいですがUSBで電源を供給してあげる必要があります。

Macでもキーボードショートカットに合わせればできると思うのですがショートカットのキーコード調べるのめんd(......

Mac版Zoomはミュート中にスペースキーを押すと押している間だけ話せるという、いわゆるプッシュトゥトークに対応しているので必要ないかなーと。

Appendix

Bluetoothキーボードの名前を「ESP32 BLE Keyboard」から変えたいとき。

src/main.cppの最初のほうにある行を書き換えると変更できます。


BleKeyboard bleKeyboard; // ← この行を

BleKeyboard bleKeyboard("atom lite", "Espressif", 70); // ← こう書き換える

「atom lite」という部分が実際にBluetoothキーボード名としてPCで表示される名前です。

この記事が気に入ったらサポートをしてみませんか?