Homebrews & more

The ultimate blog dedicated to hardware et software stuffs

Interfaces

Entries feed

ArcadeUSB : Arcade Buttons to PC Interface

IMG_3429.png
Arcade-USB Adaptor, nov. 2016

Arcade-USB-Adaptor

Version : 2014-10-13

This arduino sketch has been developped for my bartop project.

Just few words about my it. It is not yet finished but it is composed mainly by :

  • some wood,
  • a PC,
  • a LCD display,
  • buttons and joysticks.

To manage the buttons, it is necessary to have an interface between buttons/joysticks and the PC in charge of the emulation. There are different solutions to do that.

  • Reusing an existing keyboard. This is cheap but it is difficult to assign buttons to specific key because the matrix is not so simple,
  • The other solution could be to buy a "ready-to-use" interface but I do not like this choice,
  • The last one is to make the interface by yourself.

Instead of re-inventing the wheel, I have chosen the Teensy ([Web site|https://www.pjrc.com/teensy]) as a developpement board. It is arduino compatible but it manages the USB natively. Because I need to manage at least 30 different keys, I have decided to add an input-mutiplexing interface to the Teensy (See IExpender).

To go back to the sketch, it is very simple. It has been developped with Arduino 1.0.5 IDE to target a Teensy 2.0. Buttons should be connected to the interface (IExpender) according to the mapping table (See code). Then the interface has to be connected to the Teensy board, and of course the Teensy to the PC

Have fun !

Window Controller Module for my NISSAN Patrol

Window Controller Module

This Arduino sketch could be usefull for every user having a damaged or destroyed Car Window Controller Module.

In my situation, the module in charge of controlling the left window of my new car was missing. I do not know why the previous owner has removed it. Never mind. It is an expensive part, so I decided to make my own control module. I started the code first because this is something I can test without having electronic parts.

So, you will find the Arduino sketch code. All details are included. I will post the schematics soon ..

Have fun !

IExpender

IExpender-Pcb.png
IExpender-Pcb.png, nov. 2016

IExpender : Version 30/09/2014

When playing electronics with microcontrollers, you sometimes need to manage a lot of inputs (sensors or buttons).

Instead of using a bigger controller to have more IO ports, it is better or simpler to add extra components to it.

This piece of hardware, based on simple logic chips, uses 10 pins (8 bits for data and 2 bits for control) to manage 32 inputs.

In my case, I need this to connect 32 buttons to an arduino board.

 

Usage and restrictions

  • 4 banks of 8 bits. Each bank handles 8 inputs,
  • Bank number is selected with 2 control signals (signals A and B on 74LS138),
  • The board can be extended to manage 64 inputs (4 other 74LS541 must be added)

Enjoy !

Joystick2USB adaptor

IMG_8023.JPG
This simple hack corresponds to an "easy-to-make" joystick to USB adaptor.
It is mainly usefull for anybody who wants to play old-school games with their old Atari joysticks on a modern PC or may be on a handheld console like the Caanoo.

It is very easy to make and of course, you do not need to make a PCB or buy expensive parts.
The idea : Re-use an old USB keyboard to make things happen.

Connect your joystick and plug the USB to the PC.
You have to launch your favorite emulator and define the corresponding keys.

Key mapping :

  • UP : 8
  • DOWN : 5
  • LEFT : 2
  • RIGHT : 0
  • FIRE :/

Package (attached) contains every needed informations to make your own.

Enjoy !
Buzz

Communication tool (Unix)

UnixTalk-15122004.png

This simple tool is used to communicate between two XDisplays (both textual and graphical). It is a kind of an old fashion "chat" tool.

The application opens at the same time two windows, both on the local host and on the remote host.
Each user can type some text or draw drafts. It is updated in realtime : no need to type enter to validate your message.

Source code and informations are in the file UnixTalk-15122004.tgz (attached).

Enjoy !
Buzz