LED Brille für das Wrench Cosplay

Ich hatte die einmalige Gelegenheit, Skunk & Weasel Cosplay bei einem ihrer Projekte zu helfen und die LED-Brille für ihr Wrench Cosplay anzufertigen. Beide sind für ihre hochwertigen Cosplays bekannt und ihr solltet unbedingt mal auf deren Facebookseite mal vorbeischauen. (Aber vergesst nicht wieder hierher zurück zu kommen!)

Schauen wir uns erstmal die fertige Maske an:

Today I had a shooting and fantastic time with @eosandy_ and @eri_froostloops and @weaselcos #ubisoft #wrench #iamdedsec #watchdogs #commission #sony #horizonzerodawn #freckles #ps4 #emojis #guerrillagames

A photo posted by SKUNK (@msskunk) on Aug 5, 2016 at 12:27pm PDT

Also, Wrench ist ein neuer Character aus Watch Dogs 2 und ist jetzt schon für seine Maske bekannt, die LED-Displays enthält, welche seinen Gemütszustand über Emotes anzeigen. Da ich eine Techie bin, habe ich angeboten bei der technischen Realisierung der Maske zu helfen, was auch jede Menge Spaß gemacht hat und ich hoffe das dieser Guide anderen helfen kann, ihre eigene Version zu bauen. Falls ihr Fragen oder Kommentare habt, oder Hilfe bei einem Projekt braucht, benutzt einfach die Kommentarfunktion ganz unten oder schreibt mir einfach: info@enjinia.de

Schauen wir uns als erstes ein Bild vom offiziellen Cosplay-Guide an:

Our Wrench Cosplay Reference Guide is available NOW! >> https://t.co/kuEzHc8FQ8 #WatchDogs2 pic.twitter.com/dNcVdUfn4d

— Watch Dogs (@watchdogsgame) July 12, 2016

Schaut euch nur diese Displays an! Allein die Auflösung und die Pixeldichte. LED-Brillen gibt es schon lange und wurden schon von vielen Leuten gebaut, allerdings mit LED-Matrizen mit deutlich niedriger Auflösung, z.B. 8-mal-8 Pixel oder so. So eine Lösung wäre ganz okay… irgendwie, aber ich hab mir gedacht, dass das ganze für Skunk & Weasel deutlich besser sein muss. Irgendwas, was irgendwie ‚okay‘ wäre, wäre nicht gut genug.

Falls ihr das selbst nachbauen wollt, dann sage ich euch gleich, dass ich ein paar ziemlich fiese Dinge mit einigen Adafruit-Produkten gemacht habe. Diese Hacks können die Komponenten beschädigen oder sogar zerstören, selbst wenn sie korrekt durchgeführt wurden und ihr könntet sogar den/die USB-Port(s) eures PCs kaputt machen, falls ihr das hier nachmacht. Ich übernehme natürlich keine Haftung für eventuelle Schäden die durch das Nachahmen dieses Guides entstehen.
Weiterlesen auf eigene Gefahr.

Features:
16 x 16 pixels pro Auge
Externe Stromversorgung – sollte länger als 10 Stunden halten.
Fernbedienung für die Emotes – Kurz drücken und das entsprechende Emote leuchtet auf. Durch längeres Drücken wird das Emote permanent angezeigt, bis eine andere Taste gedrückt wird.
Einige Materialien die ich verwendet habe:

(Hinweis: Es handelt sich hierbei um Affiliate Links. Wenn ihr diese Links nutzt um etwas zu kaufen, dann bekomme ich winzigen Bruchteil davon ab, was euch allerdings nichts extra kostet. Für mich ergibt sich so aber die Möglichkeit meine Server- und Projektkosten zu decken.)

