背景
今までPS4コントローラからArduino(ESP32)を使ったロボットを操作していたが、充電インターフェースのMicroUSBは古くなりケーブルを持ち歩かなくなったので、これから作るロボットはPS5 Controllerから動かしたいと思った。
やり方を備忘録として記事に残す。
環境
やり方
①Githubから有志の開発したライブラリをDownload
②PS5 ControllerのMACアドレスを調べる
上記ライブラリのexampleに入っているps5Connect.inoで接続を試みるとps5.bebinという関数の引数でPS5 ControllerのMACアドレスが必要になる。
PS5を所持している人であればPS5の設定から調べられるらしいが私は本体を持っていないため下記のプログラムをESP32に書き込みSerial Monitorに出力される情報からMACアドレスを取得した。
上記プログラムをESP32で実行するとSerial Monitorに下記画像のようにPS5 Controllerが「DualSense Wireless Controller」という名前で見つかる。名前の直前に表記されている10:19: ….が取得したいMACアドレス。
右端の数字は電波強度。沢山Bluetooth Deviceが存在する空間では沢山出力されてきて探すのが面倒になるので可能な限りControllerとESP32を近づけておいた方が良い。
取得したMACアドレスをexampleプログラムに書き込んで実行し完了。
ちなみに、ps5ReceiveData.inoを実行すると各ボタンの取得値がリアルタイムにSerial Monitorから確認できる。
以上。