Introduction: Raspberry Pi Arcade Game High Score DIsplay for Multiple Locations
This Instructable will show you how to use a Raspberry Pi board with an existing computer monitor to create an arcade game high score display for your home or office. You and your family or your co-workers can keep an eye on the latest high scores and get into a little trash talkin'. Since the display pulls all of the information it needs from the internet, you can have multiple displays showing the same information or several with the differences you decide.
If you find this Instructable helpful then please vote for this in the Pie Day Contest. Thanks.
This project is a great use of an older 4:3 aspect ratio computer monitor and the low priced Raspberry Pi board, doesn't require any tools, and can create a little competition.
See the video of the display for a demo. Expand the video to full screen and set the quality to the top setting to see a better representation of the display.
FYI - The little blue square in the upper left corner is what is shown in the preview mode of the Presentation when you are viewing the display from the Rise Vision web site.
Step 1: Materials
Materials I used include the following:
- Raspberry Pi
- Raspberry Pi enclosure
- Wireless Adapter
- Keyboard
- HDMI Cable - I used a converter cable to go from HDMI to DVI for the monitor I used. It was about $7 on Amazon.
- USB Power Supply and Micro USB Cable (to power the Raspberry Pi)
- Any monitor - I used an older Dell monitor with a 1600x1200 resolution. You can pick up old monitors off of Craigslist very cheap. Often you can get them for $20 or $30. Once in a while even free.
- 3M Adhesive strips
The software I used for the display is called Rise Vision and is a digital signage company. Their web interface is relatively easy to use and it is free for basic accounts like the one I set up.
Step 2: Set Up the Raspberry Pi
Keyboard
I started by connecting a wireless keyboard that has a trackpad built in. It is a Logitech K400 keyboard. For me it worked right out of the box and it only uses one of the USB ports on the Raspberry Pi.
If you are using an older computer monitor that doesn't have an HDMI connection you can use an HDMI to DVI cable. I purchased mine from Amazon and it works great.
Raspberry Pi
I used a new Raspberry Pi B+ board that came with NOOBS memory card with the operating systems that you can pick from when you install the operating system. You have the choice of the following operating systems.
- Raspbian
- Arch
- OpenELEC
- Pidora
- RISC OS
- RaspBMC
- Raspbian - Boot to Scratch
Connect the adapter for the wireless keyboard and wifi adapter.
Install the microSD card with the operating systems.
Connect to a tv or monitor with the appropriate cable.
Connect power to the raspberry PI.
You will get a screen that gives you the option to install one of the different operating systems.
I installed Raspbian operating system as that is what was recommended by Rise Vision - the company whose interface we are using.
Once installed you will get a Software Configuration Tool.
Option 2: In this window you can select to change the user password. I changed mine to "pi" to make it easy.
Option 3: Enable Boot to Desktop/Scratch. I selected the middle option of "Desktop Log In as user "pi" at the graphical desktop."
Option 4: Internationalisation Options. Select this to select your timezone.
Now you can select "Finish". You will be given the option to reboot. Select "Yes".
Step 3: Set Up WiFi
Open WiFi network app.
Select Scan.
double click on your network.
Enter your network password in the PSK field.
Check your WiFi connection by opening a terminal and enter PING GOOGLE.COM.
If you have any trouble with this step there are plenty of tutorials on how to get a wireless connection set up.
Step 4: Update and Configure the Operating System
Update the OS
Connect to the network using the hardwired connection, open a Terminal window, and enter the following:
sudo apt-get update
Once that is completed, enter this command into the Terminal window:
sudo apt-get upgrade
Now, make sure the whole Linux distribution is up-to-date. This step takes a while to complete. Enter this command into the Terminal window:
sudo apt-get dist-upgrade
Once the distribution upgrade is complete, reboot the Pi.
sudo reboot
Turn off the Screensaver and Power Saver Settings
Open a Terminal window, and enter the following:
sudo nano /etc/kbd/config.
When the file opens, scroll through the file and change the appropriate lines to the following:
BLANK_TIME=0
BLANK_DPMS=off
POWERDOWN_TIME=0
Save and close the file, and restart the Pi.
Type the following in the Terminal Window:
sudo reboot
Step 5: Install VNC
VNC is short for Virtual Network Computing and is a way for the Rise Vision platform to manage your digital display.
Vino is the name of the VNC we are going to install.
Install VNC and configure it to run on Startup
Open a Terminal window and enter the following:
sudo apt-get install vino
Once that is completed, type the following into a Terminal window:
startx
The screen may flash and open a dialog box, but just close it.
Now, configure Vino to allow for remote connections, and set a password to enter when connecting by typing the following into a Terminal window: vino-preferences
Select your preferred options in the Preferences window.
Password was "rise"
Once that is all configured, this next portion you have to follow to the letter. Vino doesn’t autostart with the Pi Operating System, so we need to configure that manually. Type the following into a Terminal window:
sudo leafpad /etc/sudoers.d/vsrv.sh &
Add this text to that file:
#! /bin/bash /usr/lib/vino/vino-server
Save and close that file. Now set it to be executable by entering this into the Terminal window:
sudo chmod +x /etc/sudoers.d/vsrv.sh
Next, add that file to the startup of the Pi by entering this into the Terminal window:
sudo leafpad /etc/xdg/lxsession/LXDE/autostart &
Add this text to the bottom of the autostart file:
@/etc/sudoers.d/vsrv.sh
All of the information in this step was taken from the Rise Vision web site, but has been added here for your convenience. Their web site has a lot of useful information that you can search since a lot of people have been through some of the same issues you might be going through.
Step 6: Install the Rise Vision Player and Registering Your Display
Install Java JRE
To install the Java Runtime Environment (JRE) run the following command:
sudo apt-get install openjdk-7-jre
Install Chromium
sudo apt-get install chromium
install the at package:
sudo apt-get install at
Installing the Rise Vision Player
Download the installation file from here.
http://www.risevision.com/player
Right click on the installation file, go to Properties, go to the Permissions tab, and check the “Make the file executable” checkbox.
Open a Terminal window, and enter the following while you are in the directory you downloaded the file to:
sudo ./rvplayer-installer.sh.
This install step can take a while so be patient.
Enter the super user password to complete the action.
Registering Your Display
Upon startup the Rise Vision Player will ask you to enter either a Display ID or Claim ID to connect your Display to the Platform.
Display ID – From the Rise Vision Platform click on Displays, then Add Display give it a name and click save. Copy the Display ID and enter it in the Rise Vision Player on startup.
Claim ID – From the Rise Vision Platform click on Settings, then find the Claim ID that is unique to your Company. Enter the Claim ID into the Rise Vision player on startup and then name your Display. This will automatically create the Display in the Rise Vision Platform for you. Learn more about setting up and managing Displays here.
Step 7: Rise Vision Setup
Setting up Rise Vision software on your computer is really based on your situation.
Account
To create a display for your monitor or TV you first set up an account.
Presentation
Next you click on the Presentations tab and create a new template by clicking ADD on the right side near the time of the page.
You start out with a blank presentation. You add items to it by clicking on the placeholder button and then defining the area your want on the screen.
At the bottom of the dialog box you will need to click ADD at the right side of the line that says Playlist is empty.
You can now add a variety of content such as text, images, video and Content. Select Content to add items in their catalog such as Google Spreadsheets, clocks, photo albums, Google Maps, etc.
You will need to scroll down through the list to get to some of the free content.
Once you hit Save you can then click on this placeholder region and move it around in your template.
To edit the placeholder and add content to it you right click on the region and select properties.
Displays
Click on the Displays tab to set up a display for your Raspberry Pi.
Click on Add Display on the right side and you will be prompted to give the display a name. You will also be able to enter the Display ID for your Raspberry Pi. This is important since it is how your presentation is tied to your specific Raspberry Pi.
Schedules
Click on this tab to create a schedule of the display for your Raspberry Pi display create in the Displays tab. This is where you decide what templates to display and for how long each one is displayed.
Step 8: Create Your Template
Now it is time to create your template for what you want to display.
Go to the Presentations tab. This is where you set up your template.
My template has three sections displayed from a Google spreadsheet. More about that in the next step.
The first section shows a scrolling list of all of the high scores that are on the cocktail style arcade game in our office. It continuously scrolls through the game list and starts over when it gets to the end of the list.
The second section has a list of the 3 most recent high scores achieved.
The third section has the top seven people with the most high scores.
I recommend using Flickr to store your images. One has all of the old arcade flyer pictures. These are displayed as an image feed.
Use the photo album url from Flickr for your Photo Album Gadget in your Rise template.
I used the Photo Album gadget on the right side of the template to display old arcade flyers. The image changes every10 seconds.
Step 9: Create Your Spreadsheet
In order to have a high scores displayed in multiple offices at the same time it made sense to store all of the high score in a spreadsheet on line. That way it could be accessed from any location for updates through a web link.
First create a Google Sheet (spreadsheet).
Sheet 1
Next give columns 1 through 4 the following headings: Games, Score, Name, and Date.
Next enter a list of arcade games in the first column.
As people achieve high scores for each game they fill in the columns for their Score, Name, and Date.
Make sure you use the same number and not variations of it or your spreadsheet for the high score display will not sort names properly.
If you need to add a game then insert a row in the appropriate place and type in the game name.
You should only need to edit this first sheet in the spreadsheet as sheets 2, 3, and 4 are all sorted information from sheet 1.
Sheet 2
In sheet 2 I take the list of people from Sheet 1 and sort the list by the most number of high scores.
This is displayed in the lowest section of the high score template.
Sheet 3
Sheet 3 sorts all of the high scores by date so the information can be displayed in the center section of the high score template where the last 3 high scores are displayed.
Sheet 4
Sheet 4 is not used for the template, but more to see who has what high scores in a list. The people with high scores from Sheet 1 are sorted by name and then by the names of the games they have high scores in.
Attached to this step is excel version of the spreadsheet and an OpenDocument Format for the spreadsheet. Hopefully someone can tell me if it works to import one of these into their Google account.
Here is a share link to a copy of my current Google Docs spreadsheet for you to view. Please let me know if you have any trouble accessing the files or the individual sheets.
Step 10: Test and ReTest Your Template
Not much else to say here except this process is a lot of trial and error and finding what you like in the looks of your high score display. If you think you want to try something out then just save a copy of your template and modify it. If you don't like the way it looks then just open the previous version, save a copy and start again.
Step 11: Assemble Your Parts
This is one of the quickest steps of the assembly. Take your Raspberry Pi and connect it to the monitor with the HDMI cable. Stick two pieces of the 3M Command Strips to the back of the Raspberry Pi case. Position the case on the back of the monitor before you remove the plastic on the tape. This lets you trial fit the location of the Pi before you stick it on permanently. It is best to have everything connected to the Raspberry Pi and the monitor so as to make sure you don't have any conflicts with the cables.
Make sure when you out the 3M Command Strips on the back of the Pi case that you leave the rounded end visible and accessible for when it is attached to the back of the monitor. You will need to
Once you are satisfied with the location of the Pi you just peel off the plastic film on the outer face of the 3M Command Strips and firmly press it in place.
If you ever want to remove the Raspberry Pi case then you just slowly pull the rounded tabs on the 3M Command Strips until they pull away from the case. Hold on to the Pi case when you remove the second one so it doesn' fall off the monitor.
Step 12: Go Live
Now you are finished. You can place the monitor in a place where others can see the list of high scores and admire the old arcade game flyers.
I sent a link for the Google spreadsheet out to the people in my office so they can update the spreadsheet when they get a new high score. It has been working great and has been a lot of fun for everyone. You will notice some people walking by the monitor and stopping to see if someone has beaten their high score.
We have two buildings with arcade games. This works great since you can set up multiple monitors to display the same high score display. All of the monitors update with the same information with minimal effort. All you have to do is update the high score list when someone gets a new high score.