Shot Clock Display

  • Lesedauer:13 min Lesezeit

Einer der wesentlichen Bestandteile der Shot Clock ist natürlich das Display das anzeigt wie viele Sekunden noch übrig sind. Wie ich dieses aufgebaut habe und für welche Komponenten ich mich entschieden habe seht ihr in diesem Artikel.

Komponentenauswahl für das Shot Clock Display

Wie üblich stehen viele Verschiedene Varianten für jede Teilkomponente zur Verfügung. Es gilt also Entscheidungen zu treffen. Zuerst liste ich mal auf, was alles benötigt wird:

  • LED Anzeige
  • Mikrocontroller
  • Spannungsregler
  • Verschiedene Steckverbinder und Kabel

LED Anzeige

Die Anzeige soll schön groß sein, sodass man sie von weitem gut erkennen kann. Es würde ausreichen, wenn nur zwei mal die Zahlen von 0-9 angezeigt werden können. Daher dachte ich erst an einfach LED-Streifen, die im üblichen Zahlenraster angeordnet sind. Da kommen dann aber auch recht viele Streifen zusammen, die einzeln angesteuert werden müssen. Daher habe ich mich etwas umgesehen und bin auf LED-Matrix-Module gestoßen. Die gibt es in verschiedensten Größen und Ausführungen. Im speziellen habe ich mich für das P5 Innen Full Color LED Display Panel 64 x 32 Pixel Modul entschieden. Der Vorteil an einem solchen Modul ist, dass 2048 RGB LEDs relativ einfach angesteuert werden können. Nachdem ich eins zum Testen bestellt habe war ich überzeugt und habe weitere bestellt, sodass ich pro Shot Clock zwei Module habe, die zusammen das Display ergeben.

Halbes Shot Clock Display im Test

Die Module werden mit 5V Spannung betrieben, sodass ich sie über USB von einer Powerbank betreiben kann. Die Module werden mit einer maximalen Leistungsaufnahme von 40 W angegeben. Bei zwei Modulen also 80 W und bei 5 V kommen wir auf satte 16 A, die ein Display ziehen kann. Das wäre natürlich vollkommen ungeeignet für eine mobile Anwendung. Die gute Nachricht ist aber, dass ich nicht vor habe alle LEDs gleichzeitig in weiß auf voller Stärke leuchten zu lassen. In der Regel nutze ich nur eine Farbe, sodass nur noch ein drittel der Leistung benötigt wird. Ich benutze auch nicht alle LEDs gleichzeitig, ich will ja schließlich Zahlen anzeigen und keine bunten Flächen. Auch das verringert die Leistungsaufnahme noch einmal um etwa ein fünftel. Damit bleiben noch etwa 1 A bei 5 V, also 5 W übrig. Das kann meine Powerbank durchaus leisten und das Shot Clock Display kann vom Akku laufen!

Mikrocontroller

Mikrocontroller gibt es wie Sand am Meer und die meisten von ihnen sind in einigen Disziplinen besonders gut. In diesem Fall ist die Disziplin, die ich besonders im Auge habe, der Preis. Ein anderer wichtiger Punkt ist, dass Bibliotheken vorhanden sind, mit denen ich die gesamte Peripherie ansteuern kann, denn diese „from scratch“ zu schreiben ist ein Aufwand, den man sich in der Regel sparen kann. Für diese Art der LED-Module gibt es spezielle optimierte Controller, die dedizierte Hardware verbaut haben, um die LEDs reibungslos zu schalten. Keine schlechte Sache, damit sollte alles laufen. Leider zu teuer für mein Ziel „geht bestimmt günstiger“.

Wenn es viele Bibliotheken geben soll, dann fährt man in der Regel mit Arduinos oder Raspberry Pis sehr gut. Ein großer Pi scheint etwas überdimensioniert und teuer für die Aufgabe, ein kleiner Pi Zero ist da schon interessanter. Aber geht bestimmt noch günstiger! Ja, mit Arduinos.

