[Entwicklung] LED Beer Pong Tisch

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo Zusammen,

    nachdem ich diesen Beitrag gesehen habe, dachte ich, es wäre an der Zeit auch selbst so ein Projekt anzugehen. Leider kamen da keine Updates mehr, deswegen möchte ich meinen Projektfortschritt hier mit euch teilen. Weitere Inspiration aus diesen Instructables.

    Geplant ist folgendes:

    Ein interaktiver Beerpong Tisch mit zentraler LED Matrix und automatischer Bechererkennung (wie im Thread vorher). Der Tisch soll zusammenklappbar sein und eine 'Ball-Waschanlage' beinhalten.
    Um den Raspi ein wenig mehr zu beschäftigen soll noch eine Webpage bereit gestellt werden um neue Spiele zu starten. Und Auswertungen anzuzeigen.

    Ich werde alle Side-Threads die für auftretende Probleme erstellt werden unten verlinken. So kann man meinen gesamten Arbeits- und Lernfortschritt gut nachvollziehen.

    Zur Hardware:

    1) Der Tisch:
    -Außenmaße: 2440 x 610 mm ; Höhe: ca 100mm
    -Bestehend aus 3 Elementen (siehe Anhang) damit er zusammenklappbar ist

    1a) 610x610mm Außenelement:
    -Material: Umlaufender Holzrahmen mit Spreeholz Platte; runde Aussparungen für Acrylglaseinleger zur Bechererkennung und Beleuchtung


    1b) 1220x610mm Mittelteil:
    -Material: Umlaufender Holzrahmen mit satinierter matte Acrylglasplatte für 23x11 LED Matrix

    doc01659620160914091753.pdf


    2) Die Elektronik:
    -RPi als Zentrale Auswertungsstation
    -je ein Arduino Nano (sind schon vorhanden darum diese) pro Element zur Ansteuerung der LED und Auswertung der Sensoren
    -LED: WS2812B LED Strip; in einzelne LED aufgeteilt um Matrix und Becherbeleuchtung zu ermöglichen

    2a) Außenelement:
    -je Becherstellplatz: ein IR Sensor wie dieser hier und vier sechs LED
    -IR Auswertung über 16 Kanalmultiplexer -> Arduino Nano
    -LED Ansteuerung über Arduino Nano
    -Ballwaschanlage noch in Planung; Im Prinzip ein HT-Rohr System mit Luft- und Wasserstrom

    2b) Mittelteil:
    -21 23x11 LED Matrix ähnlich wie in diesem Video bestehend aus 231 WS 2812B LED
    -Matrix durch quadratisches Raster in klare Konturen aufgeteilt
    -Ansteuerung über Arduino Nano Teensy 3.2 Der Arduino Nano ist an die Grenzen seiner Leistungsfähigkeit gekommen (RAM zu klein für Textanimation


    2c) Rechenzentrale:
    -RPi 3 mit Serieller Verbindung zu den Nanos und dem Teensy 3.2
    -Hier läuft das Hauptprogramm, dass den Nanos vorgibt, welche LED-Felder zu beleuchten sind. Übernimmt die gesamte "Spielleitung". Vom generellen Spielablauf, über das Logging und Datenbankoperationen bis him zum Hosting einer Homepage über die die Spiele gestartet werden und Allzeit-Statistiken abgerufen werden können.

    Zur Software:

    Hier bin ich mir noch gar nicht schlüssig und auf Eure Hilfe/Erfahrungen angewiesen. Es gibt viele verschiedene Möglichkeiten die Signalauswertung zu realisieren. Welche Vor- und Nachteile es gibt habe ich noch nicht auf dem Schirm. Aber learning by failing wird hier sicher eine solide Lösung bringen.

    Für die Punkteauswertung (ist der Becher noch da oder nicht) habe ich folgende Idee:
    IR-Sensor Auswertung auf dem Nano -> LED AN/AUS -> Ergebnis an Pi (läuft)

    RPi3 fragt Daten aus serieller Verbindung (USB) vom Nano ab -> Auswertung des Spielstands -> Sendet Punktestand und andere relevanten Befehle (starte Spiel, beende Spiel, Pause, Spilernamen, usw.) an 'Matrix-Teensy'. Hier läuft auch das Hauptprogramm und die WebApp für die Steuerung des Tisches. Der RPi loggt die Spielstände, hostet den WebServer und kontrolliert die per USB angeschlossenen µC.

    Matrix-Teensy empfäng Befehle via serieller Verbingung -> Modus anpassen, Variablen setzen, Muster auswerten -> LED Zustand ändern


    doc01659920160914095425.pdf

    Verlauf:

    09/2016:
    erste Einkäufe getätigt (Nanos, 300 WS2812B LED, 2x 16 Kanal Multiplexer, 20x IR Sensor)
    LED Testaufbau steht: 3x3 Matrix mit Arduino Nano, Ansteuerung mit Hilfe der FastLED libary

    11/2016:
    Die Matrix wurde auf 11 x 23 WS2812B LED festgelegt und der 'Bau' begonnen. Pro LED 4 Lötpunkte (Data in, Data out, 5V, Ground) plus 2 als Anschluss an die 5V und Ground Leiterbahnen -> mehr als 1500 Lötstellen plus vorverzinnen. Das ganze hat ca. einen Monat gedauert.

    02/2017:
    Bechererkennung entworfen und Start der Produktion.
    Rahmen für das Mittelteil und die beiden Außenteile gebaut. Die Holzarbeit hat doch deutlich mehr Zeit in Anspruch genommen als wir geplant haben. Allerdings liefert Fichtenholz, mit Teakbeize behandelt und versiegelt ein erstaunlich gutes Ergebnis! Sieht Top aus!
    Das Raster bauen hat ca. 2 Tage in Anspruch genommen. Mein Hobbykeller ist jetzt um ein paar Holzwerkzeuge reicher :)

    Spoiler anzeigen



    03/2017:
    Die Matrix wird über ein manipuliertes PC-Netzteil gespeist und funktioniert.
    Abgedeckt mit einer 3mm Acrylglasplatte mit 79% Lichtdurchlässigkeit.

    Spoiler anzeigen


    04/2017:
    Eine Seite der Bechererkennung ist fast fertig. Die zweite Seite wird jetzt nachgebaut.

    Spoiler anzeigen



    05/2017:
    Die Matrix läuft soweit und erste Testsspiele sind erfolgreich angezeigt und geloggt worden. Allerdings hat sich herausgestellt, dass der Nano zu wenig RAM für die mächtige FASTLED LEDText Lib hat. Deshalb wird auf einen Teensy 3.2 upgegraded.

    06/2017:
    Die Hardware ist im Grundaufbau fertig. Es fehlen noch "kleine" Details wie ein Ständerwerk und die Ballwaschanlage. Zweitere befindet sich derzeit parallel in Entwicklung. Die WebApp ist auf einem guten Weg. Das Grundgerüst dafür steht und Datenbankoperationen laufen super. Matrix und Bechererkennung laufen super und viele Bugs wurden behoben.
    edit 27/06: Die Hardware ist fertig! Becherwaschanlage läuft aber ich habe beim Konzept der WebApp aufs falsche Pferd gesetzt. Es wird wird also nun auf BottlePy hinauslaufen.

    Spoiler anzeigen


    Meilensteine:
    -LED Matrix mit Befehlen über Serielle Schnittstelle ansteuern erledigt
    -Holzgerüst bauen erledigt
    -Ballwaschanlage entwerfen erledigt
    -Ballwaschanlage bauen erledigt
    -LED Matrix in voller Größe aufbauen erledigt
    -Becherstellplätze aufbauen erledigt
    -Hauptprogramm auf Rpi mit Komponenten verbinden erledigt
    -Webinterface schreiben in Entwicklung


    Side-Threads:
    Schriftsymbole für die Matrix im Hex Code in Array
    Bitweises Auslesen von Bytes in C/C++
    Schleife zur Randberechnung hängt
    Logdatei für Spielverlauf erstellen
    Nur eine Instanz des Python Scripts zulassen
    Konzept bottle GUI

    Changelog:
    14/09/16: Projektbeitrag erstellt
    21/09/16: Side-Threads aktualisiert
    25/04/17: Aktualisierung Arbeitsschritte
    11/05/17: Aktualisierung Arbeitsschritte & Meilensteine
    16/06/17: generelle Aktualisierung & neuer Side-Thread
    27/06/17: generelle Aktualisierung & neuer Side-Thread

  • Hallo,

    wir sind auch gerade dabei uns einen Bierpongtisch zu bauen. Wir sind gerade noch auf der Suche danach, wie wir die Bechererkennung am besten umsetzen. Welchen IR-Sensor hast du verwendet? Der Link funktioniert ledier nicht mehr.

    Auf jeden Fall erstmal großen Respekt vor der Leistung!

  • Hi,

    bin zwar ziemlich frisch hier um Forum, hab aber schon nach Anleitung das ein oder andere Arduino Projekt nachgebaut. Bin in der Ausbildung und hab zumindest schon mal gefestigte Grundlagen für die Art von Eigenbau.

    Finde deinen Beer Pong tisch auf jeden fall mega interessant und frage mich, ob ich mir so ein Monster Projekt zutrauen kann. Hattest du hier Hilfe von anderen oder Freunde mit Werkstatt ? Oder warst du auf dich allein gestellt? Und wie lange hast du für den ganzen Aufbau gebraucht?

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!