Inhaltsverzeichnis

Virtual Pinball Cabinet Projekt

Einleitung

Das Virtual Pinball Cabinet Projekt zielt darauf ab, einen interaktiven virtuellen Flipperautomaten zu bauen. Dieses Dokument bietet eine detaillierte Übersicht über die verschiedenen Bauabschnitte, Materialien und die Aufteilung der Arbeit in Holzbearbeitung, Metallarbeiten, Elektronik, Programmierung und Gestaltung. Das Projekt hat derzeit einen Stand erreicht, in dem der Automat bespielbar ist, aber nur Basisfeatures enthält und noch viele Erweiterungen möglich sind.

Teileliste

Material Zweck Menge / Dimensionen Bezugsquelle Preis
———————————————-————————————–—————————————————
OSB Platten Äußeres Gehäuse ca. 2 Platten 169cm x 62,5cm x 12mm vorhandene Reste (B1 Baumarkt) - ( 10,70EUR)
Dachlatten Auflagen und Verbindungsstücke ca 1x 2m x 18mm x 36mm vorhandene Reste (B1 Baumarkt) - ( 1,50EUR)
Vierkantholz Querstreben ca 1x 2m x 25mm x 25mm vorhandene Reste (Obi) - (ca. 5,38EUR)
Tischlerplatte Lockbar Handauflage ca 100mm x 600mm x 20mm vorhandene Reste (Obi) - (ca 10,00EUR )
Lattenrost-Latten Zierholz und Halterungen ca 4x 90cm x 40mm x 10mm vorhandene Reste (Iea) - ( 25,00EUR)
Glasplatte Spielfeldabdeckung 56cm x 90cm x 12mm Kleinanzeigen (Glasregal) 15EUR
Vierkantrohr-Metallwinkel Innerer Rahmen 40mm x 40mm x 35cm/15cm Kleinanzeigen (Glasregal-Rahmen) - (s.o.)
Metallwinkel Befestigung Lockbar & Rahmen 50mm x 40mm x 1,5mm vorhandene Reste (B1 Baumarkt) - (ca 2,00 EUR)
Metall-Lochverbinderplatten Befestigung Lockbar/Glasplatte 50mm x 120mm x 1,5mm vorhandene Reste (B1 Baumarkt) - (ca 4,00 EUR)
div. Schrauben, Muttern Befestigungen Schraubenking ca 30 EUR
Arcade-Buttons Spieler-Interface 10x rund & eckig AliExpress ca 20 EUR
Arduino Leonardo + I2C IO-Extender Button-Controller vorhandene Reste (EXP-Tech) - (ca 30EUR)
ESP32 Dot_Matrix-Controller AliExpress 3,30EUR
Dot-Matrix-Display Punkteanzeige 2x 64px x 32px AliExpress 26,96EUR
PC Gehäuse + Netzteil + HDD 550Watt PSU / 120GB HDD vorhandene Reste -
CPU + Mainboard + RAM Intel i5 3570 / 16GB DDR3 Kleinanzeigen 45EUR
Grafikkarte AMD Radeon RX570 Kleinanzeigen 70 EUR
LCD 43Zoll TV Hauptspielfeld Sony Bravia KDL-42W655A (1920×1080) Kleinanzeigen 90 EUR
LCT 22Zoll 16:10 Backpanel Monitor Phillips Kleinanzeigen 5 EUR
Lautsprecher Spielfeldgeräusche 4x 8Ohm 3Watt 103mm Pollin 3,60 EUR
Stereo-Verstärker 3x 20Watt 12V AliExpress 7,93EUR]
diverse Kabel vorhandene Reste -
Stahl-Vierkantrohr Beine 25mmx25mm x 100cm Obi 23,16EUR
———————————————-————————————–—————————————————
Gesamt 339,95EUR (428EUR)

Bauabschnitte

1. Holzbearbeitung

In diesem Abschnitt werden die grundlegenden Strukturen des Cabinets geschaffen.

Die Platten wurde (schlecht) mit einer Stichsäge zugesägt, hierzu wurde jeweils ein vorher ausgemessener Anschlag mit Schraubzwingen am Werkstück befestigt, um möglichst gerade Schnitte zu erhalten. Eine (Tisch- oder Kappschienen-)Kreissäge wäre hier besser gewesen. Schnittkanten wurden mittels Band- und Handschleifen entgratet. Nötiger Löcher mit 5mm vorgebohrt und gesenkt. Entwaig vohandene Nut/Feder an den Platten wurde entfernt.

Weitere Rahmenteile wurden aus Resthölzern mit der Handsäge zugeschnitten. Schnittlinien wurden mit Stahlwinkel angezeichnet, um möglichst winkeltreu zu bleiben. Löcher wurden ggfs. mit 2mm vorgebohrt, um ein Spalten des Holzes zu verhindern.

