


2種類のコントローラーを準備しました。1つは、WiFiとの接続などをLEDの点滅、点灯によって確認しながら、左右の筋電位(EMG)、ジョイスティックで、チョロQとドローンをコントロールできるものです(写真左)。WiFiとの接続状態、EMGの活動量などは、ESP32とPC(AruduinoIDE)に接続することにより、IDEのシリアルモニターで確認できます。もう一つは、この機能にさらに、OLEDのモニターでシリアルモニターの情報が表示されるコントローラーです(写真中央と右)。以下では、はじめに前者のコントローラの制御コードを、そしてそのあとに、OLEDを追加したコントローラのコードを挙げます。
また、それぞれのコントローラからかは、MQTTを介して、node redに信号が送信され、node redのゲージでEMGの活動量を確認できるとともに、EMGの活動量を計るための「サンプリング数」と「閾値」をnode redからESP32に送信して変更することもできます。ジョイスティックや筋電位で小型ドローン(TELLO)や、チョロQをコントロールするコードです。以下は、Pythonのコードです。
ジョイスチックによるチョロQとドローン(TELLO)の切り替え
チョロQモード:
ジョイスチックのボタンを押すことで、チョロQとドローンの制御の切り替えができます。ボタンを押して緑色のLEDが点灯すればドローンが制御できます。コントローラのスイッチをオンにすると、青色のLEDが点滅をはじめます。これは、コントローラがnode redにWiFiで接続していることを示すものです。接続できれば、青LEDが点灯します。node redと接続がない場合は、青色のLEDは点滅を続けます。この状態でも、筋電位やジョイスティックで、チョロQをコントロールできます。1チャンネルの筋電位が閾値を超えると、青LEDが点灯します。2チャンネルの筋電が閾値を超えると赤LEDが点灯します。ジョイスティックを上に倒すと青LED, 下に倒すと赤LEDが点灯します。青LEDが点灯すると、チョロQは前進します。赤LEDがつくとバック・回転をします。
ドローンモード:
ジョイスティックのボタンを押すと、緑LEDが点滅しますが、ドローンにwifiで接続されると点灯します。この状態になれば、チョロQと同じように、ドローンを筋電位やジョイスティックでコントロールできます。青LEDがつけば、ドローンは離陸します。5秒以上そのままにして、赤LEDがつけば、ドローンは着陸します。着陸後は、ジョイスチックのボタンを押すと、ドローンとのWiFi接続は解除されます。
接続方法:
・筋電位アンプとコントローラをミニピンジャックのついたケーブルで接続するだけです。
アンプのチャンネル1に入力した筋電位が閾値を超えると、チョロQは前進、ドローンは離陸します。チャンネル2に入力した筋電位でチョロQはバック・回転、ドローンは着陸します。
ドローン・チョロQのコントロール コード(パスワードが必要)
旧版:ドローン・チョロQのコントロール(パスワードが必要)

