projekte:virtualpinballcabinet

Dies ist eine alte Version des Dokuments!


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.

Bauabschnitte

In diesem Abschnitt werden die grundlegenden Strukturen des Cabinets geschaffen.

Schritt Beschreibung Materialien Status / Helfer
——————————————-—————————————————-
1 Design und Planung CAD-Programm 60%
2 Bau des Holzrahmens Holzleisten, MDF-Platten, Säge 90% (Prototyp)
3 Montage der Struktur Holzleim, Schrauben, Winkel 90% (Prototyp)

Metall + Holz

  • Auf einen Metallrahmen brauchen nur dünne Sperrholzplatten als Einfassung geschraubt werden.
  • Je ein Kasten für Hauptspielfeld + Backplane
  • Aussparungen für Monitore, Lautsprecher, Taster
  • Klappen als Wartungszugang
  • Montagehilfen innen für PC, Lautsprecher, etc.

Holzrahmen

  • Ohne Metallrahmen braucht es eine Holz-Rahmenkonstruktion
  • ca 40x30mm Kantholz als Material
  • + Einfassung wie oben

Selbsttragende Holzplatten

  • Mit dickeren Multiplex-Platten + Metallwinkel können die Kästen auch selbsttragend gebaut werden (teurer)
  • Braucht immer noch Kantholz für Beine, oder Schraub-Möbelbeine von Ikea

Ausführung (Prototyp)

  • 12mm OSB Platten nach Maßen einer Standard-Cabinets zugeschnitten (auf glatte, metrische Werte gerundet)
  • Eckstücke und vordere Auflagen für den Playfield-Monitor aus Dachlattenabschnitten 24 × 48 mm
  • Handauflage (Lockbar) aus 21mm Tischlerplatte
  • Hintere Monitorauflage / Versteifung aus 40 x 40mm Birkenholz
  • Hintere Abdeckung = Top-Box-Boden aus 21mm Spanplatte
  • Monitorhalter aus 70 x 50 mm Fichtenholz
  • Beine aus 80 x 100mm Fichtenholz

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.

Der senkrechte Monitorhalter sitzt in zwei bündigen Durchführungen, die mit einer Bügel-Laubsäge nach aufbohren der Ecken ausgeschnitten wurden. Er ist damit einfach abnehmbar. Am unteren Ende wurde dazu ein Dachlattenstück auf die untere Querstrebe gedoppelt.

Die Rückwand und Seitenwände hängen mit ihrer Querstrebe auf dem Monitorhalter. Sie ist dort mittels 2 Holzdübeln gegen verrutschen und verdrehen gesichert. Zusätzlich liegt die untere Kante der Rückwand auf einem mit den Beinen verschraubten Querstreifen aus OSB Material auf. Die Rückwand trägt damit nicht zur Stabilität des Rahmens bei, ist dafür als höchstes Element und zum Zugang zu den Monitoren leicht demontierbar.

Die Beine stammen aus einem vorherigen Projekt und dienen zusätzlich als Eckwinkel der Versteifung des Rahmens.

Hier erfolgt die Installation von Metallkomponenten für die Stabilität und das authentische Aussehen des Cabinets.

