diff --git a/.vs/ProjectSettings.json b/.vs/ProjectSettings.json new file mode 100644 index 0000000..f8b4888 --- /dev/null +++ b/.vs/ProjectSettings.json @@ -0,0 +1,3 @@ +{ + "CurrentProjectSetting": null +} \ No newline at end of file diff --git a/.vs/VSWorkspaceState.json b/.vs/VSWorkspaceState.json new file mode 100644 index 0000000..6b61141 --- /dev/null +++ b/.vs/VSWorkspaceState.json @@ -0,0 +1,6 @@ +{ + "ExpandedNodes": [ + "" + ], + "PreviewInSolutionExplorer": false +} \ No newline at end of file diff --git a/.vs/blog/v15/.suo b/.vs/blog/v15/.suo new file mode 100644 index 0000000..443c7c9 Binary files /dev/null and b/.vs/blog/v15/.suo differ diff --git a/.vs/slnx.sqlite b/.vs/slnx.sqlite new file mode 100644 index 0000000..0ff35f9 Binary files /dev/null and b/.vs/slnx.sqlite differ diff --git a/README.md b/README.md index bf30972..7ea0562 100644 --- a/README.md +++ b/README.md @@ -53,7 +53,7 @@ author-social: ```yaml --- layout: post -title: Intro to GitHub +title: Intro to GitHub date: 2017-10-22 12:25:00 categories: - git diff --git a/_posts/2018-04-17-Custom-USB-Joystick.md b/_posts/2018-04-17-Custom-USB-Joystick.md new file mode 100644 index 0000000..2f5f530 --- /dev/null +++ b/_posts/2018-04-17-Custom-USB-Joystick.md @@ -0,0 +1,36 @@ +--- +layout: post +title: "Custom USB Joystick" +date: 2018-04-17 +categories: + - 3d printing + - PCBs +description: Custom-built USB Joystick for use playing fighting-genre games +image: https://csh.rit.edu/~torirossini/fightstick.png +image-sm: https://csh.rit.edu/~torirossini/fightstick.png +author: Tori Rossini +author-image: https://avatars2.githubusercontent.com/u/31526939?s=400&u=a7b420679bf03d1c0ea8f70fa3cdec5cf402ecf0&v=4 +author-bio: First Year Game Design and Development Student at Rochester Institute of Technology +author-email: torirossini@csh.rit.edu +author-social: + github: https://github.com/torirossini +--- + Background +--- +Coming up with my first project idea was a struggle in and of itself. I had very little technical knowledge, beyond the basics of Java and C#, and some menial handiwork skills. I wanted my project to be something I was passionate about, but I didn't want to make another game when there was so much more I wanted to learn. I also wanted my project to have a practical use after I completed it. Eventually, I stumbled across the idea of building my own USB joystick! Going into it, I didn't know what I would need, or how I would do it, but I knew I had to start before I could really answer any of those questions. + +The Process +--- +I bought a PCB online, complete with buttons and the joystick. It seems dumb now, but I was terrified of the thing. I didn't understand how to hook anything up to it, and I was so afraid I would break it while trying to attach all the wires. Once I grew comfortable with it, finishing the wiring there was a quick process. + +After that, I began working with my Arduino. I wanted to make some animated LEDs which could shine inside of the case. I thought I could 3-D print a case which would be translucent enough for the light to diffuse and shine through. This proved to be significantly more difficult since I had never learned how to wire LEDs. With the help of quite a few people and several hours, I was able to wire together a strip of LEDs which I could animate using the Arduino. + +The most complicated part, surprisingly, ended up being the casing. I originally was going to make the top and larger sides out of wood, and 3-D print the last two sides. This idea went out the window when I couldn't cut holes in the wood for the buttons. My next plan was to 3-D print the entire case. This seemed like a great idea! The R&D Director taught me how to 3-D print, and I picked an ABS filament for my print and started. + +However, this filament failed me multiple times, costing me many days and lots of broken prints. Even so, failing with my prints so many times got me very comfortable with working with the printer, and knowing what I had to do in order to increase the probability that my print would come out nicely. I changed over to an opaque, PLA filament, which ended up working much better for my case. In the end, the case was too thick and opaque of any lights to shine through; I ditched the animated LED idea. But the case was finished! All that was left was to put it all together. + +"So what have you learned?..." +--- +I learned that PCBs aren't that scary. I learned that woodshops are. + +In all seriousness, I learned how to 3-D print, and how frustrating (and long) it can be to finish a project this way. I also found it endlessly enjoyable and satisfying to have my prints work out! I also learned how to animate LEDs and program Arduinos using python. I also learned quite a bit about workshop safety, and how to have healthy levels of caution when working with tools. The cuts on my hand can attest to that.