projekte:virtualpinballcabinet

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
projekte:virtualpinballcabinet [13.12.2023 07:18] – [Optionen:] chaosprojekte:virtualpinballcabinet [24.11.2024 17:18] (aktuell) – [4. Programmierung] + ZeDMD + PinballController chaos
Zeile 3: Zeile 3:
 === Einleitung === === 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 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 ([[https://www.b1-discount.de/sortiment/detail/d/osb-ausbauplatte/5|B1 Baumarkt)]]                      | - (   10,70EUR)    | 
 +| Dachlatten          | Auflagen und Verbindungsstücke | ca 1x 2m x 18mm x 36mm        | vorhandene Reste ([[https://www.b1-discount.de/sortiment/detail/d/unterkonstruktionslatte-fichte-kiefer/17|B1 Baumarkt]])| - (    1,50EUR) 
 +| Vierkantholz        | Querstreben             | ca 1x 2m x 25mm x 25mm               | vorhandene Reste ([[https://www.obi.de/p/8635351/rahmenholz-aus-fichte-tanne-gehobelt-34-mm-x-34-mm-x-2-000-mm|Obi]])    | - (ca. 5,38EUR) 
 +| Tischlerplatte      | Lockbar Handauflage     | ca 100mm x 600mm x 20mm              | vorhandene Reste ([[https://www.obi.de/p/7451073/siebdruckplatte-birke-einseitig-hexa-praegung-120-cm-x-60-cm-x-1-5-cm-braun|Obi]])          | - (ca 10,00EUR    )    | 
 +| Pappelsperrholz     | Monitor-/Lautsprecherrahmen | ca. 400mm x 500mm x4mm           | vorhandene Reste ([[https://www.obi.de/p/9013988/bastelsperrholz-pappel-5-stueck-din-a2-staerke-4-mm|Obi]]) | - (ca. 12 EUR) | 
 +| Lattenrost-Latten   | Zierholz und Halterungen| ca 4x 90cm x 40mm x 10mm             | vorhandene Reste ([[https://www.ikea.com/de/de/p/luroey-federholzrahmen-90160211/|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                  |                       | [[https://schraubenking-shop.de|Schraubenking]]   | ca 30 EUR | 
 +| Arcade-Buttons              | Spieler-Interface              | 10x rund & eckig      | [[https://www.aliexpress.com/item/1005004976994548.html|AliExpress]]  | ca 20 EUR | 
 +| Raspiberry Pi Pico          | Button-Controller              |                       | vorhandene Reste ([[https://www.amazon.de/Raspberry-Pi-Pico/dp/B09KVB8LVR|Amazon]])  | - (ca 8 EUR) | 
 +| I2C IO-Extender             | Button-Controller Anschlüsse                         | vorhandene Reste ([[https://www.amazon.de/IO-Erweiterungsmodulplatine-I2C-Schnittstelle-paralleler-GPIO-Expander-vorgel%C3%B6tetem-CAT9555-IO-Erweiterungsmodul/dp/B0BBVBNNRB|Amazon (ähnlich)]])  | - (ca 10 EUR) | 
 +| ESP32                       | Dot_Matrix-Controller          |                       | [[https://www.aliexpress.com/item/1005001636295529.html|AliExpress]]       | 3,30EUR | 
 +| Dot-Matrix-Display          | Punkteanzeige                  | 2x 64px x 32px        | [[https://www.aliexpress.com/item/1005004933061424.html|AliExpress]] | 26,96EUR |  
 +| Beschleunigungssensor       | Nudge-Detektor                                       | [[https://www.amazon.de/dp/B07N2ZL34Z?ref=ppx_yo2ov_dt_b_fed_asin_title|Amazon]] | 7,45 EUR | 
 +| 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 (1920x1080) | Kleinanzeigen                                          | 90 EUR | 
 +| LCT 22Zoll 16:10            | Backpanel Monitor              | Phillips              | Kleinanzeigen                                                        | 5 EUR | 
 +| Lautsprecher                | Spielfeldgeräusche             | 4x 8Ohm 3Watt 103mm   | [[https://www.pollin.de/p/lautsprecher-regal-8-ohm-3w-2-stueck-641551|Pollin]] | 3,60 EUR |   
 +| Stereo-Verstärker                                          | 3x 20Watt 12V         | [[https://www.aliexpress.com/item/1005005334808973.html|AliExpress]] | 7,93EUR | 
 +| diverse Kabel                                              |                       | vorhandene Reste | - | 
 +| Stahl-Vierkantrohr          | Beine                          | 25mmx25mm x 100cm     | [[https://www.obi.de/p/7804263/vierkantrohr-stahl-25-mm-x-25-mm-x-1000-mm|Obi]] | 23,16EUR | 
 +| Arcade-Joystick                                            |                       | Schrott-Rettung ([[https://www.amazon.de/Klassischer-Wettbewerb-Controller-Arcade-Spiele-PC-Kampfspiele/dp/B0776QRXSF|Amazon (ähnlich)]]) | -  (ca 15 EUR) | 
 +| Transportgriffe (federnd)                                  | 4x                    | [[https://www.amazon.de/dp/B0B57HMG4R?ref=ppx_yo2ov_dt_b_fed_asin_title|Amazon]] | 11 EUR | 
 +|---------------------|-------------------------|--------------------------------------|---------------------------------|------------------| 
 +| **Gesamt** | | | | 358,39EUR (462EUR)| 
 + 
  
 === Bauabschnitte === === Bauabschnitte ===
Zeile 11: Zeile 47:
 In diesem Abschnitt werden die grundlegenden Strukturen des Cabinets geschaffen. In diesem Abschnitt werden die grundlegenden Strukturen des Cabinets geschaffen.
  
-| Schritt | Beschreibung                      | Materialien                    |  Status / Helfer  | 
-|---------|----------------------------------|---------------------------------|-------------------| 
-| 1       | Design und Planung               | CAD-Programm                    |  | 
-| 2       | Bau des Holzrahmens              | Holzleisten, MDF-Platten, Säge  |  | 
-| 3       | Montage der Struktur             | Holzleim, Schrauben, Winkel      | 
  
-==== Optionen====+{{ :projekte:vpinball:virtual_pinball_cad.png?direct&800 |}} 
 +(Bild zeigt erste Design-Revision. Inzwischen Backbox klappbar mit diagonalen Rotationsarmen außen statt starrem Pfosten innen; 1 Display statt 2.)
  
-=== Metall + Holz === +  * 12mm OSB Platten nach Maßen einer Standard-Cabinets zugeschnitten (auf glatte, metrische Werte gerundet) 
-  * Auf einen Metallrahmen brauchen nur dünne Sperrholzplatten als Einfassung geschraubt werden. +  * Eckstücke und vordere Auflagen für den Playfield-Monitor aus Dachlattenabschnitten 24 × 48 mm  
-  * Je ein Kasten für Hauptspielfeld + Backplane +  * Handauflage (Lockbar) aus 21mm Tischlerplatte  
-  * Aussparungen für Monitore, Lautsprecher, Taster +  * Versteifende Querträger aus 35 x 35mm Birkenholz 
-  * Klappen als Wartungszugang +  * Zusätzliche Abdeckungen bei Lockbar und oberhalb Playfield aus Lattenrost-Latten (Biegung nach oben) 
-  * Montagehilfen innen für PC, Lautsprecher, etc.+  * Monitorhalter Backboard aus Lattenrost-Latten 
 +  * Rotationsarm-Strebe aus Restholz
  
-=== Holzrahmen === 
-  * Ohne Metallrahmen braucht es eine Holz-Rahmenkonstruktion 
-  * ca 40x30mm Kantholz als Material 
-  * + Einfassung wie oben 
  
-=== Selbsttragende Holzplatten === +Die Platten wurde (schlechtmit einer Stichsäge zugesägthierzu 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.
-  * 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+
  
 +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.
 +
 +Der Monitor wurde mit 4mm Sperrholz eingerahmt. Ebenso die sichtbaren Lautsprecher neben dem DOT-Matrix Display. Dazu wurden Startlöcher gebohrt und dann mit Hand-Bügelsäge Innenflächen ausgesägt.
 +Eine zusäzliche 6mm Sperrholzplatte ist als Boden eingelegt.
 ===== 2. Metallarbeiten ===== ===== 2. Metallarbeiten =====
  
-Hier erfolgt die Installation von Metallkomponenten für die Stabilität und das authentische Aussehen des Cabinets.+{{:projekte:vpinball:virtual_pinball_cad_detail.png?direct&400 |}} 
 + 
 +  * Metallwinkel (verzinkter Stahl) 40 x 40mm 
 +  * Metallplatten (verzinkter Stahl) 120 x 60mm 
 +  * Maschienenschrauben (Sechskantkopf) 120 x 10mm 
 +  * Flügelmuttern 10mm 
 +  * verschiedenen Holzschrauben, 5mm + kleiner 
 +  * 30mm x 30mm Vierkantrohr-Winkel (ehemals C-förmiger Rahmen des Glasplatten-spendenden Glasregals) 
 +  * 25x25mm Stahl-Vierkantrohr als Beine 
 + 
 +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ückwand/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.
  
-| Schritt | Beschreibung                   | Materialien                   | Status & Helfer | +Im weitestens Sinn Metallbearbeitung: Die aus einem Glastisch gewonnene Glasplatte musste von verklebten Metallzylindern befreit werdendie 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.
-|---------|-------------------------------|--------------------------------|------------------| +
-| 1       | Bau des Rahmens + Beine       | Metallrohre, Schweißgerät, Gummifüße       | +
-| 2       | Montage von Metallteilen      | SchraubenBohrer, Gewindeschneider     |+
  
-=== 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 
 ===== 3. Elektronik ===== ===== 3. Elektronik =====
  
 Die Elektronikkomponenten ermöglichen die Interaktivität des Virtual Pinball Cabinets. 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 === +   * PC with i5 3570 3.48GHz, Gigabyte Mainboard, 16GB DDR3 RAM, AMD Radeon RX570 
-  ca 42 Zoll (50cm-60cm breit+   * 42Zoll Sony Bravia KDL-42W655A (1920x1080) + 22Zoll 16:10 DVI/HDMI (1920x1080) 
-  mind. FullHD; 4k sieht besser aus, braucht aber unnötig teure Grafikkarte +   Raspberry Pi Pico + MCP23017 IO-Extender 
-  guter Blickwinkel bis 170 Grad oder besser in alle Richtungen +   * verschiedenen Taster  
-  120Hz oder bessere Widerholfrequenz +   * Lautsprecher-Set des TV 
-  5ms Reaktion oder besser+   * 4x 3W 8Ohm Lautsprecher 
 +   * 2x10W Verstärker (bisher nur für TV-Lautsprecher
 +   2x 64x32 Pixel Dot-Matrix-Display 
 +   ESP32 Controller für DMD 
 +   Schiebepotentiometer für Plunger (vorbereitet) 
 +   6-Achsen IMU (Accellerometer + Gyroskop) 
  
-=== Kriterien für den Backboard-Monitor:  === +Ein alter Gaming PC mit aktualisierter CPU/Mainboard Kombi + eine halbwegs neue Grafikkarte bilden die Rechenbasis. Die Systemeistung ist ausreichend. 
-  * ca 23 Zoll+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.
  
-=== OptionalDot-Matrix Punkte-Display:  === +Ein Raspi Pico fragt mittels eine I2C IO-Extenders mehrere Drucktaster ab, wandelt sie in reguläre Tastatureingaben und schickt diese via USB an den Rechner. 
-  * ca 35cm x 8cm +Zusätzlich spricht er mittels I2C mit dem Beschleunigungssensor und liest mittels ADC Kanal die Position des Schiebepotis aus. 
 +Auf dem Pico läuft dazu ein [[https://github.com/earlephilhower/arduino-pico|Arduino-Kern]] um ihn mit den Arduino-Bibliotheken der Erweiterungen kompatibel zu machen. 
 +Zum PC hin emuliert der Pico ein USB Gamepad/Joystick. Ein RTOS-scheduler wird benutzt, um Latenzen gering zu halten.
  
-=== Kriterien PC=== +Der ESP32 wurde mit der [[https://github.com/PPUC/ZeDMD|ZeDMD]] Software bespielt und nimmt Befehle mittels USB/Serial vom PC entgegen.
-  * Ca3gHz 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+
  
 === Links === === Links ===
 [[http://mjrnet.org/pinscape/|Pinscape Controller and various guides]] [[http://mjrnet.org/pinscape/|Pinscape Controller and various guides]]
- 
-{{:projekte:pinball.png?direct&400|}} 
-CC-BY4.0 Copyright ©2016-2023 [[http://mjrnet.org/pinscape/BuildGuideV2/BuildGuide.php?sid=architecture|Michael J. Roberts]]. 
  
 ===== 4. Programmierung ===== ===== 4. Programmierung =====
Zeile 89: Zeile 130:
 Dieser Abschnitt befasst sich mit der Softwareintegration für das Virtual Pinball Erlebnis. Dieser Abschnitt befasst sich mit der Softwareintegration für das Virtual Pinball Erlebnis.
  
-| Schritt    | Beschreibung                          | Software                              | +=== Installation Virtual Pinball ===
-| ---------  | -------------------------------       | -------------------------------       | +
-| 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                    | +
- +
- +
-==== Betriebssystem: ==== +
-  * 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 +
- +
-==== Emulatoren ==== +
-=== 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 ===+
 <code> <code>
 git clone https://github.com/vpinball/vpinball.git git clone https://github.com/vpinball/vpinball.git
Zeile 118: Zeile 136:
 git checkout standalone 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 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/ cd standalone/linux/
 ./external.sh ./external.sh
 cd ../.. cd ../..
 cp standalone/cmake/CMakeLists_gl-linux-x64.txt CMakeLists.txt cp standalone/cmake/CMakeLists_gl-linux-x64.txt CMakeLists.txt
-sed -i s/3.26/3.22/g CMakeList.txt +mkdir -p build/Release
-mkdir -p build/Debug+
 cmake -DCMAKE_BUILD_TYPE=Release -B build/Release cmake -DCMAKE_BUILD_TYPE=Release -B build/Release
 cmake --build build/Release -- -j2 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 
 </code> </code>
  
 +
 +=== Installation ES-DE ===
 +ES-DE oder Emulator-Station Desktop-Edition ist ein Fork des auf Raspberry-Pi beliebten Retrogaming-Frontends.
 +Die [[https://gitlab.com/es-de/emulationstation-de/-/blob/master/INSTALL-DEV.md?ref_type=heads|Development README]] hilft bei zusätzlichen Optionen.
 +<code>
 +sudo apt-get install build-essential clang-format git cmake gettext libharfbuzz-dev libicu-dev libsdl2-dev libavcodec-dev libavfilter-dev libavformat-dev libavutil-dev libfreeimage-dev libfreetype6-dev libgit2-dev libcurl4-openssl-dev libpugixml-dev libasound2-dev libgl1-mesa-dev libpoppler-cpp-dev
 +
 +git clone https://gitlab.com/es-de/emulationstation-de.git
 +cd emulationstation-de
 +
 +cmake -DAPPLICATION_UPDATER=off -DVIDEO_HW_DECODING=on -DCMAKE_INSTALL_PREFIX=/opt .
 +make -j8
 +sudo make install
 +</code>
 +Nach der Installation muss ein passendes Theme gewählt und Links zu den eigentlichen Emulatoren eingerichtet werden.
 +
 +
 +=== Installation ZeDMD ===
 +
 +[[https://github.com/PPUC/ZeDMD|ZeDMD]] muss auf das ESP32 board geflasht werden, das die DOT-Matrix Displays ansteuert.
 +
 +Die momentan genutze Version wurde mit dem [[https://github.com/zesinger/ZeDMD_Updater|ZeDMD Updater Windows Tool]] geflasht, nachdem andere Versuche fehlgeschlagen sind. Um ein Update ohne zusätzlichen Windows-Rechner zu ermöglichen, sollte irgendwann auch das Flashen mit dem Linux Host ermöglicht werden.
 +
 +Laut Readme aus einer PlatformIO Umgebung mit:
 +<code>
 +pio run -t uploadfs -e 128x32
 +pio run -t upload -e 128x32
 +</code>
 +
 +Nach dem Einschalten wird das Logo angezeigt. Dabei sollte links oben rot, rechts oben blau und links unten grün zu sehen sein. Durch kurzes Antippen von GPIO21 mit GND kann man die Farben durchrotieren.
 +Durch Antippen von GPIO33 mit GND kann die Helligkeit eingestellt werden.
 +
 +
 +=== Installation PinballController ===
 +
 +Der selbstgeschriebene Code für den [[https://codeberg.org/technikkultur-erfurt/VPin_HID_controller|Pinball-Controller]] muss übersetzt und auf den raspberry Pi Pico geflasht werden.
 +Bisher wurde dies aus einer Windows Arduino Umgebung heraus getan. 
 +
 +Als Board muss *Raspberry Pi Pico/RP2040* gewählt werden, was erst nach Eintrag von https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json unter "Additional Boards Manager URL" in den Settings verfügbar ist.
 +
 +Folgende Libraries sind zudem nötig und über die Arduino Oberfläche installierbar:
 +  *  Adafruit MCP23017 
 +  *  Adafruit MPU6050    
 +  *  Joystick
 +  *  FreeRTOS
 +
 +Insbesondere die Joystick Bibliothek ist unter gleichem Namen auch für andere Boards verfügbar aber nicht kompatibel.
 +Bei Compilerwarnungen über mehrfach vorhandene .h Header müssen andere Bibliotheken gleichen namens deinstalliert werden.
 ====Links==== ====Links====
   * VPX build-CIs for linux: https://github.com/vpinball/vpinball/actions/runs/7151948501   * VPX build-CIs for linux: https://github.com/vpinball/vpinball/actions/runs/7151948501
Zeile 147: Zeile 198:
   * [[https://github.com/batocera-linux|Batocera Linux Dsitribution with pre-installed VPinball]]   * [[https://github.com/batocera-linux|Batocera Linux Dsitribution with pre-installed VPinball]]
     * [[https://wiki.batocera.org/systems:vpinball||Batocera Wiki about VPinball]]     * [[https://wiki.batocera.org/systems:vpinball||Batocera Wiki about VPinball]]
 +  * [[https://www.virtual-pinball-cabinet.com/| Deutsches Blog mit Baubeschreibung]] 
  
 ===== 5. Gestaltung ===== ===== 5. Gestaltung =====
  
-Die ästhetische Gestaltung verleiht dem Virtual Pinball Cabinet seinen einzigartigen Charakter. +  * bisher keine
- +
-| Schritt    | Beschreibung                     | Materialien                      | +
-| ---------  | -------------------------------  | ------------------------------- +
-| 1          | Lackierung und Verzierung        | Farben, Pinsel, Spraydosen       | +
-| 2          | Anbringung von Grafiken          | Vinyl-Aufkleber, Airbrush        | +
-| 3          | Beleuchtungseffekte hinzufügen   | LED-Streifen, Kabel              |+
  
 ===== Status ===== ===== Status =====
Zeile 164: Zeile 210:
   * 09/12/2023 Test-PC (2.7GHz Dual-Core) + 21 Zoll 16:10 Monitor + 18 Zoll 4:3 Monitor aquiriert; Linux-Installation vorbereitet   * 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   * 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, da OpenGL4.6 Mindestanforderung -> VPX standalone läd Demo-Tisch! +  * 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 
 +  * ??/01/2024 Dot-Matrix-Display ergänzt 
 +  * ??/02/2024 Rückbau auf einen Backbox-Monitor; Metallrahmen und -beine; Klappmodus der Backbox zum Transport 
 +  * 28/02/2024 Erstmals Transport zum ByteSpeicher und Test durch Vereinsmitglieder 
 +  * 02/03/2024 Update Wikiseite mit aktuellem Stand  
 +  * ??/??/2024 Schwarze Lackierung der Außenseite 
 +  * ??/??/2024 Wechsel von Arduino Leonard auf Raspberry Pi Pico + Hinzufügen eines Beschleunigungssensors 
 +  * ??/??/2024 PC-Gehäuse entfernt und PC-HW direkt ins Gehäuse montiert zur Gewichtsreduktion 
 +  * ??/09/2024 Monitorverkleidung und Rückseiten hinzugefügt; Griffe montiert; Schiebepoti als Prototype zum analogen Plunger installiert 
 +  * ??/10/2024 Transport zum und Verbleib im Bytespeicher 
 + 
 +===== Galerie ===
  
 +{{:projekte:vpinball:vpinball_000.jpg?direct&200|}}
 +{{:projekte:vpinball:vpinball_001.jpg?direct&200|}}
 +{{:projekte:vpinball:vpinball_002.jpg?direct&200|}}
 +{{:projekte:vpinball:vpinball_003.jpg?direct&200|}}
 +{{:projekte:vpinball:vpinball_004.jpg?direct&200|}}
 +{{:projekte:vpinball:vpinball_005.jpg?direct&200|}}
 +{{:projekte:vpinball:vpinball_006.jpg?direct&200|}}
 +{{:projekte:vpinball:vpinball_007.jpg?direct&200|}}
 +{{:projekte:vpinball:vpinball_008.jpg?direct&200|}}
 +{{:projekte:vpinball:vpinball_009.jpg?direct&200|}}
 +{{:projekte:vpinball:vpinball_010.jpg?direct&200|}}
 +{{:projekte:vpinball:vpinball_011.jpg?direct&200|}}
 +{{:projekte:vpinball:vpinball_012.jpg?direct&200|}}
 +{{:projekte:vpinball:vpinball_013.jpg?direct&200|}}
 +{{:projekte:vpinball:vpinball_014.jpg?direct&200|}}
 +{{:projekte:vpinball:vpinball_015.jpg?direct&200|}}
 +{{:projekte:vpinball:vpinball_016.jpg?direct&200|}}
 +{{:projekte:vpinball:vpinball_017.jpg?direct&200|}}
 +{{:projekte:vpinball:vpinball_018.jpg?direct&200|}}
 +{{:projekte:vpinball:vpinball_019.jpg?direct&200|}}
 +{{:projekte:vpinball:vpinball_020.jpg?direct&200|}}
  • projekte/virtualpinballcabinet.1702451919.txt.gz
  • Zuletzt geändert: 13.12.2023 07:18
  • von chaos