Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung Nächste Überarbeitung Beide Seiten, nächste Überarbeitung | ||
projekte:2023:1d-pong [2023/12/02 23:17] pixtxa [Firmware] |
projekte:2023:1d-pong [2023/12/04 01:12] pixtxa Überschriftsgröße war falsch |
||
---|---|---|---|
Zeile 17: | 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:// | Einen [[https:// | ||
+ | |||
+ | Was erstmal einfach erschien, bot dann doch mehrere Side-Quests, | ||
+ | | //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:// | ||
+ | Ergebnis ist aber, dass es doch noch fertig wurde und schön geworden ist. | ||
+ | Wie das ging, wird hier erklärt. | ||
===== Umsetzung ===== | ===== Umsetzung ===== | ||
Zeile 31: | Zeile 45: | ||
{{: | {{: | ||
- | ==== Montagelöcher | + | ==== Gehäuseanpassung |
{{: | {{: | ||
{{: | {{: | ||
Zeile 58: | Zeile 72: | ||
Die beiden 3D-Modelle incl. CAD-Script sind hier zu finden: [[https:// | Die beiden 3D-Modelle incl. CAD-Script sind hier zu finden: [[https:// | ||
- | === 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. | ||
Zeile 76: | Zeile 90: | ||
{{: | {{: | ||
- | ==== Arcade Buttons ==== | + | ==== Side-Quest: |
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:// | Praktischerweise gibt es eine Anleitung zum Bau von [[https:// | ||
Zeile 140: | Zeile 154: | ||
Bei der [[https:// | Bei der [[https:// | ||
- | ==== PCB-Design | + | === Side-Quest: |
{{ : | {{ : | ||
Die Anforderungen waren schnell klar: | Die Anforderungen waren schnell klar: | ||
Zeile 208: | Zeile 222: | ||
{{: | {{: | ||
- | Zu einem späteren Zeitpunkt | + | === 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, | ||
+ | Es wurden | ||
+ | |||
+ | Üblicherweise packt der Controller die Daten über Push/Pull Ausgänge in die Eingänge der Schieberegister. | ||
+ | Beim Start/ | ||
+ | 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/ | ||
+ | |||
+ | Es wurden | ||
+ | |||
+ | 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 " | ||
+ | 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:// | + | Erstmal konnte vieles von [[https:// |
+ | |||
+ | === Sidequest: Extra-Features === | ||
+ | Es wurde letztlich alles nochmal umstrukturiert, | ||
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 218: | 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 |
- | Lässt | + | |
Zudem gibt es eine (deaktivierbare) Soundausgabe und eine Möglichkeit, | Zudem gibt es eine (deaktivierbare) Soundausgabe und eine Möglichkeit, | ||
- | 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 | + | Die LED-Leuchten |
Geplant ist noch eine einfache Weboberfläche. | Geplant ist noch eine einfache Weboberfläche. | ||
Zeile 237: | Zeile 267: | ||
==== Ergebnis ==== | ==== Ergebnis ==== | ||
{{: | {{: | ||
+ | |||
+ | === 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, | ||
+ | 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:// | ||
===== Spielanleitung ===== | ===== Spielanleitung ===== | ||
Zeile 271: | Zeile 308: | ||
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:// |