Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| projekte:virtualpinballcabinet [02.03.2024 23:03] – [Virtual Pinball Cabinet Projekt] chaos | projekte:virtualpinballcabinet [24.11.2024 17:18] (aktuell) – [4. Programmierung] + ZeDMD + PinballController chaos | ||
|---|---|---|---|
| Zeile 13: | Zeile 13: | ||
| | Vierkantholz | | Vierkantholz | ||
| | Tischlerplatte | | Tischlerplatte | ||
| + | | Pappelsperrholz | ||
| | Lattenrost-Latten | | Lattenrost-Latten | ||
| | Glasplatte | | Glasplatte | ||
| Zeile 20: | Zeile 21: | ||
| | div. Schrauben, Muttern | | div. Schrauben, Muttern | ||
| | Arcade-Buttons | | Arcade-Buttons | ||
| - | | Arduino Leonardo + I2C IO-Extender | Button-Controller | + | | Raspiberry Pi Pico | Button-Controller |
| + | | I2C IO-Extender | ||
| | ESP32 | Dot_Matrix-Controller | | ESP32 | Dot_Matrix-Controller | ||
| | Dot-Matrix-Display | | Dot-Matrix-Display | ||
| + | | Beschleunigungssensor | ||
| | PC Gehäuse + Netzteil + HDD | | 550Watt PSU / 120GB HDD | vorhandene Reste | - | | | PC Gehäuse + Netzteil + HDD | | 550Watt PSU / 120GB HDD | vorhandene Reste | - | | ||
| | CPU + Mainboard + RAM | | CPU + Mainboard + RAM | ||
| Zeile 29: | Zeile 32: | ||
| | LCT 22Zoll 16:10 | Backpanel Monitor | | LCT 22Zoll 16:10 | Backpanel Monitor | ||
| | Lautsprecher | | Lautsprecher | ||
| - | | Stereo-Verstärker | + | | Stereo-Verstärker |
| | diverse Kabel | | diverse Kabel | ||
| | Stahl-Vierkantrohr | | Stahl-Vierkantrohr | ||
| + | | Arcade-Joystick | ||
| + | | Transportgriffe (federnd) | ||
| |---------------------|-------------------------|--------------------------------------|---------------------------------|------------------| | |---------------------|-------------------------|--------------------------------------|---------------------------------|------------------| | ||
| - | | **Gesamt** | | | | 339,95EUR (428EUR)| | + | | **Gesamt** | | | | 358,39EUR (462EUR)| |
| Zeile 44: | Zeile 49: | ||
| {{ : | {{ : | ||
| + | (Bild zeigt erste Design-Revision. Inzwischen Backbox klappbar mit diagonalen Rotationsarmen außen statt starrem Pfosten innen; 1 Display statt 2.) | ||
| + | |||
| * 12mm OSB Platten nach Maßen einer Standard-Cabinets zugeschnitten (auf glatte, metrische Werte gerundet) | * 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 | * Eckstücke und vordere Auflagen für den Playfield-Monitor aus Dachlattenabschnitten 24 × 48 mm | ||
| Zeile 50: | Zeile 57: | ||
| * Zusätzliche Abdeckungen bei Lockbar und oberhalb Playfield aus Lattenrost-Latten (Biegung nach oben) | * Zusätzliche Abdeckungen bei Lockbar und oberhalb Playfield aus Lattenrost-Latten (Biegung nach oben) | ||
| * Monitorhalter Backboard aus Lattenrost-Latten | * Monitorhalter Backboard aus Lattenrost-Latten | ||
| - | * Ratationsarm-Strebe aus Restholz | + | * Rotationsarm-Strebe aus Restholz |
| Zeile 63: | Zeile 70: | ||
| Diverse kleine Holzelemente wurden passend zugeschnitten, | Diverse kleine Holzelemente wurden passend zugeschnitten, | ||
| + | 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 ===== | ||
| Zeile 79: | Zeile 87: | ||
| (leitet das Gewicht der Handauflage in die vordere OSB Platte) verwendet. Dabei sind beide Elemente nur mit der Handauflage verschraubt, | (leitet das Gewicht der Handauflage in die vordere OSB Platte) verwendet. Dabei sind beide Elemente nur mit der Handauflage verschraubt, | ||
| - | Metallwinkel wurden ebenfalls zur Befestigung der Querstrebe der hinteren Playfield-Monitor-Halterung verwendet sowie zur Verstärkung der hinteren | + | Metallwinkel wurden ebenfalls zur Befestigung der Querstrebe der hinteren Playfield-Monitor-Halterung verwendet sowie zur Verstärkung der hinteren |
| Die C-förmigen Rahmenteile des Glasregals wurden per Hand in Winkelstücke zersägt, mit zusätzlichen Löchern versehen und als Versteifung/ | Die C-förmigen Rahmenteile des Glasregals wurden per Hand in Winkelstücke zersägt, mit zusätzlichen Löchern versehen und als Versteifung/ | ||
| Zeile 95: | Zeile 103: | ||
| * PC with i5 3570 3.48GHz, Gigabyte Mainboard, 16GB DDR3 RAM, AMD Radeon RX570 | * PC with i5 3570 3.48GHz, Gigabyte Mainboard, 16GB DDR3 RAM, AMD Radeon RX570 | ||
| * 42Zoll Sony Bravia KDL-42W655A (1920x1080) + 22Zoll 16:10 DVI/HDMI (1920x1080) | * 42Zoll Sony Bravia KDL-42W655A (1920x1080) + 22Zoll 16:10 DVI/HDMI (1920x1080) | ||
| - | | + | |
| * verschiedenen Taster | * verschiedenen Taster | ||
| * Lautsprecher-Set des TV | * Lautsprecher-Set des TV | ||
| Zeile 102: | Zeile 110: | ||
| * 2x 64x32 Pixel Dot-Matrix-Display | * 2x 64x32 Pixel Dot-Matrix-Display | ||
| * ESP32 Controller für DMD | * ESP32 Controller für DMD | ||
| + | * Schiebepotentiometer für Plunger (vorbereitet) | ||
| + | * 6-Achsen IMU (Accellerometer + Gyroskop) | ||
| Ein alter Gaming PC mit aktualisierter CPU/ | Ein alter Gaming PC mit aktualisierter CPU/ | ||
| Ein Linux Mint XFCE wurde als OS aufgespielt, | Ein Linux Mint XFCE wurde als OS aufgespielt, | ||
| - | Ein Arduino Leonardo | + | 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. |
| + | 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:// | ||
| + | Zum PC hin emuliert der Pico ein USB Gamepad/ | ||
| Der ESP32 wurde mit der [[https:// | Der ESP32 wurde mit der [[https:// | ||
| Zeile 112: | Zeile 125: | ||
| === Links === | === Links === | ||
| [[http:// | [[http:// | ||
| - | |||
| - | {{: | ||
| - | CC-BY4.0 Copyright ©2016-2023 [[http:// | ||
| ===== 4. Programmierung ===== | ===== 4. Programmierung ===== | ||
| Zeile 120: | 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. | ||
| - | === Installation | + | === Installation |
| < | < | ||
| git clone https:// | git clone https:// | ||
| Zeile 126: | 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" | ||
| - | perl -i -pe" | ||
| cd standalone/ | cd standalone/ | ||
| ./ | ./ | ||
| cd ../.. | cd ../.. | ||
| cp standalone/ | cp standalone/ | ||
| - | sed -i s/ | + | mkdir -p build/Release |
| - | mkdir -p build/Debug | + | |
| cmake -DCMAKE_BUILD_TYPE=Release -B build/ | cmake -DCMAKE_BUILD_TYPE=Release -B build/ | ||
| cmake --build build/ | cmake --build build/ | ||
| - | mkdir tmp | ||
| - | cp build/ | ||
| - | cp build/ | ||
| - | cp build/ | ||
| - | cp build/ | ||
| - | cp -r build/ | ||
| - | cp -r build/ | ||
| - | cp -r build/ | ||
| - | cp -r build/ | ||
| - | cp -r build/ | ||
| - | cp -r build/ | ||
| - | cd tmp | ||
| </ | </ | ||
| + | |||
| + | === Installation ES-DE === | ||
| + | ES-DE oder Emulator-Station Desktop-Edition ist ein Fork des auf Raspberry-Pi beliebten Retrogaming-Frontends. | ||
| + | Die [[https:// | ||
| + | < | ||
| + | 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:// | ||
| + | cd emulationstation-de | ||
| + | |||
| + | cmake -DAPPLICATION_UPDATER=off -DVIDEO_HW_DECODING=on -DCMAKE_INSTALL_PREFIX=/ | ||
| + | make -j8 | ||
| + | sudo make install | ||
| + | </ | ||
| + | Nach der Installation muss ein passendes Theme gewählt und Links zu den eigentlichen Emulatoren eingerichtet werden. | ||
| + | |||
| + | |||
| + | === Installation ZeDMD === | ||
| + | |||
| + | [[https:// | ||
| + | |||
| + | Die momentan genutze Version wurde mit dem [[https:// | ||
| + | |||
| + | Laut Readme aus einer PlatformIO Umgebung mit: | ||
| + | < | ||
| + | pio run -t uploadfs -e 128x32 | ||
| + | pio run -t upload -e 128x32 | ||
| + | </ | ||
| + | |||
| + | 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:// | ||
| + | Bisher wurde dies aus einer Windows Arduino Umgebung heraus getan. | ||
| + | |||
| + | Als Board muss *Raspberry Pi Pico/ | ||
| + | |||
| + | 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:// | * VPX build-CIs for linux: https:// | ||
| Zeile 174: | Zeile 217: | ||
| * 24/12/2023 Probespielen durch die Familie | * 24/12/2023 Probespielen durch die Familie | ||
| * 30/12/2023 Ursache für fehlende Punktanzeige gefunden, neue Einstellung nötig -> Folgeprobleme mit Darstellung | * 30/12/2023 Ursache für fehlende Punktanzeige gefunden, neue Einstellung nötig -> Folgeprobleme mit Darstellung | ||
| - | * ??/01/2023 Dot-Matrix-Display ergänzt | + | * ??/01/2024 Dot-Matrix-Display ergänzt |
| - | * ??/02/2023 Rückbau auf einen Backbox-Monitor; | + | * ??/02/2024 Rückbau auf einen Backbox-Monitor; |
| - | * 28/02/2023 Erstmals Transport zum ByteSpeicher und Test durch Vereinsmitglieder | + | * 28/02/2024 Erstmals Transport zum ByteSpeicher und Test durch Vereinsmitglieder |
| - | * 02/03/2023 Update Wikiseite mit aktuellem Stand | + | * 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; | ||
| + | * ??/10/2024 Transport zum und Verbleib im Bytespeicher | ||
| ===== Galerie === | ===== Galerie === | ||