Styra Arduino med Gamepad (1 / 5 steg)
Steg 1: Introduktion
Den ursprungliga artikeln publiceras på min hemsida. Detta är fortfarande i arbete och kräver massor av finjustering, men det är vad DIY är alla om - kontinuerlig förbättring!
Den ursprungliga mängden material som jag skrev är lite för stor för detta Instructable, så för att spara dig tid och rädda mig från att upprepa samma uppgift över igen jag kommer hoppa över några av saker och ge en länk till en lämplig resurs istället.
Allmänna begreppet mitt projekt består av följande:
- Vi kommer att använda en trådbundna/trådlösa gamepad till dator
- Vi kommer att genomföra en lightweight programvara skriven i C++ för att läsa det aktuella läget för XInput Device(gamepad)
- Vid behov kan vi omvandla nuvarande gamepad tillstånd till kort användbara data sekvens (knappläge, Axelposition etc.), som kommer att skickas över UART till våra mikrokontroller.
- Alternativt kan vi läsa vissa data tillbaka från mikrokontroller, som Force-Feedback utlösare för gamepad eller plain-simple sensordata.
Dessa principer också kommer att hjälpa oss att utveckla grunden för en tvåvägskommunikation mellan Arduino (eller någon annan MCU) och en dator, som vi kan använda, till exempel för en lågupplöst seriell kamera foder eller nästan realtid sensor information uppdatering.
De största fördelarna med denna metod är:
- Det kräver inte någon hårdvara modifieringar, som tortera gamepad
- Det kommer inte kosta dig ett öre, med tanke på att du har en dator och vissa medel för seriell kommunikation (som USB-UART gränssnitt, HC-05/06 modul etc.)
- I den specifika situationen fungerar det på alla Windows-powered PC med någon XInput kompatibel gamepad (som inkluderar billigt rumblepad/sixaxis kloner)
Men det kräver åtminstone vissa grundläggande C + +/ Arduino programmering kunskaper och en liten bit av tekniskt kunnande.