Giter Site home page Giter Site logo

drkzrg / wirelesscontroller Goto Github PK

View Code? Open in Web Editor NEW

This project forked from aefeinstein/wirelesscontroller

0.0 0.0 0.0 12.44 MB

ATmega328p & nRF24L01+ based wireless controller

License: GNU General Public License v3.0

C 78.59% Makefile 4.45% PLSQL 16.97%

wirelesscontroller's Introduction

View this project on CADLAB.io.

WirelessController

WirelessController is an ATmega328p based video game controller that controls a PixelShirtV2, which is Arduino based collection of games, using an nRF24L01+ wireless radio.

The Firmware

The firmware is relatively simple. The main function initializes the hardware and calibrates the joystick. An infinite loop polls the digital buttons and analog X & Y values of the joystick. If any of the values change, a bitpacked message containing the controller's state is sent to the PixelShirtV2.

A timer interrupt is called once a second to toggle a heartbeat LED.

Each controller's ID must be hardcoded differently when compiling and flashing the firmware. The PixelShirtV2 can support up to four controllers simultaneously.

This project uses the nrf24L01+ radio library.

The Hardware

The controller is powered by two AA batteries, which make nice grips on the bottom. The ATmega328p is populated underneath the PCB. The 3x2 header is an ISP header, and the 6x1 header is for serial debug over an FTDI cable.

I populated one of the controllers with red LEDs, and the other with blue LEDs. These are conveniently the two player colors used in all games, which made identifying player one and player two very easy.

Screenshots of the PCB layout. The top view is first, then the bottom view.

This is what it looks like all soldered together.

Thanks

3D models and print courtesy of gbsoares.
jgordo32 assisted with hardware design.

wirelesscontroller's People

Contributors

aefeinstein avatar cadlab-io[bot] avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.