Adafruit 0.8″ 8×16 LED Matrix FeatherWing Display Kit – White
Anker Astro E1 5200mAh Mini Externer Akku Power Bank USB Ladegerät mit PowerIQ für iPhone 6s, 6, 6s Plus, Galaxy S6 S5 und weitere (Schwarz)
Aukru HC-05 Wireless-Bluetooth-Host Serial-Transceiver-Modul Slave und Master RS232 mit 6 set kabel für Arduino
Tinksky HC-06 Bluetooth RF-Transceiver-Modul drahtlose serielle 4 Pins für Arduino (zufällige Kabelfarbe)
Andux Zone Jagd Airsoft X400 Wind Staubschutz Tactical Schutzbrille-Motorrad Brille GL-04 (clear)
Nano V3.0 Modul mit ATmega328P, CH340G, 5V Board, 16MHz, Arduino kompatibel
Die Brille
Ich habe eine billige Schutzbrille besorgt und das Kunststoffvisier durch eine Lochplatte aus Aluminium ersetzt, hinter der man die LEDs verstecken kann. Wenn ihr euch eine Lochplatte kauft, dann kauft eine mit deutlich größeren Löchern. Es sollte eher ein Gitter sein, als ein Blech, damit so wenige Licht wie möglich verloren geht. Bei dieser hier waren die Löcher zu klein und ich musste einen Haufen Löcher per Hand aufbohren und dabei die ganze Zeit beten, dass nichts kaputt geht.

The housing is actually very flexible, almost like hard rubber

Thickness: 0,8 mm, holes 2 mm, spaced 3,5 mm apart (center to center). The holes where widened to 2,8 mm later on

Das Visier lässt sich sehr einfach herausdrücken und wurde von mir als Schablone benutzt, um das Lochblech auszuschneiden.

Wrench Cosplay cutting the visor

Zum ausschneiden habe ich eine Flex benutzt, irgendein anderes Handschleifgerät tut es wahrscheinlich auch. Ich bevorzuge Trennschleifen, weil es schnell geht und die Kanten sehr sauber werden, ohne dass man jede menge Werkzeugspuren sieht. Man muss nur den Grat wegfeilen und alles sieht super aus.

Wrench Cosplay finish

Wie bereits gesagt, musste ich die Löcher per Hand aufbohren, was besser funktioniert hat als ich dachte. Anfangs waren die Löcher 2 mm im Durchmesser, die 3,5 mm voneinander entfernt sind (von Lochmitte zu Lochmitte), die ich auf 2,8 mm aufgebohrt habe. Solltet ihr das auch machen müssen, dann würde ich empfehlen die Ränder nicht aufzubohren. Niemand merkt den Unterschied und es wahrscheinlich besser, wenn die Ränder steifer bleiben. In jedem Fall entstehen beim Bohren ein hässlicher Grat bei jedem Loch, der entfernt werden muss. Denkt daran: Das ist Teil einer Maske und wird über die Augen getragen, Ihr wollt AUF KEINEN FALL später Metallspäne im Auge haben. Seit sorgfältig!

Egal ob man aufbohren muss oder nicht, das ganze muss mit Sandpapier bearbeitet werden, weil wir das Blech schwarz anmalen müssen.

Wrench Cosplay Visor drilled

Sieht nicht schlecht aus, oder? Ich habe einfach schwarze Acrylfarbe aus dem Baumarkt aufgepinselt, aber anmalen ist nicht wirklich meine Stärke. Die Profis unter euch erreichen mit Sprühfarbe, Airbrush oder irgendwas, an das ich nicht mal gedacht habe, vielleicht bessere Ergebnisse. Ich habe mit dem Gedanken gespielt das Blech von nem Kumpel eloxieren zu lassen, aber dafür war die Zeit zu knapp und ich hatte Bedenken, dass der Prozess die feinen Strukturen kaputt machen könnte.

Wrench Cosplay goggles painted

