2016_blog_lichter_DSC0589

Bei uns gehen die Lichter an!

 

Ordnung ist gut für den Überblick, Chaos für Überraschungen.  – H. J. Quadbeck

Wenn wir aus diesem Zitat die Worte ‚Ordnung‘, ‚Überblick‘ und ‚Überraschung‘ verwenden, erhalten wir eine gut definierte Beschreibung unserer jetzigen Personalwand. Ende April 2015 haben wir die Idee dahingehend das erste Mal ausgesprochen. Der Gedanke dahinter war, das stark wachsende Team übersichtlich darzustellen.

Es entstand der Plan für die ‚Sedcards‘: eine gut einsehbare Ansicht der einzelnen Mitarbeiter mit Bild, Geburtsdatum, Position und persönlicher Note in Form eines knappen Zitates. Die erste Version bestand aus zwei Zeilen Klettband und Karten an unserer Plan-Wand. Oben hieß anwesend, unten abwesend.

 

Die Umgestaltung

Version 2.0: das Layout für die Tafel war schnell entworfen und in Zusammenarbeit mit BOOB-Werbung umgesetzt und montiert. Wichtig daran war, dass wie zuvor die Karten den Anwesenheitsstatus darstellen sollten. Ermöglicht wurde das durch Magnete in der Tafel und den einzelnen Karten. Diese rasten jetzt an zwei Positionen ein. Erweitert wurde die optische Darstellung durch die farbliche Unterstreichung bei der Präsenz im Büro.

Die Platzierung gegenüber der Eingangstür ermöglicht es jedem Mitarbeiter, seine Karte gleich beim Einfinden bzw. Feierabend zu verschieben.

Personalwand_Version2

Version 2.0: die nagelneue Personalwand in ihrer alten Ausrichtung.

 


 

Es werde Licht …

Es geht noch besser! Schon während die Tafel in Arbeit war, kamen wir auf die Idee, die jeweiligen Zustände der Karten durch Licht hervorzuheben.
Auf die Wand passen 20 in Schilder eingefasste Karten. Heißt, wir brauchten 20 RGB-LED’s plus Controller.

Personalwand_Lichtidee

Der erste Austausch für die Belichtung der Schilder

