I've not played computer games for at least the last 20 years. I recently bought a nVidia GeForce GTX 1660 Super videocard to stop Fusion360 from whining about my worthless build-in graphics card.
I thought it might be fun to try a game that would fully utilize my new card now I have it anyway. So I tried Fortnite and I hate it, especially the 'building' part, makes no sense whatsoever. In my quest to find a game without building stuff I came across COD Warzone, and that is much more like it.. I kinda like it.
But my next problem is, that I suck at it.. big time.. I just can't get the WASD (and other keys you need) under control. So I bought a Xbox controller and tried that, this solves the problem with the WASD keys quite good, but aiming is a mess.. I can't get it right. A combo of a thumbstick and mouse would be cool, but warzone does not allow this, it's controller or keyboard and mouse.
So I thought, maybe I should build something like this:
This thing is 3D printed, and I have a 3D printer, so how hard can it be.. right?
So I set out to first find a thumbstick to start out with, and on this quest a came across an old Wii Nunchuck somewhere in a drawer, and just before I tore it apart, the idea of just using the nunchuck popped up.
I searched for any libraries to hook this thing up to my Arduino Leonardo, and it turns out that people have done this before. The Nunchuck is just an I2C device, which easily can be connected to the an Arduino with SCL and SDA inputs.
The nice thing about the Nunchuck is that it has an accelerator chip in it. So you can program it to wrist movements (beside the 2 buttons). My prototype looks like this:
I programmed the Leonardo to do this:
- Thumbstick: WASD (where half W is walk, and full W is run)
- Z button: F (pick up stuff)
- C button: 4 (Armour plates)
- Acc UP: Jump (space)
- Acc Down: R (reload)
- Acc right tilt: C (croutch)
And this works remarkably well, far better than I expected. For now I will stick to this setup and see how it holds up after some games. I'm still missing some buttons, still got to find a way to accomodate for that I guess.
The connections I made are as follows:
Nunchuck | Arduino |
---|---|
Red | 3.3V |
White | Gnd |
Yellow | SCL |
Green | SDA |
This is using a genuine Nintendo Wii Nunchuck, no guarantees, this worked for me. There seem to be different codings for the wires for some other Nunchucks (but maybe those are not genuine).
You can find the Arduino code here: https://github.com/floreseken/NunchuckWASD