Elektronik:
Enter the (LED) MATRIX
Nach einigen Googlesuchen erscheint die LED-Matrix KWM-20882XWB-Y als der beste Kandidat und hat die höchste verfügbare Auflösung, bei der ein 8×8 Pixel-Array in ein winziges 2 x 2 cm Quadrat gequetscht wurden. Außerdem sind es weiße LEDs! Es ist gar nicht so einfach weiße LED-Matrizen zu finden…. Nachdem ich einige maßstabsgetreue Quadrate aus Pappe ausgeschnitten und rumprobiert habe, erschienen 4 Matrizen pro Auge als die Menge, die in die Maske passen und genug Auflösung bieten. Das wäre ganze 16 x 16 Pixel pro Auge! Die meisten LED-Brillen haben nur 8 x 8 Pixel.

Wrench Cosplay KWM-20882XWB-Y LED Matrix

Zum Glück gibt es diese LEDs als Module von Adafruit, inklusive eines Controllers (HT16K33). Damit kann man bis zu 2 Matrizen ansteuern und die Strombegrenzung und das Multiplexing wird auch automatisch übernommen. Das nimmt uns eine Menge Arbeit bei der Steuerung dieser Unmengen an LEDs ab. Das ist nicht einfach nur Faulheit, sondern macht die Lösung deutlich robuster und reduziert die Möglichkeiten für Fehler. Da dieser Guide für Laien gedacht ist, werde ich mich mit Details zu der Elektronik zurückhalten aber es sollten immer noch genug Infos da sein für einen Nachbau. Ein detaillierter Artikel über die Elektronik und die Software folgt, falls das Interesse hoch ist.

Wrench Cosplay Adafruit 8×16 LED Matrix FeatherWing

Für unsere Zwecke sind die Module etwas zu breit und lassen aneinandergelegt eine viel zu breite Spalte. Wie man an den Bildern bereits abschätzen kann, habe ich das ganze gelöst, in dem ich das überstehende Material weg gefeilt habe. Die Meisten Lötpunkte an beiden Seiten sind sowieso nicht angeschlossen und sind ohne Funktion.

Wrench Cosplay two Adafruit 8×16 LED Matrix FeatherWing gap

Also habe ich die Kanten der Platinen abgefeilt, bis nichts mehr über die LEDs hervorsteht und alles bündig ist.

Wrench Cosplay Adafruit 8×16 LED Matrix FeatherWing filing

Oho! Keine Lücke mehr!

Wrench Cosplay Adafruit 8×16 LED Matrix FeatherWing no gap

Wie bereits gesagt sind die meisten Pins an den Modulen ohne Funktion und man kann sie gefahrlos zusammenlöten damit die Boards stabiler werden. Diese ‚Doppelmodule‘ müssen noch verkabelt werden, damit sie richtig funktionieren. Dabei sind die Verbindungen so einzulöten, wie auf dem Foto gezeigt. Die oberen 2 Verbindungen müssen unbedingt so gelötet werden wie gezeigt, am unteren Ende der beiden Widerstände (das sind die schwarzen Kästchen, auf denen 1002 steht). Die Verkabelung oben ist für die I2C Leitungen, damit werden die Befehle an die Boards gesendet, und die unteren sind die Spannungsversorgung. Rot sind 5V, Grün ist Masse (GND), Beige ist SDA und Türkis ist SCL. Ihr müsst nicht verstehen, was die letzteren beiden Dinge bedeuten, ihr müsst aber für später wissen, welches Kabel welches ist, wenn es an das Anschließen an den Arduino geht.

Randnotiz: Ich habe die Displays an 5V angeschlossen, obwohl die Module dafür ausgelegt sind um mit den 3,3 V des Feather Boards zu arbeiten. Soweit ich das sehe, sind die Controller-Chips so oder so für 5V ausgelegt und scheinen die Strombegrenzung der LEDs automatisch zu übernehmen. Ich kann allerdings im Datenblatt nichts genaueres über die Strombegrenzung lesen, aber es funktioniert tadellos also Frage ich einfach nicht weiter.

Wrench Cosplay two Adafruit 8×16 LED Matrix FeatherWing solderd together solder markings corrected

