Il paraît que Brian Starkey a été occupé avec leurs robots. En utilisant l’une des meilleures cartes basées sur RP2040, le Pimoroni Inventor 2040 W, ils ont construit un robot contrôlé par Bluetooth qui utilise un contrôleur PlayStation 4. Mieux encore, ils ont partagé le code afin que n’importe qui puisse construire son propre robot.
@Raspberry_Pi #PicoW Bluetooth + manette PS4 + @pimoroni Inventor 2040 W + châssis @CannonFodder == Fun 😊Code : https://t.co/lXXGcRhl7g pic.twitter.com/2nT1Z9DNRL16 mai 2023
Le choix matériel de Starkey était l’Inventor 2040 W de Pimoroni, une carte que nous avons examinée lors de sa sortie. Le châssis du robot est un Tiny4WD de Coretec Robotics (aka Brian Corteil / Cannon Fodder) arborant un cadre en acrylique jaune fluo transparent.
Le côté logiciel du projet est ce qui a retenu notre attention. Bluetooth sur le Raspberry Pi Pico W (sur lequel est basé l’Inventor 2040 W) n’est toujours viable que pour une utilisation avec le langage C, et donc Starkey a écrit le code du projet de robot en utilisant C, et a utilement fourni un référentiel Github plein d’informations sur comment télécharger, construire et flasher le fichier UF2 sur votre propre Inventor 2040 W. Pour simplifier le processus de connexion d’un contrôleur Sony PlayStation 4, Starkey a fourni des valeurs d’adresse MAC codées en dur des lignes 59 à 66 dans /src/bt_hid.c. Remplacez la ligne correspondante par votre adresse MAC, flashez le code sur l’Inventor 2040 W, réglez votre contrôleur en mode d’appairage et vous êtes prêt à partir. Starkey déclare que « C’est un projet assez grossier qui fait apparaître un contrôleur Sony DualShock 4 (PS4) sur Pico-W. » mais à nos yeux, si ça marche, ça marche.
La prise en charge Bluetooth a été ajoutée via SDK 1.5.0 et apporte une API Bluetooth via BTstack. Il fournit Bluetooth LE, Bluetooth Classic, le codage de sous-bande et le protocole d’encapsulation de réseau Bluetooth. Pour l’instant, la prise en charge de Bluetooth est limitée à la fois au C et au C++. La prise en charge de MicroPython Bluetooth est en cours d’élaboration, mais il n’y a pas encore de date de sortie officielle.
Tout le code et les instructions se trouvent dans le référentiel Github picow_ds4 de Starkey. Pour l’utiliser, vous devrez installer la chaîne d’outils C SDK, dont il existe désormais un programme d’installation en un clic pour Windows.