projekte:2023:1d-pong

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
projekte:2023:1d-pong [2023/12/02 05:09]
pixtxa [Spielanleitung]
projekte:2023:1d-pong [2024/02/17 18:50] (aktuell)
stippi [Ergebnis] Korektur Rechtschreibung
Zeile 3: Zeile 3:
 Kontakt: [[user:Pixtxa|Pixtxa]]{{:projekte:2023:tpic6c_rainbow.gif?1&nolink|Vorschau-Bild}} Kontakt: [[user:Pixtxa|Pixtxa]]{{:projekte:2023:tpic6c_rainbow.gif?1&nolink|Vorschau-Bild}}
  
-Projektstatus: [[projekte:projektstatus|{{:projekte:done.png?50|abgeschlossen}}]], Erweiterungen: [[projekte:projektstatus|{{:projekte:wip.png?50|work in progress}}]]+Projektstatus: [[projekte:projektstatus|{{:projekte:done.png?50|abgeschlossen}}]], Erweiterungen: [[projekte:projektstatus|{{:projekte:wait.png?50|wait}}]]
  
 [[regeln:labels|{{https://labelgenerator.vspace.one/public/Pixtxa.png?200|Owner Label: Pixtxa, public}}]] [[regeln:labels|{{https://labelgenerator.vspace.one/public/Pixtxa.png?200|Owner Label: Pixtxa, public}}]]
  
 +Direktweg zur [[projekte:2023:1d-pong#Spielanleitung]]
 ===== Vorgeschichte ===== ===== Vorgeschichte =====
 Ich bekam 44x [[https://www.werma.com/de/s_c1691i7105/24134050.html|WERMA MC35 UL Leuchte + Summer 10-30V RGB M12]] und überlegte, was man damit tun könnte. Ich bekam 44x [[https://www.werma.com/de/s_c1691i7105/24134050.html|WERMA MC35 UL Leuchte + Summer 10-30V RGB M12]] und überlegte, was man damit tun könnte.
Zeile 16: Zeile 17:
 Schnell war klar, dass sie aufgereiht irgendwie toll aussehen und es ein Spiel werden soll. Schnell war klar, dass sie aufgereiht irgendwie toll aussehen und es ein Spiel werden soll.
 Einen [[https://github.com/Pixtxa/TWANG32-Hack|TWANG32-Hack]] habe ich schon gebaut, aber [[https://www.hackster.io/flyingangel/1d-pong-85e965|1D-Pong]] fehlt mir noch. Einen [[https://github.com/Pixtxa/TWANG32-Hack|TWANG32-Hack]] habe ich schon gebaut, aber [[https://www.hackster.io/flyingangel/1d-pong-85e965|1D-Pong]] fehlt mir noch.
 +
 +Was erstmal einfach erschien, bot dann doch mehrere Side-Quests, wodurch das Projekt umfangreicher wurde, als erwartet.
 +|  //Wenn es dich nicht antreibt//                                           |
 +|  //Und nicht an deinen Nerven sägt//                                       |
 +|  //Wenn es dich nicht aufreibt//                                           |
 +|  //Und deinen Glauben zerschlägt//                                         |
 +| \\                                                                         |
 +|  //Es wird dich zernagen//                                                 |
 +|  //Denn wenn es dich nicht weckt//                                         |
 +|  //Kannst Du es noch ertragen//                                            |
 +|  //Dann ist es nicht das Projekt//                                         |
 +|  [[https://archive.org/details/jamendo-035032/12.mp3|paniq, Zum Projekt]]  |
 +Ergebnis ist aber, dass es doch noch fertig wurde und schön geworden ist.
 +Wie das ging, wird hier erklärt.
  
 ===== Umsetzung ===== ===== Umsetzung =====
Zeile 30: Zeile 45:
 {{:projekte:2023:1d-pong_rendering.jpg|3D-Ansicht vom Projekt}} {{:projekte:2023:1d-pong_rendering.jpg|3D-Ansicht vom Projekt}}
  
-==== Montagelöcher ====+==== Gehäuseanpassung ====
 {{:projekte:2023:1d-pong_werma_single.jpg?200|Einzelne Werma-LED-Leuchte liegen auf dem Tisch}} {{:projekte:2023:1d-pong_werma_single.jpg?200|Einzelne Werma-LED-Leuchte liegen auf dem Tisch}}
 {{:projekte:2023:1d-pong_hole.jpg?400|2D-Ansicht des nötigen Montage-Lochs}} {{:projekte:2023:1d-pong_hole.jpg?400|2D-Ansicht des nötigen Montage-Lochs}}
Zeile 44: Zeile 59:
  
 Es war also Zeit, neue Wege auszuprobieren. Es war also Zeit, neue Wege auszuprobieren.
-Ein Robo-Arm mit starkem Laser und "nicht hin gucken währen der Laser an ist" als Sicherheitskonzept klingt erstmal interessant, aber Kabelkanal ist aus PVC und sollte nicht thermisch bearbeitet werden (Salzsäure und giftige Gase)+Ein Robo-Arm mit starkem Laser und "nicht hin gucken während der Laser an ist" als Sicherheitskonzept klingt erstmal interessant, aber Kabelkanal ist aus PVC und sollte nicht thermisch bearbeitet werden (Salzsäure und giftige Gase)
  
-Aber das 3D-Modell der Planung konnte schnell ein CAD-Modell einer Schablone ausgeben, welches frisch geliced an den [[ausstattung:labor:3d_drucker|3D Drucker - Prusa i3 MK3s]] ging, während ich einen Spaziergang in den Baumarkt machte, um den Kabelkanal zu kaufen.+Aber das 3D-Modell der Planung konnte schnell ein CAD-Modell einer Schablone ausgeben, welches frisch gesliced an den [[ausstattung:labor:3d_drucker|3D Drucker - Prusa i3 MK3s]] ging, während ich einen Spaziergang in den Baumarkt machte, um den Kabelkanal zu kaufen.
  
 {{:projekte:2023:1d-pong_schablon_render.jpg?400|Ansicht vom 3D-Modell der Schablone. Sie hat 5 Löcher für die LED-Leuchten und eins für die Arcade-Tasten}} {{:projekte:2023:1d-pong_schablon_render.jpg?400|Ansicht vom 3D-Modell der Schablone. Sie hat 5 Löcher für die LED-Leuchten und eins für die Arcade-Tasten}}
Zeile 57: Zeile 72:
 Die beiden 3D-Modelle incl. CAD-Script sind hier zu finden: [[https://www.printables.com/model/604535-60x40-kabelkanal-endkappe|60x40 Kabelkanal-Endkappe]] Die beiden 3D-Modelle incl. CAD-Script sind hier zu finden: [[https://www.printables.com/model/604535-60x40-kabelkanal-endkappe|60x40 Kabelkanal-Endkappe]]
  
-=== Zurück zu den Löchern ===+=== Zurück zu den Montagelöchern ===
 3D Druck entnommen, neuen Druck gestartet und die Schablone klemmte perfekt im Deckel des Kabel-Kanals. 3D Druck entnommen, neuen Druck gestartet und die Schablone klemmte perfekt im Deckel des Kabel-Kanals.
  
 {{:projekte:2023:1d-pong_schablone_tisch.jpg?400|Die Schablone liegt neben dem Kabelkanal auf dem Tisch}} {{:projekte:2023:1d-pong_schablone_tisch.jpg?400|Die Schablone liegt neben dem Kabelkanal auf dem Tisch}}
-{{:projekte:2023:1d-pong_schablone_klemmt.jpg?400|Die Schablone Klemmt im Deckel vom Kabelkanal}}+{{:projekte:2023:1d-pong_schablone_klemmt.jpg?400|Die Schablone klemmt im Deckel vom Kabelkanal}}
  
 Die Schablone lässt sich also nur mit etwas Kraft verschieben und auch nur in einer Richtung, während die anderen beiden Richtungen fest sind. Die Schablone lässt sich also nur mit etwas Kraft verschieben und auch nur in einer Richtung, während die anderen beiden Richtungen fest sind.
Zeile 75: Zeile 90:
 {{:projekte:2023:1d-pong_balken_montiert.jpg?400|Kabelkanal mit montierten LED-Leuchten und Arcade-Tasten}} {{:projekte:2023:1d-pong_balken_montiert.jpg?400|Kabelkanal mit montierten LED-Leuchten und Arcade-Tasten}}
  
-==== Arcade Buttons ====+==== Side-Quest: Arcade Buttons ====
 Irgendwie ist es doch unschön, wenn die LED-Leuchten sieben Farben anzeigen können, während die Tasten nur weiß leuchten können. Irgendwie ist es doch unschön, wenn die LED-Leuchten sieben Farben anzeigen können, während die Tasten nur weiß leuchten können.
 Praktischerweise gibt es eine Anleitung zum Bau von [[https://learn.adafruit.com/neopixel-arcade-button|NeoPixel Arcade Buttons]], mit fertigen 3D-Modellen. Praktischerweise gibt es eine Anleitung zum Bau von [[https://learn.adafruit.com/neopixel-arcade-button|NeoPixel Arcade Buttons]], mit fertigen 3D-Modellen.
Zeile 86: Zeile 101:
 Der Nubsel wurde zum CAD-Modell hinzugefügt und dabei auch die nötige Verlängerung mit angebracht, damit die Gesamthöhe passt. Der Nubsel wurde zum CAD-Modell hinzugefügt und dabei auch die nötige Verlängerung mit angebracht, damit die Gesamthöhe passt.
 Dass die Höhenanpassung auf der Seite erfolgte, bietet zudem etwas mehr Platz für die Anschlussleitungen. Dass die Höhenanpassung auf der Seite erfolgte, bietet zudem etwas mehr Platz für die Anschlussleitungen.
-Einen Ausdruck später passte die Höhe ohne Unterlagscheibe und es wackelte es nicht mehr, also wurde die zweite Taste genauso umgerüstet.+Einen Ausdruck später passte die Höhe ohne Unterlagscheibe und es wackelte nicht mehr, also wurde die zweite Taste genauso umgerüstet.
 Trotzdem fühlten sich die Tasten irgendwie tot an und boten kein tolles Gefühl, da der Schaltpunkt nicht spürbar war. Trotzdem fühlten sich die Tasten irgendwie tot an und boten kein tolles Gefühl, da der Schaltpunkt nicht spürbar war.
 Also yeetete ich die Alps SKCL Cream Switches (linear) und setzte stattdessen auf Alps SKCM White Switches (clicky), welche den Tasten ein sehr erfüllendes Schaltgefühl verpassen. Also yeetete ich die Alps SKCL Cream Switches (linear) und setzte stattdessen auf Alps SKCM White Switches (clicky), welche den Tasten ein sehr erfüllendes Schaltgefühl verpassen.
Zeile 122: Zeile 137:
 Matrix-Schaltung geht nicht wirklich, da sonst die Helligkeit abnimmt, was ich nicht möchte. Matrix-Schaltung geht nicht wirklich, da sonst die Helligkeit abnimmt, was ich nicht möchte.
  
-{{:projekte:2023:1d-pong_werma-pinout.jpg?200|Werma-Pinbelegung}}+{{:projekte:2023:1d-pong_werma-pinout.jpg?300|Werma-Pinbelegung}}
  
 Die Versorgung erfolgt über einen M12-Stecker, dessen Ausrichtung im Gehäuse von Leuchte zu Leuchte variiert, eine Leiterplatte mit aufgelöteten M12-Buchsen scheidet also aus. Die Versorgung erfolgt über einen M12-Stecker, dessen Ausrichtung im Gehäuse von Leuchte zu Leuchte variiert, eine Leiterplatte mit aufgelöteten M12-Buchsen scheidet also aus.
Zeile 137: Zeile 152:
 ICs lassen sich mit den 1,27 mm Rastermaß immerhin halbwegs gut an Flachband-Leitung mit ebenfalls 1,27 mm Rastermaß löten. ICs lassen sich mit den 1,27 mm Rastermaß immerhin halbwegs gut an Flachband-Leitung mit ebenfalls 1,27 mm Rastermaß löten.
 Aber das Pinout macht es nicht so einfach verwendbar und dass da was abreißt, bevor der Kabelkanal zu ist, ist sehr wahrscheinlich. Aber das Pinout macht es nicht so einfach verwendbar und dass da was abreißt, bevor der Kabelkanal zu ist, ist sehr wahrscheinlich.
-Es kündigte sich eine Sammelbestellung bei [[https://jlcpcb.com/|JLC-PCB]] an, was die ideale Gelegenheit bot, noch etwas CAD in dieses Projekt zu bringen.+Bei der [[https://www.topmodellfabrik.de/|topmodellfabrik]] kündigte sich eine Bestellung bei [[https://jlcpcb.com/|JLC-PCB]] an, bei der ich mich anschließen durfte, was die ideale Gelegenheit bot, noch etwas CAD in dieses Projekt zu bringen.
  
-===PCB-Design ====+=== Side-Quest: PCB-Design ===
 {{ :projekte:2023:1d-pong_pcbs_single.jpg|Ansicht der Leiterplatten Ober- sowie Unterseite}} {{ :projekte:2023:1d-pong_pcbs_single.jpg|Ansicht der Leiterplatten Ober- sowie Unterseite}}
 Die Anforderungen waren schnell klar: Die Anforderungen waren schnell klar:
-* Alle 4 cm einen Abgriff für eine LED-Leuchte +  * Alle 4 cm einen Abgriff für eine LED-Leuchte 
-  * COM sowie Rot, Grün, Blau und Sound (= 1 [[https://de.wikipedia.org/wiki/Nibble|Nibble]]) +    * COM sowie Rot, Grün, Blau und Sound (= 1 [[https://de.wikipedia.org/wiki/Nibble|Nibble]]) 
-  * Im Falle einer Flex-Leiterplatte können die Leitungen zum an die Beacons Löten direkt dran sein +    * Im Falle einer Flex-Leiterplatte können die Leitungen zum an die Beacons Löten direkt dran sein 
-  * Als Backup/ansonsten Ausgeführt als 1,27 mm SMD zum Flachbandleitungen anlöten +    * Als Backup/ansonsten Ausgeführt als 1,27 mm SMD zum Flachbandleitungen anlöten 
-  * Zusätzlich ausgeführt als 2,54 mm THT, falls SMD-Löten von Flachbandleitungen doch zu kompliziert ist +    * Zusätzlich ausgeführt als 2,54 mm THT, falls SMD-Löten von Flachbandleitungen doch zu kompliziert ist 
-* Aufteilung auf mehrere, aneinanderreihbare Leiterplatten +  * Aufteilung auf mehrere, aneinanderreihbare Leiterplatten 
-  * Sonst werden Leiterplatte und Versand teuer, das Handling wird schwierig und JLC-PCB liefert eh erst ab 5 Stück +    * Sonst werden Leiterplatte und Versand teuer, das Handling wird schwierig und JLC-PCB liefert eh erst ab 5 Stück 
-* Neopixel-LEDs mit auf der Leiterplatte +  * Neopixel-LEDs mit auf der Leiterplatte 
-  * Der Space hat sie rollenweise bekommen +    * Der Space hat sie rollenweise bekommen 
-  * Dienen als Signal-Repeater, um die Neopixel-LED in der hinteren Taste sauber zu erreichen +    * Dienen als Signal-Repeater, um die Neopixel-LED in der hinteren Taste sauber zu erreichen 
-  * Können ggf. als Debug-Output verwendet werden +    * Können ggf. als Debug-Output verwendet werden 
-  * Fancy Bau-Bilder +    * Fancy Bau-Bilder 
-* Auch für andere Projekte geeignet +  * Auch für andere Projekte geeignet 
-  * Ein IC je Leiterplatte +    * Ein IC je Leiterplatte 
-  * Kompaktes Haupt-Design +    * Kompaktes Haupt-Design 
-    * Abgriff mit allen acht Ausgängen +      * Abgriff mit allen acht Ausgängen 
-      * Alle 8 cm möglich, für die (WERMA-)Produkte mit 70 mm Durchmesser +        * Alle 8 cm möglich, für die (WERMA-)Produkte mit 70 mm Durchmesser 
-      * 2. Neopixel in dem Fall nicht nötig; Datenleitung überbrückbar +        * 2. Neopixel in dem Fall nicht nötig; Datenleitung überbrückbar 
-    * Rest abschneidbar um Platz zu sparen +      * Rest abschneidbar um Platz zu sparen 
-  * Pull-Up/-Down für nicht zwingend benötigte Anschlüsse +    * Pull-Up/-Down für nicht zwingend benötigte Anschlüsse 
-  * GND-Ausgang für Dauer-An um z. B. [[https://www.werma.com/de/s_c1684i7007/65760055.html|eSIGN]] oder [[https://www.werma.com/en/s_c0i6509/86200003.html|Transceiver]] versorgen zu können +    * GND-Ausgang für Dauer-An um z. B. [[https://www.werma.com/de/s_c1684i7007/65760055.html|eSIGN]] oder [[https://www.werma.com/en/s_c0i6509/86200003.html|Transceiver]] versorgen zu können 
-* Einfach und universell einsetzbar +  * Einfach und universell einsetzbar 
-  * Pfeile für Richtung des Datenflusses +    * Pfeile für Richtung des Datenflusses 
-  * Beschriftung aller Anschlüsse +    * Beschriftung aller Anschlüsse 
-    * Bei THT doppelseitig +      * Bei THT doppelseitig 
-  * Beschriftung der wichtigsten IC-Merkmale +    * Beschriftung der wichtigsten IC-Merkmale 
-  * Open Source Hardware +    * Open Source Hardware 
-    * Beschränkung auf Footprints und andere Quelldaten mit passenden Lizenzen +      * Beschränkung auf Footprints und andere Quelldaten mit passenden Lizenzen 
-      * Notfalls selbst erstellen +        * Notfalls selbst erstellen 
-    * OSH-Logo und [[https://github.com/Pixtxa/TPIC6C-PCB|Link zum Repository]] mit drauf+      * OSH-Logo und [[https://github.com/Pixtxa/TPIC6C-PCB|Link zum Repository]] mit drauf
 Ein paar Abende/Nächte CAD-Arbeit später war das Design fertig und wurde zusammen mit den Bauteilen bestellt. Ein paar Abende/Nächte CAD-Arbeit später war das Design fertig und wurde zusammen mit den Bauteilen bestellt.
 Ein paar Tage später konnten die Leiterplatten bestückt werden. Ein paar Tage später konnten die Leiterplatten bestückt werden.
Zeile 197: Zeile 212:
 {{:projekte:2023:1d-pong_open_animation.gif|LED-Leuchten in Betrieb, Aufbau weiterhin offen auf dem Tisch}} {{:projekte:2023:1d-pong_open_animation.gif|LED-Leuchten in Betrieb, Aufbau weiterhin offen auf dem Tisch}}
 {{:projekte:2023:1d-pong_inside_animation.gif|Aufbau geschlossen, Seitenansicht ins Innere des Kabelkanals}} {{:projekte:2023:1d-pong_inside_animation.gif|Aufbau geschlossen, Seitenansicht ins Innere des Kabelkanals}}
 +
 +[[https://knowyourmeme.com/memes/nyanyanyanyanyanyanya|nyanyanyanyanyanyanya]]
  
 Der Controller bekam noch eine kleine Adapter-Leiterplatte und anschließend konnte der Aufbau komplett geschlossen werden. Der Controller bekam noch eine kleine Adapter-Leiterplatte und anschließend konnte der Aufbau komplett geschlossen werden.
Zeile 205: Zeile 222:
 {{:projekte:2023:1d-pong_assembled.jpg?400|Fertig aufgebaute Hardware}} {{:projekte:2023:1d-pong_assembled.jpg?400|Fertig aufgebaute Hardware}}
  
-Zu einem späteren Zeitpunkt wurden alle Lötstellen zwischen den Leiterplatten nochmal überarbeitet und zusätzliche Versorgungs-Leitungen verbaut, da die Leiterbahnen nicht ausreichten.+=== Side-Quest: Glitches beseitigen === 
 +Teilweise piepten manche/alle Summer, Leuchtelemente fielen aus und die Farbwiedergabe der Neopixel änderte sich abhängig davon, wie viele an waren. 
 +Der Plan, die Leiterplatten direkt zusammen zu löten, um nur halb so viele Lötstellen machen zu müssen, hatte nicht funktioniert, da die Lötstellen beim Bewegen der Konstruktion doch teils belastet wurden und brachen. 
 +Es wurden daher alle Lötstellen zwischen den Leiterplatten nochmal überarbeitet und mit auf beiden Seiten angelöteten Stiftleisten versehen. 
 + 
 +Üblicherweise packt der Controller die Daten über Push/Pull Ausgänge in die Eingänge der Schieberegister. 
 +Beim Start/Firmware-Upgrade sind diese IOs jedoch Eingänge und somit hochohmig, wodurch die Schieberegister Rauschen empfangen und ausgeben. 
 +Der nOE-Eingang um die Ausgänge zu (de-)aktivieren wurde daher an den Controller angeschlossen und mit einem Pull-Up Widerstand versehen, damit beim Start/Firmware-Update alle OpenDrain-Ausgänge deaktiviert sind. 
 + 
 +Es wurden zusätzliche Versorgungs-Leitungen verbaut, da die Leiterbahnen nicht ausreichten und es zu einem zu großen Spannungsausfall kam. 
 + 
 +Danach stellte sich heraus, dass die Schieberegister nicht mehr gingen. 
 +Im Datenblatt steht, dass der HIGH-Pegel für "≥ 0,85 Vcc" gilt; leider wurde das "cc" übersehen und daher auf einen Levelshifter verzichtet. 
 +HIGH gilt also nicht ab 0,85 V, sondern bei 5 V Betriebsspannung ab 4,25 V. 
 +Die Betriebsspannung für die Schieberegister sowie Neopixel wurde per Trimmer am StepDown-Wandler von 5,3 V auf 4,5 V verringert und durch Bauteiltoleranzen funktioniert es damit zum Glück trotzdem.
  
 ==== Firmware ==== ==== Firmware ====
-Erstmal konnte vieles von [[https://www.hackster.io/flyingangel/1d-pong-85e965|1D-Pong]] verwendet werden, jedoch wurde letztlich alles nochmal umstrukturiert, da viele while-Schleifen und delays zum Einsatz kamen, was die WLAN-Funktionen sehr erschwerte.+Erstmal konnte vieles von [[https://www.hackster.io/flyingangel/1d-pong-85e965|1D-Pong]] verwendet werden, es mussten nur die Farben und Ausgabe-Routine angepasst werden. 
 + 
 +=== Sidequest: Extra-Features === 
 +Es wurde letztlich alles nochmal umstrukturiert, da viele while-Schleifen und delays zum Einsatz kamen, was die WLAN-Funktionen sehr erschwerte bzw. unmöglich machte.
  
 Im Original-Code wird einfach nur ein zufälliger Start-Spieler gewählt, eine Idle-Animation existierte nicht. Im Original-Code wird einfach nur ein zufälliger Start-Spieler gewählt, eine Idle-Animation existierte nicht.
Zeile 215: Zeile 249:
 Vorzeitig verlassene Spiele können abgebrochen werden, indem man beide Tasten gedrückt hält, bis alles weiß leuchtet. Vorzeitig verlassene Spiele können abgebrochen werden, indem man beide Tasten gedrückt hält, bis alles weiß leuchtet.
 Wird keine Taste gedrückt, erscheint nach einigen Sekunden die Idle-Animation. Wird keine Taste gedrückt, erscheint nach einigen Sekunden die Idle-Animation.
-Auch diese hat einen Zeitpunkt, bei dem alles weiß leuchtet+Auch diese hat einen Zeitpunkt, bei dem alles weiß leuchtet; lässt man sie bis dort hin laufen, wird ein evtl. begonnenes Spiel ebenfalls beendet.
-Lässt man sie bis dort hin laufen, wird ein evtl. begonnenes Spiel ebenfalls beendet.+
  
 Zudem gibt es eine (deaktivierbare) Soundausgabe und eine Möglichkeit, die Rundenzahl zu konfigurieren. Zudem gibt es eine (deaktivierbare) Soundausgabe und eine Möglichkeit, die Rundenzahl zu konfigurieren.
  
-Da das Schließen des Kabelkanals etwas kompliziert ist, wurde die Möglichkeit für FOTA-Updates implementiert. +Da das Schließen des Kabelkanals etwas kompliziert ist, wurde auch noch die Möglichkeit für FOTA-Updates implementiert. 
-Die LEDs zeigen in dem Fall den Fortschrittsbalken der Übertragung dar.+Die LED-Leuchten zeigen in dem Fall den Fortschrittsbalken der Übertragung an.
  
 Geplant ist noch eine einfache Weboberfläche. Geplant ist noch eine einfache Weboberfläche.
 Darüber sollen neben Soundausgabe und Rundenzahl auch die verwendeten Farben konfigurierbar sein. Darüber sollen neben Soundausgabe und Rundenzahl auch die verwendeten Farben konfigurierbar sein.
-Statistiken wie Anzahl gespielter/abgebrochener Spiele, Insgesamt erzielter Punkte, Anzahl erfolgreicher/verfehlter Schläge und ähnliches könnten da auch ausgegeben werden.+Statistiken wie Anzahl gespielter/abgebrochener Spiele, insgesamt erzielter Punkte, Anzahl erfolgreicher/verfehlter Schläge und ähnliches könnten da auch (per API) ausgegeben werden
 + 
 +Mehr "Spielmodi" sind auch geplant: 
 +  * Bis x Punkte (Bereits implementiert, einzig verfügbarer) 
 +  * Bis x Punkte bei y Punkten Mindestabstand; oder bis der Punktezähler voll ist 
 +  * Gewinner von x Runden (Extra-Runde bei Gleichstand) 
 +  * Evtl. etwas mit unausgewogenen Schlägergrößen und Boosts; sich bewegenden Schlägern, ... 
 +    * Schlagt mir gerne Ideen vor 
 + 
 +Vorschläge für weitere Idle-Animationen werden auch angenommen; sie müssen jedoch mit den sieben Zuständen Rot, Orange, Grün, Cyan, Blau, Violett und Weiß auskommen.
  
 Der Code ist hier veröffentlicht: [[https://github.com/Pixtxa/1D-Pong|1D-Pong Quellcode]] Der Code ist hier veröffentlicht: [[https://github.com/Pixtxa/1D-Pong|1D-Pong Quellcode]]
  
 ==== Ergebnis ==== ==== Ergebnis ====
-{{ :projekte:2023:1d-pong_gameplay.mp4 |1D-Pong Spiel in Betrieb. Beim Zurückschlagen des Balls ertönt ein kurzes Piepen, beim Verfehlen piept es 3x während der neue Punktestand aufblinkt}}+{{:projekte:2023:1d-pong_gameplay.mp4|1D-Pong Spiel in Betrieb. Beim Zurückschlagen des Balls ertönt ein kurzes Piepen, beim Verfehlen piept es 3x während der neue Punktestand aufblinkt}} 
 + 
 +=== Side-Quest: Dokumentation === 
 +Beim Bau wurden viele Bilder gemacht, die gesammelt und nun in diese Dokumentation gepackt wurden. 
 + 
 +Wenn man das Spiel irgendwo aufbaut, gibt es immer Interessierte, die das sehen wollen. 
 +Ein Link zu dieser Wiki-Seite ist aber sehr lang und macht QR-Codes entsprechend groß. 
 +Um eine eigene, (für mich) einfach zu merkende Kurz-Url zu haben, kümmerte ich endlich darum, wie ich einen Webserver auf meinen Cloud-Computer bekomme und mit meiner Domain verknüpfe, um die Domain endlich mal sinnvoll zu nutzen und auch [[https://pixtxa.de/1D-Pong|Pixtxa.de/1D-Pong]] anbieten zu können.
  
 ===== Spielanleitung ===== ===== Spielanleitung =====
Zeile 238: Zeile 287:
   * Punktanzeige in Spielfeldmitte   * Punktanzeige in Spielfeldmitte
   * Spiel gewinnen: Als erstes die zu erreichenden Punkte erzielen   * Spiel gewinnen: Als erstes die zu erreichenden Punkte erzielen
-    * Default-Wert nach Powercycle: 10 Punkte+    * Default-Wert nach Powercycle: Punkte
     * Konfigurationsbereich: 1-16 Punkte     * Konfigurationsbereich: 1-16 Punkte
   * Hinweis: Boost am Schläger-Ende verfügbar   * Hinweis: Boost am Schläger-Ende verfügbar
Zeile 247: Zeile 296:
 Die meisten Tische oder Biertische bieten sich gut als Unterlage an. Die meisten Tische oder Biertische bieten sich gut als Unterlage an.
 Die Kombination aus Brüstungsgeländer und Kabelbinder kann auch gut funktionieren. Die Kombination aus Brüstungsgeländer und Kabelbinder kann auch gut funktionieren.
-Das Spiel ist in jeder Ausrichtung betreibbar.+Das Spiel selbst ist in jeder Ausrichtung betreibbar; jedoch sollte beachtet werden, dass (idealerweise unabhängig der Körpergröße) die Tasten gut erreichbar und die LED-Leuchten zum Spielen auf ganzer Strecke gut einsehbar sein sollten. 
 +Letzteres am Besten auch für Publikum.
  
 Auch wenn die Werma-Beacons IP69k bieten, gilt das leider nicht für die verwendeten Arcade-Buttons, welche nicht mal Regenfest sind. Auch wenn die Werma-Beacons IP69k bieten, gilt das leider nicht für die verwendeten Arcade-Buttons, welche nicht mal Regenfest sind.
Zeile 261: Zeile 311:
 Beim Überlauf wird die Sound-Ausgabe umgeschaltet (aus/an) und es wird erneut hochgezählt. Beim Überlauf wird die Sound-Ausgabe umgeschaltet (aus/an) und es wird erneut hochgezählt.
 Beim loslassen wird die Konfiguration übernommen. Beim loslassen wird die Konfiguration übernommen.
-Hält man also die Tasten, bis beide Teams 5 Punkte haben und lässt dann los, laufen fortan die Spiele so lange, bis eine Seite Punkte erzielt. +Hält man also die Tasten, bis beide Teams 5 Punkte haben und lässt dann los, laufen fortan die Spiele so lange, bis eine Seite 10 Punkte erzielt. 
-Beim Powercycle wird wieder die Standard-Konfiguration geladen: Mit Sound-Ausgabe bis 10 Punkte.+Beim Powercycle wird wieder die Standard-Konfiguration geladen: Mit Sound-Ausgabe bis Punkte.
  
 Vom Öffnen des Kabelkanals ist abzusehen, da sich das Controllerboard beim Schließen des Kabelkanals gerne verklemmt. Vom Öffnen des Kabelkanals ist abzusehen, da sich das Controllerboard beim Schließen des Kabelkanals gerne verklemmt.
-Auf der Unterseite sind Löcher, durch die man rein schauen kann.+Auf der Unterseite sind Löcher, durch die man rein schauen kann; zudem gibt es unter [[https://pixtxa.de/1D-Pong|Pixtxa.de/1D-Pong]] die Projektdoku zu finden.
  • projekte/2023/1d-pong.1701493779.txt.gz
  • Zuletzt geändert: 2023/12/02 05:09
  • von pixtxa