Skip to main content

Post in evidenza

Router table with power lift, built around Ikea BEKVÄM and parts from old drafting machine

This is my (quite) completed router table built around IKEA kitchen cart BEKVÄM and a precise drafting machine cannibalized.

Router is a Bosch POF 1200.
Router table is equipped with power lift feature (missing only router support in the photos).

COIN-OP: mini arcade cabinet build log 3/3

This is a 3 part post, in which i cover:

INTRODUCTION Arduino Uno Keyboard emulator - dfu mode / programming
SKETCH Arduino Uno keyboard emulator - ino sketch
COINS Coin acceptor (3 coins)

Source code is available on Google Drive folder:

I use this model by SparkFun: CH-923 sourced at Robot Italy.
The device is a robust independent coin acceptor with more than 95% coin recognition performance.
Here after the manual:

Is possible to use 1, 2 or 3 coin types. Each time an unrecognised coin is inserted the acceptor ejects it in the front.
If recognised, the coin drop from the bottom.

Voltage is +12Vdc sourced from the PC ATX connector (Yellow for 12V, Black for GND). Output is TTL compatible so you can use directly with arduino. You need only to interconnect GND from PC to GND to the Arduino part.

The output is programmable, so each time you insert a coin you can choose how many pulses the Acceptor are sent to the Arduino.

Because i use Euros coins, i've set 10 cents / pulse:
20 euro cents: 2 pulses
50 euro cents: 5 pulses
1 euro: 10 pulses
You can use a metal coin of your choice, and once programmed it will works with your coins.

On the Arduino Uno part i've connected the Grey wire to Pin 2 (INTERRUPT 1) acting as a switch using a 10k pulldown resistor. Each time a pulse is received an internal counter is incremented by 0.10 euro.
In the main loop each time the counter is > than 20 cents, is decremented by 20 cents and a keystroke is sent to PC.
The corresponding keystroke is then mapped on Mame as coin insert.

The sketch part is really simple:

  • Declare coinvalue variable as volatile so you can change in interrupt routine
  • Attach in Setup the interrupt handler using: attachInterrupt(digitalPinToInterrupt(PIN_COIN), coinInserted, FALLING);
  • Handle the interrupt incrementing the coinvalue variable, and setting coinchange bool to 1.
  • In the loop - once the coinchange value is set to 1 - decrement the coinvalue variable and send the keystroke as described in the previous post. Because the Byte is shared with Start and Menu routine, immediately send the keystroke to clear the byte usage for the latest Start/Menu routine.

The coin acceptor up to now was really reliable, so the arduino keyboard.
Customize it as you need.


Popular posts from this blog

PEATOL/TAIG: the most beautiful affordable metal lathe

I bought a PEATOL/TAIG because i need a small lathe (despite i have a 7x20 lathe) i can operate in my house. I have known about it from the conspicuous fans all over the world.

Here some links if you want to know more about PEATOL/TAIG:
Peatol Machine Tools: the home of PEATOL/LATHE;
Deansphotografica: beautiful projects;
CarterTools: the biggest resource i know about taig;
LeeValley Instruction booklet;

I received it from Peter of Peatol (UK) on August, and now i'm showing it once assembled the base, the motor and it's fully functional. The motor was blue so i repainted to black.
I assembled also the motor mount from aluminium with primitives dovetails. My version of lathe come with powerfeed already installed and a sturdy block of aluminium for raise the entire lathe.

This is my start package:
1015Micro lathe with power feed1030Four jaw chuck, with reversible, heat-treated steel jaws10921/16"-3/8" Jacobs chuck1150Drilling tailstock - lever operated1151Needle bearing centr…

COIN-OP: mini arcade cabinet build log

My father bought some wood panels from Ikea. He donated two to build a mini arcade cabinet for my son. The arcade cabinet will use a raspberry pi with PiMame and some Sparkfun arcade goods, like a Zippy arcade joystick and concave buttons. In this post you'll find a short build log. The cabinet is 1 meter tall (39") and 0.42 meter wide (17").

Cutting the hpl boards. Masking tape installed for marking

The monitor, a 19" sony sdm-hs95
Build log:

Monitor installation test

EMBROIDERY CNC: Software completed

The software for the cnc embroidery is finally completed and fully functional.

Screenshot: Main screen
Screenshot: Palette selection
Screenshot: Color selection
Screenshot: Artwork translate panel
Screenshot: Grbl dashboard panel (realtime via browser thanks to Websocket)
Screenshot: G-Code Inspection panel