1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

zoomのミュート切り替えボタンをM5 ATOM Liteでつくってみた

Last updated at Posted at 2021-02-11

M5StickCPlusでZoomのミュート&ビデオのON/OFFボタンを作るの記事をみてM5 ATOM Liteを使ってMAC用にミュート切り替えボタンを作ってみました。
M5 ATOM Liteは、ボタンひとつとLEDぐらいしかありませんが、1000円でBluetoothとWifiがついたマイコンです。千石通商やマルツからも手に入ります。

なお、WinとMACはZOOMのショートカットのキーアサインが違います。(Win Alt + A, MAC Command + Shift + A)
まあ、MACはスペースでPush To Talkができるんですが...

環境構築

M5Core Quick Start - Arduino Mac に従って環境を構築します。
シリアルポートは、tty.SLAB_USBtoUARTでなくて/dev/tty.usbserial-xxxxxxの形式でした。
(2) Search M5Stack , find it and click Installではなくて、M5Atomを検索してください。

Tools->Board->M5Stack-Core-ESP32ではなくて、Tools->Board->M5Stick-Cのほうがよいようです。(ほかだとビットレートを下げないと書き込みが失敗する)

追加ライブラリ

スケッチ-ライブラリをインクルード-ライブラリを管理から、FastLEDで検索してインストールをしてください。

ESP32-BLE-Keyboardより、最新版のESP32-BLE-Keyboard.zipをダウンロードして、スケッチ-ライブラリをインクルード-.ZIP形式のライブラリをインストールから、さきほど落としたzipファイルを指定してインストールします。

ソースコード

IDEのソースが書いてあるところに以下をコピーペーストします。"AtomKeyboard"はMACから見えるBluetoothデバイスの名前になります。長すぎるとMACから見えませんので注意してください。
エディターの上部のレボタンで検証して、→ボタンで書き込みます。
書き込みでタイムアウトとかでる場合は、ATOM LiteとのUSB-Cを抜き差しします。

# include <M5Atom.h>
# include <BleKeyboard.h>

BleKeyboard bleKeyboard("AtomKeyboard");
bool blestate = false;

void setup() {
  Serial.begin(115200);

  M5.begin(true, false, true);
  M5.dis.drawpix(0, 0x00f000); // init red

  Serial.println("Starting BLE work!");
  delay(20);
  bleKeyboard.begin();
  delay(20);

  M5.dis.drawpix(0, 0x001000); // dark red
}

void loop() {

  if (bleKeyboard.isConnected()) {
    if (!blestate) {
      blestate = true;
      Serial.println("BLE connect");
      M5.dis.drawpix(0, 0x001000);    // dark red
    }
    delay(100);
    if (M5.Btn.isPressed()) {
      Serial.println("Sending key...");
      M5.dis.drawpix(0, 0x0000f0);    // blue
      bleKeyboard.press(KEY_LEFT_SHIFT);
      bleKeyboard.press(KEY_LEFT_GUI);
      bleKeyboard.write('a');
      delay(100);
      bleKeyboard.release(KEY_LEFT_GUI);
      bleKeyboard.release(KEY_LEFT_SHIFT);
    }
     M5.dis.drawpix(0, 0x100000);    // dark green
  } else {
    if (blestate) {
      blestate = false;
      M5.dis.drawpix(0, 0x001000);    // dark red
    }
  }

  delay(100);
  M5.update();
}

おそらく以下のようにすればWINに対応したショートカットキーになるとおもいます(未確認)。

      // sending key
      bleKeyboard.press(KEY_LEFT_ALT);
      bleKeyboard.write('a');
      delay(100);
      bleKeyboard.release(KEY_LEFT_ALT);

動作確認

ツール-シリアルモニタで、Starting BLE work!とでているか確認します。
出ていなかったらATOM Liteのサイドボタンでリセットするか、USB-Cの抜き差しをします。

MACの設定からBluetooth設定を出して、AtomKeyboardと表示されているか確認をして接続します。

接続できるとシリアルモニタで、BLE Connectとでます。ATOM Liteのボタンを押すと、Sending key...と表示されます。
ここまでくれば動いているので、実際にzoomで試しましょう。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?