Einen Arduino Nano gibt es für wenige Euro, allerdings hat man nicht besonders viele GPIOs und der Prozessor könnte durchaus überfordert werden, da die Ansteuerung der LEDs relativ aufwändig ist. Außerdem bräuchte ich zu dem nano noch ein WLAN Modul, da ich die Komponenten gerne über WLAN flashe. Und wenn man WLAN und günstig hört, dann kommt man nicht am ESP8266 oder ESP32 vorbei. Beide haben WLAN, sind günstig und die Leistung ist ganz ordentlich. Da ich gerade knapp mit ESP32 war, habe ich die ersten Tests mit 2 ESP8266 durchgeführt. Einer ist für das Display zuständig, der andere kümmert sich um die Kommunikation, beide reden über UART miteinander.

Matrix Modul mit 2 ESP8266 für Tests

Für den späteren Betrieb werden dann keine ESP8266 mehr verwendet, sondern die ESP12f Chips, die auf den ESP8266 verbaut sind. Das Flashen erfolgt dann über ein externes Programmiergerät, bzw WLAN. Ein Spannungsregler liefert die benötigte Spannung für die ESP12e’s.

Spannungsregler

An den Spannungsregler gibt es keine sonderlich großen Anforderungen. Er muss 2 ESP12e’s und einen RFM69HW betreiben. Das Funkmodul braucht einen Strom von 130mA bei 3,3 V, wenn es mit maximaler Leistung sendet. Die ESP’s brauchen je 500 mA Peakstrom und ~71 mA im Durchschnitt. Da die ESP’s üblicherweise nie den Peakstrom von 500 mA brauchen, sondern deutlich darunter arbeiten, sollte insgesamt ein Spannungsregler mit einem Output von 500 mA bei 3,3 V ausreichen. Hier kommt einem direkt der LMS1117 in den Kopf. Der ist extrem günstig und weit verbreitet. Ich hätte ihn wahrscheinlich auch verwendet, wenn ich nicht noch eine Rolle AP2112K-3.3 auf Lager gehabt hätte. AP2112K’s sind etwas effizienter als die LMS1117 und haben noch einen Enable Pin. Also alles Dinge, die hier nicht so wichtig sind. Egal, sind auf Lager, also genommen.

Falls sich jemand fragt, was mit dem LED-Modul ist, das läuft nicht über den Spannungsregler. Das kommt direkt an die extern angeschlossene 5 V Quelle.

Steckverbinder und Kabel

Wie üblich kommt man um diverse Kabel und Verbinder nicht drum herum. Für die Programmierschnittstelle nehme ich einfache Pfostenleisten. Für die externe Spannungsversorgung kommt eine Mikro-USB Buchse an Bord. Zwischen dem 5 V Ausgang der Platine und den LED-Modulen könnte man einfach ein Kabel fest verlöten. Ich habe dafür aber immer kleine Steckverbinderkabel da, damit ich es einfacher auseinander nehmen kann, wenn es denn mal nötig ist. Für die Matrix Module verwende ich die gleichen Stecker am PCB, die auch am Modul sind. Die werden mit Flachbandkabel zusammengecrimpt und sind dann Verpolungssicher, wenn man alles richtig gemacht hat.

Verschaltung des Shot Clock Display’s

Jetzt wird’s spannend, alles muss zusammen funktionieren. Die Verschaltung ist im Prinzip kein Hexenwerk. Ich habe recht freie Hand, was ich wo anschließe. Ich muss dann nur noch schauen, dass ich die notwendigen Einstellungen im Code vornehme und dann kann es los gehen. Für die Matrix-Module habe ich die PxMatrix Bibliothek verwendet. Die funktioniert recht gut, auch mit 2 LED-Modulen. Das RFM69HW Modul kommuniziert über SPI mit dem ESP12, sodass auch hier das meiste fest vorgegeben ist.

