Friday, July 15, 2011

Digital 8-Ways USB Joystick

ABSTRACT


This project meant to create full-features joystick, the project covers the hardware design and the firmware, as well as software to test the signals sent by the joystick.

The USB joystick in this project was created with 13 fire buttons (action buttons) and one directions controller which uses two coordinates X and Y. because of limitation of I/O ports, the Z coordinate was written in the software but it was not be implemented in the Hardware.

The communication between devices and a host controller uses USB 2.0 specification in Full-Speed mode as it was defined in Universal Serial Bus Implementers Forum [1]. The standard USB A plug was used in order to make the project more portable.

Joystick in Final Stage









Joystick firmware was written in ANSI C, and the joystick software tester was written in Microsoft Visual C# 2008. Also an external header files from microchip were used to establish safe USB connection [2].

The MPLAB version 8.60.00 [3], C18 compiler version v3.37.01 [4], SlimDX SDK version 11.43.00 [5], Visual Studio version 9.0.21022.8 [6] and Microsoft framework version 3.5 SP1 [7] were used to create and test the system.
The term joystick is used within this project to refer to gamepad or control pad since they are almost differ in the physical appearance.


 


SUMMARY



Approach Type Optimized
PL C# and ANSI C
Processor PIC18F4550
Libraries Microchip USB Framework
Compiler Microsoft C# Compiler, Microchip C18 Compiler

 

REFERENCES