RC sändare till USB-spelkontroll med Arduino (3 / 5 steg)
Steg 3: Programmera Arduino
Bibliotek
Som jag nämnde i introt, två bibliotek användes och ändras så att det här projektet verklighet.
Men för att få arbeta, måste du ladda ner filerna jag har tagit med här. Som biblioteken har ändrats för detta särskilda ändamål, samt en speciell klass har för ärendet spelenheten har utvecklats till det egna isolerade VUSB bibliotek jag kallat HIDJoy speciellt för detta ändamål.
Jag ger kredit till den ursprungliga utvecklare, men för att detta projekt med filerna jag har förutsatt här.
Öppna biblioteksmappen arduino användare (för hjälp med att installera biblioteken ser här)
och kopiera i mapparna RCTrainer och HIDJOY bibliotek.
Kopiera mapparna USBtx och USBtxEx skiss till mappen lokal arduino skiss.
!!!!!!!!!! IMPORTANT !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Det finns en gotcha till med VUSB. Den förbrukar INT0_VECTOR som är definitionen av den arduino avbrott 0. Om du ringer attachinterrupt() från någon annan kod i projektet (som RCTrainer måste göra) sedan arduino kärna bibliotek försöker omdefiniera INT0_VECTOR och det kommer inte kompilera. Jag har tagit en workaround för detta. Om du hoppar över detta steg, får du ett fel på kompilera som säger __vector1_ har redan definierats.
Ingår i mappen VUSB bibliotek är en fil som heter "WInterrupts.c" denna fil är en modifierad version av en core arduino fil som inte kommer i konflikt med alla befintliga arduino projekt. Det enda som ändras är den har en förprocessordirektiv för kompilera som säger om INT0_VECTOR redan är definiera, försök inte att omdefiniera det.
Du måste kopiera filen "WInterrrupts.c" och skriva över den arduino programvaran en för detta projekt att arbeta. Hitta din arduino installationskatalog. Om du använt standardsökvägen i windows dess C:\program files\arduino eller C:\program filer (x86) \arduino. Om du använder ett annat operativsystem eller en annan installationssökväg, hitta den. (Sök på webben är det lätt att hitta) och gå sedan till katalogen
Arduino -> maskinvara -> avr - > kärnor -> arduino - >
i den mappen finns den tidigare versionen av WInterrupts.c och ersätta den med den från mappen HIDJoy bibliotek.
Nu kan komma igång!
Öppna programvaran arduino och öppna antingen skiss USBtx för ingen kalibrering, eller USBtxEx för valfria kalibrering (om du lagt till knappen och ledde)
Eftersom vi redan har gjort alla installation arbete, bör du endast har att sammanställa och skicka koden till din arduino.
Obs: det finns standardvärden kalibrerad för min SpektrumDX6 sändare. Om du använder Spektrum DX serien bör du kan bara ladda upp och använda utan kalibrering eller kodförändringar.
Du kan spela med olika standardvärden i koden för att få din specifika controller arbetar. Koden är dokumenterat tillräckligt väl för att se var du kan ändra standardvärdena.