Die verwendete Bibliothek (RFM69) ist nicht zu 100% mit dem ESP kompatibel, mit ein paar kleineren Änderungen läuft aber alles und ich habe eine sehr gute umfangreiche Library an der Hand, mit der ich die Kommunikation schnell umsetzen kann. Dann noch die ESP’s über UART verbinden. Hier nicht vergessen, einen Jumper zu spendieren, denn solange die ESP’s über UART verbunden sind wird das Flashen problematisch! Zuletzt noch ein paar Kondensatoren zur Spannungsglättung und ein paar Pull-Up/Downs spendieren und fertig.

Schaltplan des Shot Clock Displays

PCB Layout des Shot Clock Display’s

Auch hier wird es wieder einfach. Es gibt keine besonderen Anforderungen an das Board. Das einzig Interessante ist, dass ich die beiden LED-Module durch das PCB verschrauben will. Daher kommt in die Mitte ein Schlitz, durch den jeweils eine Schraube pro Modul befestigt wird. Das gibt dem ganzen Display schon mal einen guten Zusammenhalt. Dann muss ich noch darauf zu achten, dass keine Bauteile an den Stellen sind, wo Streben der Module sind.

Auch bei der Positionierung der Stecker für die Module war Vorsicht geboten. Im ersten Anlauf habe ich mich da auch direkt mal etwas verschätzt, sodass ich von den Steckern jeweils ein Stück abschneiden musste, damit es passte. Ansonsten hab ich das Board einfach so groß gemacht, wie es die Hobby Version von Eagle zulässt. Da so viel Platz war habe ich auch fast alle Komponenten auf eine Seite gesetzt. Einzig die Stecker kamen auf die andere Seite, denn das ganze Modul sollte möglicht dünn bleiben.

PCB Layout für die Displays

Gehäuse Design für das Shot Clock Display

Jetzt fehlt noch ein Gehäuse für das ganze, soll ja professionell aussehen. Die Außenmaße des Displays betragen jetzt 32 cm x 32 cm. Könnte eng werden auf meinem 30 cm x 30 cm Druckbett auf dem CR10-s. Das Gehäuse ist nicht nur dafür da die Elektronik zu verstecken, es soll auch beide Module miteinander verbinden. Um das Gehäuse drucken zu können habe ich es in 4 Teile aufgeteilt. Die Teile überlappen jeweils ein Stück, sodass die Schrauben jeweils durch 2 Teile gehen. Das sorgt insgesamt für genug Steifigkeit und die Shot Clock ist stabil genug. Zum Schluss noch eine Abdeckplatte zum Aufschieben in der Mitte, fertig.

Render des Shot Clock Display
Modell des Shot Clock Displays

Hochzeit des Shot Clock Display

Nachdem die Platinen angekommen sind habe ich direkt alles zusammengelötet. Bei Inbetriebnahme musste ich dann feststellen, dass ich in der ersten Version eine Leiterbahn vergessen hatte. Da bin ich mir nicht mehr so sicher, ob ich den Design Rule Check wirklich habe durchlaufen lassen. Falls nicht, ist nur eine fehlende Bahn echt ein gutes Ergebnis 😉

Ansonsten habe ich noch die Kabel gecrimpt. Die Stecker für die Flachbandkabel habe ich in der Schraubzwinge gecrimpt, das geht wunderbar und man kann sich die Crimpzange dafür sparen. Auf dem Bild ist noch eine Testversion zu sehen, in der die Abdeckplatte einfach aufgeschraubt wird. In der finalen Version wird diese, wie oben beschrieben, eingeschoben.

Gedrucktes Gehäuse der Shot Clock
Shot Clock Display Rückseite - Elektronik
Shot Clock Display mit offener Rückseite
Shot Clock Display in Aktion
Shot Clock Display in Aktion von vorne

Dieser Beitrag hat 3 Kommentare

  1. Cord

    Sehr coole Idee und Umsetzung. Wieder einmal ein Beweis, dass ein 3D Drucker unglaublich sinnvoll ist. Ich gucke mir den 3D Drucker mal an, ob ich das meiner Frau als must-have verkaufen kann 😉

Schreibe einen Kommentar