Öyle görünüyor Brian Starkey meşguldü robotları ile. En iyi RP2040 tabanlı kartlardan biri olan Pimoroni Inventor 2040 W’yi kullanarak PlayStation 4 denetleyicisi kullanan Bluetooth kontrollü bir robot oluşturdular. Hepsinden iyisi, onlar kodu paylaştı Böylece herkes kendi robotunu yapabilir.
@Raspberry_Pi #PicoW Bluetooth + PS4 denetleyici + @pimoroni Inventor 2040 W + @CannonFodder kasa == Eğlence 😊Kod: https://t.co/lXXGcRhl7g pic.twitter.com/2nT1Z9DNRL16 Mayıs 2023
Starkey’nin donanım seçimi, piyasaya sürüldüğünde incelediğimiz bir anakart olan Pimoroni’s Inventor 2040 W idi. Robot kasası, Coretec Robotics’ten bir Tiny4WD’dir (aka Brian Corteil / CannonFodder) şeffaf neon sarı akrilik çerçeveye sahiptir.
Projenin yazılım tarafı dikkatimizi çekti. Raspberry Pi Pico W (Inventor 2040 W’nin temel aldığı) üzerindeki Bluetooth hala yalnızca C diliyle kullanım için uygundur ve bu nedenle Starkey, robot proje kodunu C kullanarak yazmış ve yararlı bir şekilde ilgili bilgilerle dolu bir Github deposu sağlamıştır. UF2 dosyasını kendi Inventor 2040 W cihazınıza nasıl indireceğiniz, oluşturacağınız ve flaşlayacağınız. Starkey, bir Sony PlayStation 4 kontrol cihazına bağlanma sürecini basitleştirmek için, /src/bt_hid.c içindeki 59 – 66. satırlar. Karşılık gelen satırı MAC adresinizle değiştirin, kodu Inventor 2040 W’ye yazın, kontrol cihazınızı eşleştirme moduna ayarlayın ve hazırsınız. Starkey, “Bu, Pico-W’de bir Sony DualShock 4 (PS4) denetleyicisi getiren oldukça kaba bir proje” diyor. ama bizim gözümüzde işe yararsa işe yarar.
Bluetooth desteği, SDK 1.5.0 aracılığıyla eklendi ve BTstack aracılığıyla bir Bluetooth API’si getiriyor. Bluetooth LE, Bluetooth Classic, Alt Bant Kodlama ve Bluetooth Ağ Kapsülleme Protokolü sağlar. Şimdilik Bluetooth desteği hem C hem de C++ ile sınırlıdır. MicroPython Bluetooth destek üzerinde çalışılıyor ancak henüz resmi bir çıkış tarihi yok.
Tüm kod ve talimatlar şu adreste bulunabilir: Starkey’nin picow_ds4 Github deposu. Bunu kullanmak için, artık Windows için tek tıklamayla yükleyici bulunan C SDK araç zincirini yüklemeniz gerekecek.