The board is made up of 62 segments : 20 singles, 20 doubles, 20 triples and 2 bull's eye.
When you touch a segment, it quickly shuts a switch. So there are 62 switches behind your dart board. One for each segment of your board.
Behind your board, there are two plastic leaves, one over the other. They hold all the switches. When your dart hits a segment, the two leaves touch together, and the circuit is shuts. The signal is sent.
Electronically speaking, all the switches can be represented inside a matrix.
Each plastic leaf output as a plastic ribbon, holding the leads of an axis of the matrix.
In a 8×8 example, one plastic ribbon hold the X axis (1 to 8) and the other the Y axis (A to H) :
Let say, as an example, you hit a triple 20 (T20 here on the picture). A triple 20 switch has the crossing between the “D” and the “3”. For the Arduino and the computer, every segment has its own crossing.
So we will load the representation of the matrix (a matrix table) in the Arduino, so each time you will hit a segment on your board, it will send a specific signal to the computer depending on the row and the column hit on the matrix.
It is recommended (no longer mandatory) to connect board's buttons : so “next player”, “backup turn” and “give up” can be done directly from board during games. So we need add a column to the matrix.
On the Arduino UNO micro controller, there are several connectors : A0, A1 ….1,2,3..etc. With the example of a 8×8 ribbons + 1 column for the buttons (= 8×9), you will get something like the following example :
A : first slick (here with 8 pins, it can be different on your board)
B : second slick (here with 8 pins, it can be different on your board)
X : Arduino inputs
Y : other Arduino inputs
c,d,e : optional buttons. Those buttons are used for “Press player”, “Abort game”, and “Backup turn”
Opening the back of the dart board
Unsolder the two slicks from the motherboard
Unsolder the two slicks from the motherboard (in action)
Once the two slicks are free from the main board
Optional : if you wish to use the main board for buttons, we strongly recommend you remove all the components from main board.
To make space for the Arduino, Cut the main board without cutting the places near the circuit of buttons.
Prepare your Arduino and your cables
You final assembly could look like the following
Re-attach the back of your board. The hardest part is done !
Step 2 : uploading Arduino sketch file for pyDarts.