All Projects → AlfredoSequeida → Nerf-Gun-Call-of-Duty-Warzone-Controller

AlfredoSequeida / Nerf-Gun-Call-of-Duty-Warzone-Controller

Licence: MIT license
DIY Call of Duty Warzone controller built using a nerf gun powered by the Raspberry Pi 4.

Programming Languages

shell
77523 projects
OpenSCAD
209 projects
python
139335 projects - #7 most used programming language
kotlin
9241 projects

Projects that are alternatives of or similar to Nerf-Gun-Call-of-Duty-Warzone-Controller

piw5 bot warfare
The Bot Warfare mod for PlutoniumIW5
Stars: ✭ 57 (+216.67%)
Mutual labels:  gaming, cod, call-of-duty
cod-api
A thin Call of Duty API wrapper written in TypeScript
Stars: ✭ 40 (+122.22%)
Mutual labels:  gaming, cod, call-of-duty
Hyde
Call of Duty XAsset compiler that transforms raw assets into digestible data.
Stars: ✭ 15 (-16.67%)
Mutual labels:  cod, call-of-duty
CallofDuty.py
Asynchronous, object-oriented Python wrapper for the Call of Duty API.
Stars: ✭ 86 (+377.78%)
Mutual labels:  cod, call-of-duty
FCommunity
multi Checkers (Hma/Hulu/Spotify/Call of duty/Instagram/smtp2go/VyprVpn) in One Tool Named FCommunity
Stars: ✭ 26 (+44.44%)
Mutual labels:  cod, call-of-duty
Diy Arcade
How to build your own full-size arcade machine from scratch
Stars: ✭ 188 (+944.44%)
Mutual labels:  gaming, diy
Jekyll
Call of Duty XAsset exporter that dumps raw assets from a game's memory.
Stars: ✭ 29 (+61.11%)
Mutual labels:  cod, call-of-duty
blender-cod
Blender Add-On for Call of Duty® modding
Stars: ✭ 53 (+194.44%)
Mutual labels:  cod, call-of-duty
Deej
Set app volumes with real sliders! deej is an Arduino & Go project to let you build your own hardware mixer for Windows and Linux
Stars: ✭ 730 (+3955.56%)
Mutual labels:  gaming, diy
zonetool
zonetool, a fastfile linker for various Call of Duty titles.
Stars: ✭ 98 (+444.44%)
Mutual labels:  cod, call-of-duty
open-iw5
Experimental MW3 singleplayer & multiplayer client
Stars: ✭ 59 (+227.78%)
Mutual labels:  cod, call-of-duty
iw6x-client
Modification for IW6
Stars: ✭ 178 (+888.89%)
Mutual labels:  cod, call-of-duty
mcp3008.js
A node.js module for querying an mcp3008 analog/digital converter.
Stars: ✭ 24 (+33.33%)
Mutual labels:  diy
raiderio-addon
RaiderIO AddOn
Stars: ✭ 35 (+94.44%)
Mutual labels:  gaming
wiki
从diy行为艺术到diy苏格拉底式对话,从diy一个仪式到diy一次旷课,各种活动指南的百科。diy💔是706孵化的一个非代码开源项目。
Stars: ✭ 49 (+172.22%)
Mutual labels:  diy
Wordclock
Diy Wordclock with an esp32 and ws2812b Leds
Stars: ✭ 19 (+5.56%)
Mutual labels:  diy
nvim-highlite
A colorscheme template that is "lite" on logic for the developer.
Stars: ✭ 163 (+805.56%)
Mutual labels:  diy
ASUS-TUF-Z390M-Pro-Gaming-Hackintosh
ASUS TUF Z390M-Pro Gaming (Wifi) Hackintosh [BIOS, Drivers, Kexts, Config.plist]
Stars: ✭ 25 (+38.89%)
Mutual labels:  gaming
New-View-Synthesis
Collecting papers about new view synthesis
Stars: ✭ 437 (+2327.78%)
Mutual labels:  nerf
ATtiny13-TinyUPS
Uninterruptible Power Supply
Stars: ✭ 92 (+411.11%)
Mutual labels:  diy

Nerf Gun Call of Duty Warzone Controller (NGCODWC)

Watch the video for this project here

demo

I had the idea of using a nerf gun as a controller to play Call of Duty Warzone, but since it's just a controller, it can work for any game with the rebinding of the keys. This repo contains all the files for the client and server, the android app used to get accelerometer data, and the 3D models for the buttons, buttons assembly, and other components.

Setup

Python 3.5 or newer required.

Client

The client is meant to be used on a Rasberry Pi. Before running it, you must install the dependencies. This can be done using the included setup.sh script:

sudo sh setup.sh

Then set up the script by setting the SERVER_IP in nerf_client.py

Server

The server runs on the machine running the game to setup install the python dependencies use pip

py -m pip install -r requirements.py

Then set up the script by setting the HOST IP in nerf_server.py

The build

Nerf Gun

The nerf gun used for this build is the NERF Fortnite AR-L Elite Dart Blaster. Even though I originally built this controller to play Call of Duty Warzone, this Fornite edition nerf gun provided the space I needed to add the buttons for in-game actions like moving around, plating, jumping, etc. It's also useful that it has more than one button already built into the gun, which I used for shooting (left mouse button), reloading (r), and ads (right mouse button).

The Brains

For the brains of the build, I used the Raspberry pi 4 Model B. Since it has wifi built-in it lets us build a completely wireless solution. This is held on the gun using the bottom of this Raspberry Pi 4 case project on thingiverse by John_Sinclair

raspberry pi

Power

To power the entire system we could just run a USB-c cable to the pi, however since I wanted to keep the build wireless, I used a portable solar chargeable USB power bank. This is the Blavor Solar Charger Power Bank, which provides 5V at 2A. It's held in place with a custom 3D printed holder on the gun's shoulder rest.

power bank

Buttons

Buttons are designed to have a lead at the top and bottom components of a button. When I built it, I used aluminum foil to provide those contacts with a spring in between both components so the button rises back up.

The buttons should then be fed a voltage. In my case, I used the 3.3V source from the raspberry pi's GPIO pins. The other end of the lead is then connected to a GPIO pin that is used as an input. When these two leads make contact, the button will be registered as ON by the client python script.

button assembly

The diagram above shows the setup for one button as an example, but the same setup applies to all of the buttons. With the correct standoff height, the button assembly can be held in with the pressure of the original screws that hold the gun together.

buttons on gun

The Android App

The android app is used to get accelerometer information from an android phone, which is used to move the mouse pointer for in-game aiming. In my case, I used an old Nexus 5 that has a bad screen, so it was a great way to repurpose it. You can compile the app's source code using Android Studio.

android app

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].