Die Seitenwände der Backbox stehen auf den Seitenteilen auf und können mittels der Rotationsarme auf das Playfield geklappt werden. Der Rotationspunkt wurde empirisch (=Trial&Error) ermittelt.

Der Backboard-Monitor wurde mit parallelen Lattenrost-Latten eingefasst, um den Breitenunterschied zur Backbox auszugleichen. Der Monitor ist seitlich mit diesen verschraubt.

Diverse kleine Holzelemente wurden passend zugeschnitten, um als Führung und Anschlag der Beine zu fungieren. Sie sind mit den Rahmenwinkeln und den Seitenteilen verschraubt.

2. Metallarbeiten

Zur Befestigung der Handauflage und der Glasplatte wurde eine Kombination einer Metallplatte (nimmt Gewicht der Glasplatte auf und leitet es in den Rand der OSB Platte und in die Handauflage) und eines Winkels (leitet das Gewicht der Handauflage in die vordere OSB Platte) verwendet. Dabei sind beide Elemente nur mit der Handauflage verschraubt, so dass diese abnehmbar bleibt. Die Metallplatte wurde mittels schwarzem Gaffa-Tape für die Auflage der Glasplatte gepolstert und versteckt.

Metallwinkel wurden ebenfalls zur Befestigung der Querstrebe der hinteren Playfield-Monitor-Halterung verwendet sowie zur Verstärkung der hinteren R„cukwand/Seitenwand-Verbindung.

Die C-förmigen Rahmenteile des Glasregals wurden per Hand in Winkelstücke zersägt, mit zusätzlichen Löchern versehen und als Versteifung/tragender Rahmen innen an die OSB Platten verschraubt. Auf ihnen liegt die Bodenplatte auf.

Die Beine bestehen aus 25x25mm Stahl-Vierkantrohr (vorne auf ca 65cm gekürzt, hinten 100cm), die lediglich in Führungen eingeschoben und damit auch abgenommen werden können.

Im weitestens Sinn Metallbearbeitung: Die aus einem Glastisch gewonnene Glasplatte musste von verklebten Metallzylindern befreit werden, die vorher die Verschraubung mit dem Rahmen ermöglichten. Hierzu wurden diese mittels Heisluftpistole auf >150Grad C erhitzt und mittels Rohrzange abgedreht. Klebereste liessen sich mit Aceton + Schaber entfernen.

3. Elektronik

Die Elektronikkomponenten ermöglichen die Interaktivität des Virtual Pinball Cabinets.

Ein alter Gaming PC mit aktualisierter CPU/Mainboard Kombi + eine halbwegs neue Grafikkarte bilden die Rechenbasis. Die Systemeistung ist ausreichend. Ein Linux Mint XFCE wurde als OS aufgespielt, was die Einrichtung der Software erschwert, dessen Windows-Variante erst vor knapp einem Jahr auf Linux portiert wurde.

Ein Arduino Leonardo fragt mittels eine I2C IO-Extenders mehrere Drucktaster ab, wandelt sie in reguläre Tastatureingaben und schickt diese via USB an den Rechner.

Der ESP32 wurde mit der ZeDMD Software bespielt und nimmt Befehle mittels USB/Serial vom PC entgegen.

Pinscape Controller and various guides

CC-BY4.0 Copyright ©2016-2023 Michael J. Roberts.

4. Programmierung

Dieser Abschnitt befasst sich mit der Softwareintegration für das Virtual Pinball Erlebnis.

Installation Visual Pinball

git clone https://github.com/vpinball/vpinball.git
cd vpinball/
git checkout standalone
sudo apt install cmake bison zlib1g-dev libdrm-dev libgbm-dev libglu1-mesa-dev libegl-dev libudev-dev libx11-dev libxrandr-dev g++ curl unzip
perl -i -pe"s/0/1887/g" git_version.h
perl -i -pe"s/unknown/f3263bf/g" git_version.h
cd standalone/linux/
./external.sh
cd ../..
cp standalone/cmake/CMakeLists_gl-linux-x64.txt CMakeLists.txt
sed -i s/3.26/3.22/g CMakeList.txt
mkdir -p build/Debug
cmake -DCMAKE_BUILD_TYPE=Release -B build/Release
cmake --build build/Release -- -j2
mkdir tmp
cp build/Release/setup.sh tmp
cp build/Release/VPinballX_GL tmp
cp build/Release/*.so tmp
cp build/Release/*.so.* tmp
cp -r build/Release/flexdmd tmp
cp -r build/Release/shader tmp
cp -r build/Release/assets tmp
cp -r build/Release/scripts tmp
cp -r build/Release/tables tmp
cp -r build/Release/docs tmp
cd tmp

Links

5. Gestaltung

Status

Galerie