2
Help us understand the problem. What are the problem?

posted at

updated at

M5StackにPS4コントローラをBluetooth接続

PS4コントローラとM5Stack接続に関するノウハウの備忘録。
基本
https://github.com/aed3/PS4-esp32
の説明内容そのままです。

M5Stack(ESP32)のbluetooth MACアドレスの参照の仕方、MACアドレスツールの使い方、全体の流れは こちら の記事を参考にさせていただきました。(大いに助かりました。ありがとうございました)

#手順

①下記をM5Stackで実行してM5StackのBluetoothのMACアドレスをメモする。
(シリアルツールを開いて、Bluetooth Mac Address⇒赤のぐりぐり部)

void setup(void) {
  Serial.begin(115200);
  uint8_t bt_mac[6];
  esp_read_mac(bt_mac, ESP_MAC_BT);
  Serial.printf("Bluetooth Mac Address => %02X:%02X:%02X:%02X:%02X:%02X\r\n", bt_mac[0], bt_mac[1], bt_mac[2], bt_mac[3], bt_mac[4], bt_mac[5]);
}

void loop() {
}

image.png

②DS4にMACアドレス書込み
sixaxispairtool からをダウンロードしてインストール[2021.01.30]
PS4コントローラをUSBでパソコンと接続→sixaxispairtool を起動

image.png

③M5StackにDS4をBluetootu接続
https://github.com/aed3/PS4-esp32
PS4-esp32ライブラリをダウンロード追加

cd (Arduinoライブラリ先)
git clone https://github.com/aed3/PS4-esp32.git

スケッチ例→PS4Controller→PS4ReceiveData を開き下記、PS4.begin("xx:xx:xx:xx:xx:xx"); に①でメモしたMACアドレスを記入

#include <PS4Controller.h>
#include <M5Stack.h>


void setup()
{

    M5.begin();
    M5.Power.begin();

    Serial.begin(115200);
    PS4.begin("xx:xx:xx:xx:xx:xx");       //<=ここにアドレスを入れる
    Serial.println("Ready.");
    
}

(省略)

書き込んだ後コントローラのPSボタンを押すとリンクする。その他詳細はライブラリのスケッチ例参照。

image.png

(2021.03.31追記)
ESP32ライブラリが1.0.5以降だとエラーが出るようです。
最新でなくても問題ない場合は1.0.4に戻すことで解消できます。

(2022.05.24)
以前はエラーが出て1.0.4に戻す必要がありましたが、今日現在2.0.3では解消されていました。

image.png

以上参考になれば。 

※役に立ったら 「いいね」 よろしくお願いします。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
2
Help us understand the problem. What are the problem?