Introduction: Simple, Easy Board Game Electronic Banking
This project is a electronic bank for games such as Monopoly and Life. It was designed to be simple to make. Therefore, simple push buttons are used instead of a keypad, an I2C LCD is used instead of a 16 pin one and there is no case. Tinkercad was used to design the button covers and most of the parts are fairly standard. The buttons control what is displayed on the LCD screen, which shows the transactions. Money can be added or subtracted from a player's account and there is a clear button. When the clear button is pressed, it clears the current step. If someone has inputted a player, sign and amount of money and they press the clear button, it only clears the money.
Supplies
- LCD display with I2C - here is the one that I used
- 18 push buttons - the ones I used are from this kit (the ones in the back left corner of the box), if you want to be able to use the button covers I designed, you'll need to buy these
- 18 short male to male jumper wires
- 19 male to female jumper wires
- 4 female to female jumper wires
- A large breadboard
- A Raspberry Pi (I used a Zero W)
- 5 Sharpies of different colors including 1 black
- 18 of the 3D printed button cover attached below
Attachments
Step 1: Wiring
Two wires go from each button - one to the ground line of the breadboard and the other connects to the Raspberry Pi. Use the labels on the buttons in the pictures and the corresponding labels on the list to complete the circuit. All numbers listed here are in board numbering, but note that the code uses BCM numbering.
- Purple - 37
- Blue - 35
- Green - 33
- Orange - 31
- 1 - 40
- 2 - 38
- 3 - 36
- 4 - 32
- 5 - 26
- 6 - 24
- 7 - 22
- 8 - 12
- 9 - 10
- 0 - 8
- + (plus) - 18
- - (minus) - 16
- C (clear) - 13
- E (enter) - 11
- Ground (for buttons) - 6
- LCD Ground - 39
- LCD VCC - 2
- LCD SDA - 3
- LCD SCL - 5
Step 2: Attach Button Covers
Print out the button cover file. You will need 18 of the part. Put the button covers on the buttons as shown in the picture. You're going to need to label the button covers, which you can do before or after putting them on the buttons. Then take 4 different colored Sharpies and color in the top of the first 4 buttons. These buttons are for the players. The rest of the buttons require the black Sharpie. Write digits 1-9, then 0 on the next 10 buttons. These buttons will be used to input the amount of money a player is adding or subtracting. Then, draw a plus sign on the next button and a minus sign on the one after that. These are used to tell the code if the money is being added or subtracted. The next button is used to clear whatever is currently being inputted into the Raspberry Pi. Write a C on this button cover. The last is the enter button. Write an E on it.
If you are using different buttons from the link provided above, you will most likely need to make your own button covers. The design is just two cylinders with centers aligned along the X and Y axes and top aligned along the Z axis. One is a hole. I based the height and diameter of the hole on the buttons I used. The second cylinder is 3 mm taller than the hole and is 8 mm in diameter. I would stick with 8 mm regardless of the hole diameter because the button covers sit nicely next to each other at an 8 mm diameter
Attachments
Step 3: Setup
This step is simple. Do whatever is necessary for your Raspberry Pi to be ready to use. Then go into the Raspberry Pi configuration menu and enable I2C. Next, install the RPLCD package by running the command:
pip3 install RPLCD
You will also be using gpiozero, but it should be preinstalled.
Step 4: Download Code
This is another simple step. Download the attached program to your Raspberry Pi.
Attachments
Step 5: Enjoy
Next time you play Life, Monopoly or any other board game involving currency, give your new electronic board game bank a try. Note that if you want to play with more players, you can add more player buttons. Just attach them to the ground line and GPIO pins. You will also need to add code inside the while True loop for the new button(s). Just copy and paste the code for one of the other player buttons and change the numbers.