Geplant war, alle unabhängig voneinander zu schalten. Daher fiel die Wahl auf 5mm LED’s mit bereits integriertem WS2812 Controller, weil bei diesen durch die geringe Zahl von drei Adern (+5V, GND, DATA) die Verkabelung recht simpel ist. Für die Steuerung des Lichtes war ein Arduino-Controller vorgesehen.

  1. Haben wir damit die beste Erfahrung gemacht und
  2. gibt es dafür eine ausgereifte Library (http://fastled.io/) für exakt unser Vorhaben.

Nun die Frage: Wie können wir mit einem Sensor erkennen, ob sich ein Schild an der oberen oder unteren Position befindet? Hier kommen die Magnete ins Spiel. In den Schildern ist an allen vier Ecken ein Magnet eingelassen. Diese suchen auf der unmagnetischen Tafel ihr Gegenstück. Auch dort sind pro Schild acht Magnete eingelassen: vier für die obere- und vier für die untere Position. Demnach gibt es in unserer Personalwand Magnetfelder.

Magnetische_Personalwand

Schild- und Tafelmagnete funktionieren

Und diese wiederum lassen sich mit Halleffekt Sensoren messen. Fazit: Wir beschafften 20 Sensoren vom Typ SS495A. Die Sensoren geben an ihrem Ausgang durch veränderte Eingangsspannung ihren Messwert aus. Ist die Eingangsspannung am Ausgang halbiert, gibt es kein nennenswertes Magnetfeld. Erhöht sich die Spannung, nähert sich ein Magnetpol dem Sensor; verringert sich die Spannung, nähert sich der Gegenpol. Demnach ist es ein analoges Signal. 20 Sensoren und maximal 15 analoge Eingänge an einem Arduino Mega. Das passt nicht zusammen.

Zum Glück gibt es für diese Probleme bereits Lösungen wie IC, einem integrierten Schaltkreis – so auch für dieses Problem. Der 4051 ist ein 8-Kanal Analog Multiplexer. Soll heißen, von acht Eingängen kann über eine 3-bit Adresse einer auf den Ausgang durchgeschaltet werden. Wir benötigten vier davon. So konnten wir mit drei Multiplexern 24 Eingänge schaffen. Die drei Ausgänge der Multiplexer haben wir mit dem vierten Multiplexer auf einen Ausgang geschaltet. So benötigten wir lediglich sechs digitale- und einen analogen Pin am Arduino um 24 Sensoren (theoretisch bis zu 64) auszulesen.

analog_multiplex_Steckplatine

Die analoge Multiplexer Steckplatine in der Theorie …

Verkabelung

… und in der Praxis.

 


 

Ab ans Werk!

Beim ersten Testlauf klebten wir einen einzelnen Sensor an die Rückseite der Tafel und verkabelten ihn zusammen mit einer der Dioden an dem Arduino. Selbiger sollte die Daten des Sensors auslesen und über die serielle Schnittstelle zurückgeben. Sinn und Zweck dessen war es zu erkennen, ob die Variationen in den Magnetfeldern ausreichen. Die Spannungsänderung am Sensorausgang war groß genug, um beide möglichen Positionen des Schildes zu erkennen. Für Test 2 haben wir ein Programm geschrieben, welches die LED entweder auf Rot oder Grün schaltete. Auch das funktionierte tadellos.

LED_Testlauf2_gruen

Grün funktioniert!

LED_Testlauf2_rot

Rot auch.

Also konnte es los gehen. Wir bohrten für die 20 LED’s Löcher in die Tafel und klebten die Sensoren mit Heißkleber an die Rückseite. Hier der erste Rückschlag:  die Leuchtdioden waren zu hoch für die Tafel. Also versuchten wir sie abzuschleifen. Das funktionierte auch wunderbar, alles passte.  Als wir jedoch die LED’s verkabelten und anschließend testeten, mussten wir feststellen, dass nur die ersten sechs vernünftig arbeiteten.

Die DATA-Leitung der Dioden ist in Reihe geschaltet. Jede LED gibt die Daten an die Nächste weiter. Fällt eine aus, bekommen alle folgenden Leuchtdioden keine Daten mehr. Wir hatten alle LED’s, bevor wir sie verkabelten, geprüft und waren überzeugt, dass alle funktionieren. Nun schien es, als würden zunehmend mehr Dioden kaputt gehen. Immer, wenn wir eine ausgetauscht hatten, fiel die Nächste aus.

Das war der zweite Rückschlag. Wir wissen bis heute nicht, warum uns die LED’s tatsächlich im Stich ließen. Wir vermuten, es lag am Abschleifen. Nach einigen erfolglosen Versuchen entschieden wir uns letzlich, auf einen LED Lichtstreifen auszuweichen. Auch die gibt es bestückt mit WS2812 Chips. Vorteil ist hierbei:  Die SMD LED’s, die geringere Bauhöhe, eine einfachere Verkabelung durch die Lötflächen an jeder LED und der Streifen lässt sich nach jeder Diode einfach abschneiden. Die SMD LED’s funktionierten, nachdem wir sie verkabelt hatten, sofort tadellos.

Nun den Multiplexer auf eine Platine löten und die Sensoren anschließen, den Controller programmieren und zurück an die Wand mit der Tafel. Wiedererwarten gab es keinerlei Probleme, was den Multiplexer betrifft. Der funktionierte sofort reibungslos.

Anders bei den Sensoren – diese lieferten extrem differierende Werte. Der Grund waren die unterschiedlichen Abstände der Sensoren zum Magneten. Zudem schwankte die Stärke der Magneten in den Schildern leicht.
Die Software statten wir kurzum mit einem Kalibrierungsmodus aus: Startet der Controller, leuchten alle Dioden blau. Jedes Schild muss einmalig in eine andere Position bewegt werden. Dabei werden für die Magnet-Sensor Kombination die minimalen und maximalen Werte des Sensors ermittelt. Diese dienen wiederum als Referenz für das zukünftige Detektieren der Schildposition. Ist der Abstand zwischen minimal und maximal ausreichend, wird die Kalibrierung beendet und die LED des Schildes schaltet in die zur Schildposition passenden Farbe.

In der ersten Iteration schalten die LED’s auf Rot oder Grün, je nach Position des Schildes. Begleitet wird das Umschalten durch eine kleine Animation der restlichen Dioden. Den Code des Controllers gibt es hier:
https://github.com/preealpha/Personalwand/blob/master/personalwand/personalwand.ino

 


 

Schlusswort

Wir sind überrascht, wie gut alles funktioniert hat, abgesehen von der Pleite mit den 5mm LEDs; beim nächsten Mal wird die Reserve großzügiger kalkuliert. Es geht schneller etwas kaputt als gedacht. Ergebnis ist ein schönes, übersichtliches System, das uns noch viel Potential für Erweiterungen bietet.
Die nächste Idee: Mit einem Netzwerkmodul könnten wir einen Urlaubskalender abfragen und die Mitarbeiter im Urlaub besonders kennzeichnen.

Kommentare

  • Paul Felber 5.9.2016, 16:17

    Hallo,
    wurde die Verknüpfung mit dem Terminkalender schon durchgeführt? Ich habe eine ähnliche Idee die ich umsetzten möchte. Dabei geht es aber um Türschilder die darstellen sollen wo sich die Person befindet (Abwesend/Halle/Urlaube…).

    Gruß Paul Felber

  • Lars Brandstäter 24.11.2016, 17:53

    Ja, die Anbindung an unseren Firmenkalender ist erfolgt, der Arduiono wertet nun auch die via .cal URL zur Verfügung gestellten Termine aus und übersetzt diese in ein Farbsystem.
    Damit ist beim ersten Blick am Morgen sofort klar, wer im Urlaub, Krank bzw. Abwesend ist.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.