Schritt Beschreibung Materialien Status & Helfer
—————————————-——————————–——————
1 Bau des Rahmens + Beine Metallrohre, Schweißgerät, Gummifüße 0% (Helfer: maddi?
2 Montage von Metallteilen Schrauben, Bohrer, Gewindeschneider 15% (nur Befestigungsmaterial)

Idee:

  • Tragender Rahmen aus 4-Kant-Rohr + Backplane-Stütze + Beine (abnehmbar?)
  • Gummifüße oder (gut!) blockierbare Rollen
  • Optional: VESA-Halterung für Monitore, idealerweise klappbar für Wartungszugriff

Umsetzung (Prototyp)

Für den Prototyp wurde eine reine Holzkonstruktion verwendet. Metallarbeiten beschränken sich auf Befestigungslösungen.

  • Metallwinkel (verzinkter Stahl) 40 x 40mm
  • Metallplatten (verzinkter Stahl) 120 x 60mm
  • Maschienenschrauben (Sechskantkopf) 120 x 10mm
  • Flügelmuttern 10mm
  • verschiedenen Holzschrauben, 5mm + kleiner

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 und des Backbox-Bodens verwendet.

Zur Befestigung der Beine werden Maschienenschrauben mit Flügelmuttern (innen) verwendet. Beide Platten-Seiten werden verschraubt, so dass die Beine selbst zusätzlich zur Steifigkeit des Rahmens beitragen.

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

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

Schritt Beschreibung Materialien Status / Helfer
——— ——————————- ——————————-
1 Einbau der Monitore Spielflächenmonitor, Backboardmonitor, Kabel
2 Verkabelung der Tasten Tasten (mind. 3x), Kabel, Stecker
3 Anschluss der Elektronik PC, HID-Controller, Kabel
4 Integration von Lautsprechern Lautsprecher, Audiokabel
Kriterien für den Hauptmonitor:
  • ca 42 Zoll (50cm-60cm breit)
  • mind. FullHD; 4k sieht besser aus, braucht aber unnötig teure Grafikkarte
  • guter Blickwinkel bis 170 Grad oder besser in alle Richtungen
  • 120Hz oder bessere Widerholfrequenz
  • 5ms Reaktion oder besser
Kriterien für den Backboard-Monitor:
  • ca 23 Zoll
Optional: Dot-Matrix Punkte-Display:
  • ca 35cm x 8cm
Kriterien PC:
  • Ca. 3gHz QuadCore i5
  • Grafikkarte mit 2 Ausgängen, stark genug für FullHD/4k 3D-Ausgabe je nach Spielfeldmonitor
  • viel RAM, WLAN, moderat große SSD
  • optional USB 3.0 oder besser für spätere Kinect-Erweiterung

Umsetzung (Prototyp)

  • PC with E6600 Core2Duo 2.4GHz, Asus P5k-E Mainboard (Wifi + 7.1 Sound), 16GB DDR3 RAM, AMD Radeon RX570
  • 42Zoll Sony Bravia KDL-42W655A (1920×1080) + 23Zoll 16:10 DVI/HDMI (1920×1080) + 18Zoll 4:3 DVI/VGA (1280×1024)
  • Arduino Leonardo + MCP23017 IO-Extender + VS1053 MP3 + SD-Card shield + 2x 4W speaker
  • verschiedenen Taster + 1 Drehencoder
  • 2.1 aktives PC-Speaker Set

Ein (ur-)alter Gaming PC + eine halbwegs neue Grafikkarte bilden die Rechenbasis. Die Systemeistung reicht für die meisten Flippertische, produziert aber unterdurchschnittliche Frameraten. 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. Da von einem vorherigen Aufbau ein MP3-Shield vorhanden war, wurden zusätzlich Lautsprecher nahe den Drucktastern montiert um direkte Feedbackgeräusche abzuspielen. Ein Drehencoder realisiert die Lautstärkeregelung.

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

Schritt Beschreibung Software
——— ——————————- ——————————-
1 Installation des Betriebssystems Mint-Linux (alternative: Windows10)
2 Konfiguration der Pinball-Software Visual Pinball X oder Future Pinball
3 Programmierung von Spezialfunktionen Für HID-Controller
  • Standardplatform für die gängigen Emulatoren in der Community ist Windows
  • Man findet Anleitungen und komplexe Installer
  • Die Emulatoren selbst laufen laut News-Meldungen auch auf Linux
  • → trotzdem erster Versuch mit Linux

Visual Pinball X

  • Weit verbreitet, viele Tische
  • Mehrere Versionen parallel um Umlauf mit schwieriger Kreuz-Kompatibilität

Future Pinball

  • älter, nicht mehr aktuell weitergeführt(??)

VPinMame

  • Führt die Original-ROMs der echten Tische aus
  • in VPX/FP integriert

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

Die ästhetische Gestaltung verleiht dem Virtual Pinball Cabinet seinen einzigartigen Charakter.

Schritt Beschreibung Materialien
——— ——————————- ——————————-
1 Lackierung und Verzierung Farben, Pinsel, Spraydosen
2 Anbringung von Grafiken Vinyl-Aufkleber, Airbrush
3 Beleuchtungseffekte hinzufügen LED-Streifen, Kabel
  • 09/12/2023 Wiki-Artikel angelegt
  • 09/12/2023 Visual-Pinball-X Test auf Windows-PC (nur teilweise erfolgreich)
  • 09/12/2023 Test-PC (2.7GHz Dual-Core) + 21 Zoll 16:10 Monitor + 18 Zoll 4:3 Monitor aquiriert; Linux-Installation vorbereitet
  • 10/12/2023 Linux Mint 21.2 XFCE installiert, VpinballX-Standalone geclont und compiliert → stürzt beim Start ab
  • 11/12/2023 Radeon HD4850 gegen RX570 getauscht (70€), da OpenGL4.6 Mindestanforderung → VPX standalone läd Demo-Tisch!
  • 12/12/2023 Sony Bravia 42'' FullHD 200Hz Display besorgt (90€); Debug-Umgebung auf Debian-in-WSL2 eingerichtet: GPU unterstützt nur OpenGL3.2, SW-Renderer 4.5, aber zu langsam. Für Debugging trotzdem ok.
  • 16/12/2023 Taster + Arduino Leonardo installiert
  • 19/12/2023 VPinball mit mehreren Tischen lauffähig dank besserer Quellen für Tische, ROMs und Backglasses. Allerdings ohne Punkteanzeige. Lautsprecher hinzugefügt.
  • 22/12/2023 3-Monitor-Setup lauffähig inkl. Punkteanzeige, allerdings nur auf einigen Tischen
  • 24/12/2023 Probespielen durch die Familie
  • 30/12/2023 Ursache für fehlende Punktanzeige gefunden, neue Einstellung nötig → Folgeprobleme mit Darstellung

  • projekte/virtualpinballcabinet.1704379986.txt.gz
  • Zuletzt geändert: 04.01.2024 15:53
  • von chaos