Das Ergebnis sollte ungefähr so aussehen wie hier, abzüglich des Alustreifens. Der kommt später. Man muss auch beide ‚Augen‘ miteinander verbinden. Einfach die jeweiligen Leitungen miteinander verbinden, SCL an SCL, SDA an SDA, 5V an 5V und so weiter und alles funktioniert. Man könnte alles schon an einen Arduino anschließen und damit rumspielen (öhm…ich meinte natürlich testen…).

Wrench Cosplay two Adafruit 8×16 LED Matrix FeatherWing I2C soldered

Durch Zufall überlappen sich die Löcher der ‚Doppelmodule‘ perfekt mit dem Lochblech. Daher habe ich mit einem Nibbler (einer speziellen Blechschere) einen Streifen aus dem Lochblech ausgeschnitten. Manchmal ist der wichtigste Teil eines Projektes, ein bisschen Glück zu haben. Der Streifen wurde dann in Form gebogen und die Module angeschraubt, mit M2 Schrauben, die auf Länge gesägt und gefeilt wurden. Schaut schon viel mehr nach Gläsern aus!

Ich habe einen Arduino Nano verwendet um beide Displays anzusteuern. Man kann natürlich auch einen Arduino Pro Mini oder etwas ähnliches nehmen und es wäre wahrscheinlich auch viel kleiner aber ich wollte, dass das ganze auch unterwegs umprogrammiert werden kann, durch einen Laien. Falls etwas schief geht, kann jemand einfach die Brille in einen Computer einstöpseln und ich kann dann aus der Ferne die Firmware ändern oder neu aufspielen. Mit dem Pro Mini bräuchte man ein gesondertes Programmiergerät und ich müsste einem Laien, wahrscheinlich per Telefon, erklären wie man alles anschließt, vorausgesetzt das Anbringen des Programmiergerätes ist am endgültigen Kostüm noch möglich. Wahrscheinlich passiert das ganze auch noch in einer Situation, in der das ganze in den nächsten 5 Minuten funktionieren muss. Warum also ein Risiko eingehen?

Jedenfalls habe ich den Arduino an das Display angeschlossen. Masse wurde an Masse, 5V an Vin angeschlossen und natürlich SDA an A4 und SCL an A5. Hinweis: Vin ist nur deswegen 5V, weil eine 5V Spannungsversorgung benutzt wird. Wir umgehen so den Spannungsregler des Arduinos und entlasten ihn. Die Pinbelegung ist nur für den Arduino Nano gültig, solltet ihr ein anderes Board verwenden, dann müsst ihr euch die jeweilige Pinbelegung anschauen. Ich habe von dem ganzen kein Foto mehr, aber auf diesem Bild vom Systemcheck kann man in etwa sehen, wie das ganze aussah. In diesem Zustand habe ich auch die Software enwickelt.

Wrench Cosplay System test

Nachdem ich gecheckt habe, dass alles funktioniert, habe ich das Display in der Mitte und an den Rändern mit Heißkleber an die Brille geklebt. Es sitzt eigentlich schon sehr eng, daher wollte ich nicht alles mit jeder Menge Heißkleber versauen. Möglicherweise muss alles später nochmal herausgenommen werden und eine Menge Heißkleber wäre da nur hinderlich.

Wrench Cosplay hot glued

Die Bluetooth-Module
Das Anschließen des HC-05 an das HC-06-Modul ist ein wenig komplexer, wenn man noch nie mit einem Arduino gearbeitet hat und bisher habe ich keinen anfängerfreundlichen Guide dafür schreiben können. Bitte schaut hier für mehr Details: https://www.martyncurrey.com/connecting-2-arduinos-by-bluetooth-using-a-hc-05-and-a-hc-06-pair-bind-and-link/

Ich werde diesen Beitrag mit zusätzlichen Informationen aktualisieren, sobald ich dazu komme.

Die Fernbedienung
Wrench Cosplay remote test
As you can see, the buttons are different sizes, because they come from different batches/manufacturers. The technical reason for this is, that I am a moron and I suck at keeping inventory.

