50
PlayStation 4コントローラーで制御されるBluetooth Raspberry Pi Pico Wロボット
ブライアン・スターキーのInventor 2040 Wロボット
(画像提供:ブライアン・スターキー)

ブライアン・スターキーはロボット開発に忙しいようです。RP2040ベースのボードの中でも最高峰の一つ、Pimoroni Inventor 2040 Wを使って、PlayStation 4コントローラーで操作するBluetooth制御ロボットを製作しました。しかも、コードが公開されているので、誰でも自分だけのロボットを作れるのが素晴らしいです。

@Raspberry_Pi #PicoW Bluetooth + PS4 コントローラー + @pimoroni Inventor 2040 W + @CannonFodder シャーシ == 楽しい 😊コード: https://t.co/lXXGcRhl7g pic.twitter.com/2nT1Z9DNRL 2023 年 5 月 16 日

このプロジェクトのソフトウェア面は、私たちの注目を集めました。Inventor 2040 WのベースとなっているRaspberry Pi Pico WのBluetoothは、まだC言語でしか利用できません。そのため、Starkey氏はロボットプロジェクトのコードをC言語で記述し、UF2ファイルをInventor 2040 Wにダウンロード、ビルド、フラッシュする方法に関する情報が満載のGitHubリポジトリを提供しています。また、Sony PlayStation 4コントローラーの接続プロセスを簡素化するために、Starkey氏は/src/bt_hid.cの59行目から66行目にMACアドレス値をハードコードしています。該当する行を自分のMACアドレスに置き換え、コードをInventor 2040 Wにフラッシュし、コントローラーをペアリングモードに設定すれば、準備完了です。Starkey氏は「これはPico-WでSony DualShock 4(PS4)コントローラーを起動する、かなり粗削りなプロジェクトです」と述べていますが、私たちの目には、動作するなら動作する、という印象です。

SDK 1.5.0でBluetoothサポートが追加され、BTstack経由でBluetooth APIが提供されます。Bluetooth LE、Bluetooth Classic、サブバンドコーディング、Bluetooth Network Encapsulation Protocol(NEP)がサポートされています。現時点では、BluetoothサポートはCとC++のみに限定されています。MicroPythonでのBluetoothサポートは現在開発中ですが、正式なリリース日はまだ未定です。

すべてのコードと手順は、Starkeyのpicow_ds4 Githubリポジトリにあります。使用するには、C SDKツールチェーンをインストールする必要があります。Windows用のワンクリックインストーラーも提供されています。

Tom's Hardware の最高のニュースと詳細なレビューをあなたの受信箱に直接お届けします。

レス・パウンダーは、トムズ・ハードウェアのアソシエイトエディターです。クリエイティブテクノロジストとして、7年間にわたり、老若男女を問わず、教育と啓発のためのプロジェクトを手がけてきました。Raspberry Pi Foundationと協力し、教師向けトレーニングプログラム「Picademy」の執筆・提供にも携わっています。