【ESP32】完全ワイヤレスフットスイッチの作り方

マイコン/Arduino

ESP32でゲームコントローラーを作る話の番外編、キーボード入力をエミュレートするフットスイッチを作りました。Bluetoothで接続し、電源も内蔵した完全ワイヤレス式です。

その作り方を紹介します。

使ったもの

筐体

フットスイッチとして有名なKORGのPS-1を使用しました。金属製でしっかりとした作りで、分解/再組立ても簡単です。

KORG ペダルスイッチ PS-1

KORG ペダルスイッチ PS-1

2,822円(07/21 07:24時点)
Amazonの情報を掲載しています

マイコン

おなじみのESP32です。このボードはリチウムイオン電池の充放電回路まで載っているので使いやすいです。

Amazon | waves ESP32 LOLIN D32 ESP-WROOM-32 ESP-32 WiFi BLE MicroPython | Waves | インターフェースカード 通販
waves ESP32 LOLIN D32 ESP-WROOM-32 ESP-32 WiFi BLE MicroPythonがインターフェースカードストアでいつでもお買い得。当日お急ぎ便対象商品は、当日お届け可能です。アマゾン配送商品は、通...

以前も記事にしましたが、Bluetoothが正常に動作しないESP32ボードも出回ってるようなのでご注意ください。定期的に買っていますが、このボードは不良品に当たったことありません。

ただ、上記ESP32ボードは長期にわたって欠品しています。代替品は下記製品あたりでしょうか。

バッテリー

リチウムイオン電池は1400mAhのものを使用しました。様々な容量のものが販売されていますが、EEMBの1400mAh品が最もおさまりがよさそうです。

その他

トグルスイッチ、電線など

作り方

ペダルの改造

ペダル側面のネジ兼回転軸をドライバーで外せば簡単に分解できます。ケーブルが板バネにはんだ付けされているので、取り外して筐体から引っこ抜きます。

下記写真のように部品を配置します。ESP32ボードは両面テープで固定、トグルスイッチはケーブルが生えていた穴に固定しました。

配線図は書きませんが、上の写真を見れば大体わかると思います。トグルスイッチはバッテリーON/OFF用です。写真ではバッテリーがはみ出してますが、きちんと収まります。炎上・爆発の危険があるので変な圧力がかからないように注意してください。薄いPET板か何かで位置を固定するとよいです。

下側の筐体に穴をあけてESP32ボードのUSBポートにアクセスできるようにします。アルミではなく鉄なので注意。ハードウェア的には以上です。

スケッチ

ArduinoIDEでのESP32の設定は前回の記事を参照してください。

【ESP32】Bluetooth対応無線ゲームコントローラーの作り方
ESP32を使って、簡単なBluetooth対応ゲームコントローラーを自作する方法の紹介です。

また、ESP32をBluetoothキーボード化するためのライブラリも必要です。

GitHub - T-vK/ESP32-BLE-Keyboard: Bluetooth LE Keyboard library for the ESP32 (Arduino IDE compatible)
Bluetooth LE Keyboard library for the ESP32 (Arduino IDE compatible) - GitHub - T-vK/ESP32-BLE-Keyboard: Bluetooth LE Ke...

実際のスケッチはこちら。今回は踏んでいる間Ctrlキーを押し続けるようにしています。

#include <BleKeyboard.h>
#include <driver/adc.h>
#include <Wire.h>

BleKeyboard bleKeyboard("footPedal");

//ボタン
const int buttonPin = 14;
int PinButton1_Prev=1;
int PinButton1_Curr=1;

void setup() {
 //入力ピン設定
  pinMode(buttonPin, INPUT_PULLUP);
  PinButton1_Prev = digitalRead(buttonPin);
  bleKeyboard.begin();
}

void loop() {
  if (bleKeyboard.isConnected()) {
    PinButton1_Curr= digitalRead(buttonPin);
    if (PinButton1_Curr == 0){
      delay(10);//チャタリング対策
      PinButton1_Curr = digitalRead(buttonPin);
      if (PinButton1_Curr == 0)
      {
        bleKeyboard.press(KEY_LEFT_CTRL);
        while (true)
        {//スイッチが戻るまで待つ
          PinButton1_Curr = digitalRead(buttonPin);
          if (PinButton1_Curr == 1) break;
          delay(10);
        }
        bleKeyboard.releaseAll();
      }
    }
  }
  delay(2);
}

問題:部品が手に入らない

ブログを書いている時点では肝心のフットペダル(KORG PS-1)の在庫が切れていてアマゾンでは4000円近い価格になっています。2000円程度が本来の価格なので気を付けてください。多分生産終了とかではないと思います。BICカメラなら予約は可能なのでどうしても欲しいならそちらでもいいかもしれません。

(追記)2022年に価格改定があり、定価が2000円→3500円に変更されていました。4000円近い価格というのは相応のお値段のようです。気軽に買える値段ではなくなってしまいました。ビックカメラなどでも同様の価格です。2023年3月にBICで入荷予約して2000円で購入したのが最後のすべりこみでした。

このようなペダルにはKORGのPS-3という商品もあります。こちらはプラスチック製ですが1500~2000円程度で、在庫も安定していそうです。

KORG ダンパーペダル 電子ピアノ用 PS-3

KORG ダンパーペダル 電子ピアノ用 PS-3

1,440円(07/21 07:24時点)
Amazonの情報を掲載しています

実際に入手してみたのですが、こちらはスイッチの構造上内部のスペースが小さいので部品を収めるのに苦労しそうです。また、質感が段違いなので、できればPS-3よりもPS-1をお勧めします。

また、YAMAHAからも手ごろな価格(1100円程度)でフットペダルが出ていますが、極性が逆であるため配線やソフト的な処理が今回の例とは違うので注意してください。

Amazon | ヤマハ YAMAHA フットスイッチ FC5 | 電子ピアノアクセサリ | 楽器・音響機器
ヤマハ YAMAHA フットスイッチ FC5が電子ピアノアクセサリストアでいつでもお買い得。当日お急ぎ便対象商品は、当日お届け可能です。アマゾン配送商品は、通常配送無料(一部除く)。
KORGはノーマリーオープン、YAMAHAはノーマリークローズです。

コメント