Die LED-Gläser werden über Bluetooth ferngesteuert. Man könnte auch handelsübliche Tastenfelder verwenden, aber es gibt keine, die mehr als 16 Tasten haben (ohne dabei deutlich mehr als 16 Tasten zu haben) und wir wollen(?) alle 17 Emotes des offziellen Cosplay Guides realisieren. Daher habe ich meine eigene Gelötet, die im Nachhinein noch kleiner war. Ursprünglich sollte die Fernbedienung in dem Stachelarmband untergebracht werden, aber ich habe schnell gesehen, dass alles zu groß wird und langsam anfing so auszusehen:

ZYPAD wrist wearable computer from Arcom Control Systems
I think the wristband remote could still be done, if I could come up with a clever button scheme, in order to reduce buttons and save space.

Also, eine einfach Fernbedienung. Ich habe kleine Taster in einem Gitter auf einer Lochrasterplatine angeordnet, mit 4 Reihen und 5 Zeilen, die letzte Zeile hat nur einen einzigen Knopf. Leider habe ich kein klareres Bild von der Schaltung, ich stelle hier später eins rein, wenn ich die Zeit finde.

Wrench Cosplay Keypad matrix

Die 5 Zeilen sind an die Pins 2,3,4,5 und 6 eines anderen Arduino Nanos angeschlossen und die Reichen and 7,8,9 und 10. Der Knopf mit der Nummer ‚1‘ sollte an die Zeile 2 und die Reihe 10 angeschlossen werden. Falls es einem egal ist, welcher Button welches Emote auslöst, dann spielt das aber keine Rolle. Schließlich wird das HC-05 Modul verwendet um die Fernbedienung an die Brille anzuschließen. Einfach TX and Pin 11 und RX an Pin 12 anschließen und alles ist bereit. Ich habe alle Teile der Fernbedienung auf Lochraster gelötet und einen USB-Stecker angebracht, damit die Fernbedienung durch eine Powerbank mit Strom versorgt werden kann. Ich habe eine weitere Anker Astro E1 5200mAh Powerbank benutzt, was totaler Overkill ist, aber so gibt es eine Ersatzbatterie für die Brille. Die Powerbank habe ich mit doppelseitigen Klettverschlüssen an die Fernbedienung angebracht.

The 5 row are connected to pin 2,3,4,5 and 6 of another Arduino Nano and the columns to 7,8,9 and 10. The button number ‚1‘ should be connected to row 2 and column 10. If you don’t care which button is which, then this doesn’t matter. Finally, the HC-05 Serial to Bluetooth module is used to connect to the goggles. Just wire TX to pin 11 and RX to Pin 12 and you are good to go. I soldered everything onto the perf board and gave it a USB plug, so that the remote could be powered by a powerbank. I used another Anker Astro E1 5200mAh, which is totally overpowered, but this way there is an emergency spare for the goggles. The powerbank is attached to the remote with a strip of double sided velcro.

Software:
Ihr könnt die Software für die Brille und die Fernbedienung hier finden:

https://github.com/madgyver/Wrench-Cosplay-Remote
https://github.com/madgyver/Wrench-Cosplay-Goggles
Wenn ihr schon einmal in C oder C++ programmier habt, werdet ihr schnell sehen, dass ich nur einige Beispielprojekte modifiziert habe und dass der Code ziemlich trivial ist. Ich habe mich dazu entschieden einfachen Code zu schreiben, der leicht zu lesen ist, statt einer eleganten Lösung, die nur von Programmieren verändert werden kann.

Das wars im Grunde auch schon. Ich hoffe, dass der Guide euch gefallen hat und dass Ihr die Möglichkeit habt, das Cosplay am Ubisoft-Stand auf der Gamescom 2016 life zu sehen. Falls noch Fragen offen sind, einfach die Kommentarfunktion nutzen oder mir unter info@enjinia.de eine Mail schreiben.

Leave a comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.