Stap 3: Programmeren van de Arduino
De bibliotheken
Zoals ik in de intro, waren de twee bibliotheken gebruikt en bewerkt om dit project te verwezenlijken.
Maar om het project werken, moet u de bestanden die ik heb hier ook te downloaden. Zoals de bibliotheken zijn gewijzigd voor dit bijzondere doel, evenals een speciale klasse heb voor dit geval spelbesturing heeft ontwikkeld in zijn eigen geïsoleerd VUSB bibliotheek ik genoemd HIDJoy speciaal voor dit doel.
Ik ben het geven van krediet aan de oorspronkelijke ontwikkelaars, maar alstublieft om dit project te werken, gebruik maken van de bestanden die ik heb verstrekt hier.
Open de map bibliotheek gebruiker arduino (Raadpleeg voor meer hulp bij de installatie van de bibliotheken hier)
en de kopie in de bibliotheek van de mappen RCTrainer en HIDJOY.
Kopieer de schets van de mappen USBtx en USBtxEx naar de map van uw lokale arduino schets.
!!!!!!!!!! IMPORTANT !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Er is een gotcha voor het gebruik van VUSB. Het verbruikt INT0_VECTOR dat de definitie van de arduino interrupt 0 is. Als u attachinterrupt() vanuit elke andere code in het project aanroept (die RCTrainer moet doen) dan de arduino core klasses probeert te herdefiniëren van INT0_VECTOR en het wordt niet gecompileerd. Ik heb ook een tijdelijke oplossing voor dit. Als u deze stap overslaan, krijgt u een fout op compile dat zegt __vector1_ al is gedefinieerd.
Opgenomen in de map VUSB library is een bestand met de naam "WInterrupts.c" dit bestand is een gewijzigde versie van een kern arduino bestand dat geen conflict met een bestaande arduino project veroorzaakt zal. Dat alles is veranderd is het heeft een preprocessor richtlijn voor compileren die zegt dat als de INT0_VECTOR is al definiëren, probeer niet om het opnieuw definiëren.
U moet Kopieer dit bestand "WInterrrupts.c" en overschrijven de arduino software één om dit project te werken. Vind uw arduino-installatiemap. Als u het standaardpad hebt gebruikt op windows zijn C:\program files\arduino en C:\program dossiers (x86) \arduino. Als u van een ander besturingssysteem of een ander installatiepad gebruikmaakt, vinden. (zoeken op het web het is makkelijk genoeg te vinden) en navigeer vervolgens naar deze map
Arduino -> hardware -> avr - > kernen -> arduino - >
in die map bestaat de vorige versie van WInterrupts.c, van de HIDJoy bibliotheekmap te vervangen.
Laat nu de slag te gaan!
Open de arduino software en de schets USBtx voor geen kalibratie, of USBtxEx voor optionele kalibratie (als u de knop hebt toegevoegd en geleid)
Aangezien wij al het werk dat setup al hebben gedaan, moet u alleen om te compileren en de code verzenden uw arduino.
Opmerking: er zijn standaardwaarden gekalibreerd voor mijn SpektrumDX6-zender. Als u van de Spektrum DX serie gebruikmaakt moet u zitten kundig voor gewoon uploaden en gebruiken zonder kalibratie of wijzigingen in de code.
u kunt spelen met de standaardwaarden van het bereik in de code om uw specifieke controller werkt. De code is goed genoeg om te zien waar te wijzigen van de standaardwaarden gedocumenteerd.