Bemerkung
Das Starterkit: Blinkenlights ist abgekündigt und wird nicht mehr verkauft.
Das Starterkit: Blinkenlights ist ein großes, frei programmierbares Display. Es besteht aus 200 individuell steuerbaren vollfarb RGB LED Pixel, deren Farbe bis zu 100 mal pro Sekunde geändert werden kann. Es gibt vielfältige Anwendungen, dazu zählen eigene (Party-) Spiele, Messeauftritte, schicke Moodlights oder individuelle Anzeigen aller Art.
Das Basiskit besteht aus einem Master Brick, einem LED Strip Bricklet, vier 50 LED Pixel Sets, einer LED Stromversorgung, vier Wandbefestigungsplatten, einer gelochten Rückplatte, einer Frontplatte sowie alle notwendigen Kabel und Befestigungsmaterialien. Das Basiskit kann per USB von jedem (Embedded-) PC (z.B. Raspberry Pi), Laptop, Server oder Tablet gesteuert werden.
Über andere Tinkerforge Produkte kann das Kit erweitert werden. Bei Spiele-Anwendungen kann das Giant Game Pad zur Steuerung verwendet werden. Des weiteren kann das Piezo Speaker Bricklet zur musikalischen Untermalung sowie das Segment Display 4x7 zur Punktedarstellung verwendet werden. Pong lässt sich mit zwei Dual Button Bricklets spielen. Mit der Ethernet Extension kann die USB Schnittstelle durch Ethernet ausgetauscht werden, so dass Smartphone oder Tablet gesteuerte Anwendungen möglich sind. Ein größeres Display kann durch das Hinzufügen weiterer Pixel realisiert werden.
Eine Demo-Anwendung implementiert Klone von Tetris und Pong und beinhaltet verschiedene andere Anwendungen. Zum Beispiel können individuelle scrollende Texte in diversen Farben, Regenbogen oder individuelle Bildsätze mit konfigurierbarer Dauer angezeigt werden. Ein virtuelles Feuer erwärmt das Herz auch in den kältesten Wintermonaten. Die Spiele können über eine PC Tastatur gesteuert werden aber auch per Multi Touch (Giant Game Pad) oder Dual Button Bricklet.
Der Name des Kits "Blinkenlights" wird im Hackerjargon benutzt um blinkende Lampen von Netzwerk-Equipment zu beschreiben. Er ist auch über das Blinkenlights Projekt bekannt.
Das nachfolgende Video zeigt die Beispiele und den Zusammenbau im Zeitraffer:
Eigenschaft | Wert |
---|---|
Maximale Update Rate (LED Strip Bricklet) | 100Hz (pro Pixel) |
RGB Auflösung (LED Strip Bricklet) | 3 x 8bit |
Helligkeit | 1600mcd pro Pixel |
Anzahl der RGB Pixel | 10 x 20 |
Abmessungen (B x T x H) | 40 x 80 x 7cm (ohne Frontplatte)
50 x 90 x > 7cm* (mit Frontplatte)
|
Gewicht | 4kg (zusammengebautes Kit) |
* hängt von dem eingestellten Abstand zwischen Front- und Rückplatte ab
Im ersten Schritt sollten die Bricks und Bricklets ausprobiert und die Firmwares ggf. aktualisiert werden.
Dazu müssen der Brick Daemon und der Brick Viewer installiert werden. Schließe das LED Strip Bricklet an den Master Brick an und verbinde es per USB mit dem PC. Anschließend kann über den Brick Viewer bestimmt werden, ob alle Firmwares aktuell sind. Falls nicht so sollten diese aktualisiert werden (Bricks aktualisieren, Bricklets aktualisieren):
Im nächsten Schritt sollte das LED Strip Bricklet und die Pixel wie hier beschrieben getestet werden. Anschließend kann damit begonnen werden das Kit zusammenzubauen.
Die Demoanwendung demonstriert verschiedene Anwendungen des Kits. Es besteht aus 6 Teilanwendungen die als individuelle Projekte zur Verfügung stehen (siehe unten). Jedes Projekt wird durch ein eigenes Tab dargestellt. Zwei Dual Button Bricklets und ein Multi Touch Bricklet können zusätzlich zur Steuerung der Spiele genutzt werden. Ist ein Piezo Speaker Bricklet oder ein Segment Display 4x7 Bricklet angeschlossen, so werden diese von den Spielen genutzt um ein akustisches Feedback zu geben und den Spielstand anzuzeigen.
Vor Beginn müssen Host und Port konfiguriert werden. Falls das normale Kit benutzt wird und dieses direkt per USB an einem PC angeschlossen ist, sind "localhost" und "4223" die korrekten Einstellungen. Falls das Kit mit Extensions erweitert wurde oder es von einem anderen PC gesteuert werden soll muss die IP Adresse oder der Hostname des Rechners oder der Extension eingestellt werden zu dem das Kit verbunden wurde. Die Tabelle unter der Host/Port Konfiguration gibt einen überblick über die angeschlossenen Bricks und Bricklets.
Die Demoanwendung implementiert ein typisches Tetris mit allen Besonderheiten. Es kann mit:
oder ohne Frontplatte:
gespielt werden.
Dieser Tetris-Klon kann über drei verschiedene Arten gesteuert werden. Als erstes können die Buttons im Tab genutzt werden um das Spiel zu steuern. Alternativ funktioniert dies auch über die PC Tastatur. Als letzte Möglichkeit kann ein Mutli Touch Bricklet mit einem Giant Game Pad oder selbstgebauten Elektroden angeschlossen werden.
Das einzelne Python Projekt kann von
GitHub
heruntergeladen werden. Dieses beinhaltet auch das
Pong Projekt und beseht hauptsächlich
aus zwei Dateien: tetris.py
implementiert das Spiel und config.py
definiert Konfigurationen (Host, Port, UIDs, LED Matrixlayout und Keymap).
Die config.py
muss entsprechend angepasst werden und die Anwendung mittels:
python tetris.py
ausgeführt werden.
Zusätzlich ist dieses Projekt in C# implementiert worden. Diese kann von GitHub heruntergeladen werden.
Wie Tetris kann Pong mit oder ohne Frontplatte genutzt werden.
Die folgenden Bilder zeigen Pong bei Dunkelheit und Tageslicht.
Das Spiel kann über Buttons, Tastatur oder Multi Touch Bricklet gesteuert werden. Zusätzlich ist eine Steuerung über zwei Dual Button Bricklets möglich.
Das einzelne Python Projekt kann von
GitHub.
heruntergeladen werden. Dieses beinhaltet das
Tetris Projekt und besteht
hauptsächlich aus zwei Dateien: pong.py
implementiert das Spiel und
config.py
definiert Konfigurationen (Host, Port, UIDs, LED Matrixlayout
und Keymaps).
Die config.py
muss entsprechend angepasst werden und die Anwendung mittels:
python pong.py
gestartet werden. Zusätzlich ist dieses Projekt in C# implementiert worden und kann von GitHub herunter geladen werden.
Wenn der Fire Tab gewählt wird erscheint eine Feuersimulation. Diese sieht besonders gut aus, wenn das Frontplatte in einem Abstand von 42mm (2x9mm und 2x12mm Abstandsbolzen) zur Rückplatte angebracht wird.
Die folgenden Bilder zeigen die Feuersimulation bei Dunkelheit und bei Tageslicht.
Die Simulation basiert auf einem Partikelsystem und kann über vier Schieberegler beeinflusst werden:
Spiele mit den Schiebereglern und erstelle dein persönliches Feuer. Mit dem "Default" Button können die Regler wieder auf die Ausgangswerte zurückgesetzt werden.
Das einzelne Python Projekt kann von
GitHub
heruntergeladen werden. Es besteht hauptsächlich aus zwei Dateien:
fire.py
implementiert die Feuersimulation und config.py
konfiguriert
Host, Port, UID, LED Matrixlayout und Simulationsparameter.
Nach dem Anpassen der config.py
kann die Anwendung mittels:
python fire.py
ausgeführt werden. Das Projekt ist auch in Delphi implementiert worden und kann von GitHub heruntergeladen werden.
Die "Text" Demo scrollt den eingegebenen Text in der angegebenen Geschwindigkeit.
Der Text bewegt sich eine Spalte pro Frame. Eine höhere Framerate führt also zu einem schneller bewegenden Text. Dauerhafte Farbwechsel können über klicken auf "Rainbow" aktiviert werden. Alternativ kann auch eine Farbe direkt gewählt werden.
Das einzelne Python Projekt kann von
GitHub
heruntergeladen werden.
Es besteht ebenfalls hauptsächlich aus zwei Dateien: text.py
implementiert
die Logik und config.py
definiert Host, Port, UID, LED Matrixlayout und
Farbparameter.
Nach Anpassen der config.py
kann die Anwendung wie folgt gestartet werden:
python text.py Starter Kit: Blinkenlights
Das Demo ist auch in PHP implementiert worden und kann von GitHub heruntergeladen werden.
Die "Images" Demo kann genutzt werden um spezifische Bilder und ganze Animationen anzuzeigen.
Das folgende Bild
generiert folgende Ausgabe
Wähle die Bilder, die angezeigt werden sollen, durch Klicken auf "Choose Images...". Die Demo zeigt das erste Bild an und wechselt in der angegebenen Framerate zum nächsten Bild in der Reihe. Auf diese Art können Animationen erstellt werden. Jedes Bild wird auf eine Größe von 20x10 Pixel (Größe des Displays) verkleinert und verzerrt falls das Bildformat nicht passt. Ein Bildverarbeitungstool kann benutzt werden wenn die Ergebnisse nicht zufriedenstellend sind.
Das einzelne Python Projekt kann von
GitHub
heruntergeladen werden. Es besteht hauptsächlich aus zwei Dateien:
images.py
implementiert die Logik und config.py
definiert wie bei den
anderen Beispielprojekten auch Host, Port, UID und das LED Matrixlayout.
Nach Anpassen der config.py
kann das Demo mit den anzuzeigenden Bildern wie
folgt gestartet werden:
python text.py image1.jpg image2.jpg
Zusätzlich wurde das Projekt in Java implementiert und kann bei GitHub heruntergeladen werden.
Die "Rainbow" Demo zeigt einen mit der eingestellten Framerate und Geschwindigkeit sich bewegenden Regenbogen auf dem Display an. Die Ergebnisse hängen von dem Abstand des Frontplatte zur Rückplatte ab. Das folgende Bild zeigt das Demo mit 12mm Abstand in Tageslicht, 42mm Abstand in Tageslicht und 42mm Abstand in Dunkelheit an.
Eine höhere Framerate und Geschwindigkeit führen zu einem sich schneller bewegenden Regenbogen.
Das einzelne Python Projekt kann von
GitHub
heruntergeladen werden. Dieses besteht hauptsächlich aus zwei Dateien:
rainbow.py
implementiert die Logik, wohingegen config.py
die
Konfiguration speichert.
Nach Anpassen der config.py
kann die Demo wie folgt gestartet werden:
python rainbow.py
In C ist diese Demo ebenfalls Implementiert worden. Sie kann von GitHub heruntergeladen werden.