Aus DEFCON wird Busy Lamp

Der Anfang der Busy Lamp

Aus dem  Hundeblinklicht ist DEFCON entstanden. Nun wird aus DEFCON die Busy Lamp. Eigentlich ist es nur eine simple Umbenennung. Der Begriff DEFCON war für die Signallampe dann doch nicht ganz korrekt.

Einige Iterationen der Busy Lamp

Das Hundeblinklicht

Ich hatte zuerst mit ein paar LEDs und einem kleinen Arduino Klon rumgespielt. Das war im Herbst 2014. Die Tage wurden kürzer und unsere Hunde waren beim Spazieren gehen nicht mehr gut zu sehen. Aus der Spielerei ist dann ein praktischer Nutzen entstanden. Mit den LEDs, die man am Hundegeschirr befestigt hat, waren die Hunde dann wieder im Dunkeln sichtbar. Ein kleiner Kniff hat geholfen, dass die LEDs nicht im langen Fell verschwunden sind, wie sonst alle Hundelichter, die wir vorher gekauft hatten. Das Gerät hat einfach ein paar länge Arme auf zwei Seiten bekommen. Auf diese Weise ragt mindestens einer der Arme aus dem Fell hervor und ist somit sichtbar. Die Versionen sind dann immer kleiner und stabiler geworden. Selbst der Lithium-Akku ist nun kleiner als die Fingerspitze des kleinen Fingers. Trotzdem kann die Lampe ca. 48 Stunden lang am Stück betrieben werden.

 

Im Frühling 2015 war dann Version 6 fertig, die immer noch in Gebrauch ist.

DEFCON

Im Spätsommer 2015 fing das DEFCON Projekt an. Daraus ist dann ein Signallicht entstanden, mit dem man anderen mitteilen konnte, ob man gerade gestört werden  darf oder nicht. Den Begriff „Busy Lamp“ kannte ich da gar nicht, bzw. ich wusste nicht, dass es sowas in der Art schon gibt. Die letzte Version der DEFCON Lampe (erstes Bild, zweite von links), hatte dann einen ATTiny 85 statt eines Arduino Klones.

Das hatte Ersten den Vorteil, dass es viel günstiger wurde und zweitens wurde es auch einfacher aufzubauen. Der ATTiny läuft direkt mit der Spannung von 3.7 V aus dem Lithiumakku. Mit dem Arduino, der mindestens 5 V benötigt, musste ich die Akku-Spannung erst von 3.7 V auf 5 V bringen.

Der Nachteil war, dass die Programmierung etwas aufwändiger wurde. Aber das hatte ich als Herausforderung gesehen und so viele Funktionen wie möglich auf den kleinen Chip mit den 8 Beinchen gepackt. Sechs Taster und fünf LEDs auf nur 8 Anschlüsse, wovon zwei schon für die Stromversorgung sind und einer für ein Resest, bleiben Effektiv nur 5 Pins zum belegen übrig.

Die Busy Lamp

Erste in diesem Herbst (2017) bin ich dazu gekommen, die Idee der DEFCON Lampe weiterzuentwickeln. Das erste Gehäuse habe ich von der letzten Version der DEFCON Lampe (erstes Bild, zweite von Links) abgeleitet. Herausgekommen ist dann ein mehrteiliges Gehäuse (erstes Bild, Mitte). Sinn und Zweck der Aufteilung war, dass bei einem Fehldruck nicht so viel weggeschmissen werden muss und dass man den oberen Teil mit den LEDs abtrennen kann und in einiger Entfernung zu den Tastern aufstellen kann. LED Teil und Taster-Teil werden durch ein paar dünne Leitungen verbunden. Sehr schnell folgte dann eine etwas fortgeschrittenere Version.

Gedruckte Teile der Busy Lamp

Das wurde dann aber dann irgendwie zu viele Einzelteile, die zwar schon zusammengepasst haben, aber dann im Zusammenbau zu viel Arbeit machten.

Zusammengebaute Busy Lamp

Also noch einmal ans Zeichenbrett und alles einfacher machen. Herausgekommen ist dann ein Gehäuse, was dann nur noch aus 4 gedruckten Teilen besteht. Hinzu kommt, dass auch nur noch zwei Taster, statt der zuvor genutzten 4 Taster benutzt werden. Das Gehäuse ist nun viel kleiner, was die Druckzeit und die Materialkosten enorm senkt.

Aktuelle Version der Busy Lamp – im DnD Modus

Das Teil mit den LEDs und das Teil mit den beiden Tastern sind über Magnete miteinander verbunden. Über das Kabel, was vorne rausguckt, gehen dann die Signale für die LEDs. Wenn man die beiden Teile trennt, kann man die LEDs an einer anderen magnetischen Fläche aufstellen. Beispielsweise sind die Monitore bei uns in der Firma am Rand magnetisch, so dass die LEDs oben am Monitor mit den Magneten halten. So sind sie dann auch für alle anderen gut sichtbar.

Das Gehirn

Als Gehirn habe ich einen Teensy LC benutzt. Man kann auch andere noch günstigere Boards nutzen. Ich fand nur gut, dass ich alle 8 LEDs, die in der Busy Lamp verbaut sind, mit einem eigenen PWM Kanal ansteuern kann. Insgesamt stehen hier 10 PWM Kanäle zur Verfügung. Mehr als genug also. Mit seinen 48 MHz Taktrate ist der kleine Teensy LC auch sehr schnell und trotzdem noch sparsam im Stromverbrauch.

In einer ganz frühen Version hatte ich noch einen Adafruit Feather M0 mit Radio Package benutzt. Da sollten die LEDs und die Taster ohne Kabel per Funk miteinander verbunden sein. Hat auch geklappt. War aber nur zu teuer, auch wenn diese Boards echt vollgepackt sind mit Features. Z.B. integriertes Lithium-Ladegerät.

Konnektivität

Ja, schönes Wort. Die Busy Lamp lässt sich auch mit dem Computer verbinden. Über ein kleines selbst geschriebenes Programm kann der Status der Busy Lamp dann über Computer verändert werden. Zusätzlich kann man meine Busy Lamp auch mit Skype verbinden. Die Busy Lamp zeigt dann den Status an, den man auch in Skype hat. In die andere Richtung geht es auch. Ändert man den Status der Lampe per Tastendruck, ändert sich auch entsprechende der Status in Skype.

Fazit

Mittlerweile haben alle Kollegen in meiner Abteilung in der Firma diese Busy Lamp. Jetzt läuft die Beta im Feld. Wir haben uns darauf geeinigt, was die Farben der Busy Lamp bedeuten sollen. Ich bin gespannt, ob es läuft wie erwartet. Halten sich die Leute an die Farben? Wird die Busy Lamp überhaupt genutzt? Treten Bugs in der Software auf? Wie lange hält die Hardware?

NodeMcu Lua ESP8266 ESP-12F WIFI

Arduino Clone

Bei Banggood gibt es gerade günstig einen Arduino Nano Clone mit WiFi Modul. Regulär weniger als 8 US Dollar. Vergünstigt jetzt gerade 3,99 US$ (bis 15. November 2017).

Arduino Nano Clone - Entwicklungsboard
NodeMcu Lua ESP8266 ESP-12F WIFI

Funktioniert das auch? Antwort: Ja. Die Boards, die bei mir angekommen sind, funktionieren auch. Man muss nur ein bisschen was vorbereiten, damit man mit den Boards auch arbeiten kann.

Treiber

Der günstige Preis kommt nicht daher, dass die Anbieter so menschenfreundlich sind. Es werden günstige und gut verfügbare Komponenten benutzt. Unter anderem ist für die serielle Kommunikation ein CH340 verbaut. Arduino nutzt meistens Serielle to TTL  Chips von FTDI. Vorteil, es wird besser bereits ab Window 7 unterstützt. Bei Windows 10 muss man für den CH340 keine Treiber installieren. Für ältere Windows Versionen schon. Den Treiber gibt es hier: http://en.doit.am/CH341SER.zip

Arduino IDE

Die Arduino IDE (1.8)  muss auch noch vorbereitet werden. Das ist bei allen Bords so, die nicht direkt von Arduino sind. Starte die Arduino IDE und unter Datei/Voreinstellungen gibt es ein Feld „Zusätzliche Boardverwalter-URLs:“. Dort muss folgedes eingetragen werden

http://arduino.esp8266.com/stable/package_esp8266com_index.json

Sollte bereits ein Link in dem Feld stehen, kann man weitere Links durch ein Komma getrennt anfügen. Oder man klickt auf den kleinen Button rechts von dem Feld. In dem neuen Fenster kann man einzelne Links in eine separate Zeile schreiben.

Die Voreinstellungen werden nun noch mit dem OK Button geschlossen und die Arduino IDE einmal neu gestartet.

Ganz oben in der Liste unter „Werkzeuge/Board:“ gibt es den „Boardverwalter“. Dort bitte einmal drauf klicken. Es öffnet sich ein neues Fenster „Boardverwalter“. In dem Suchfeld „esp8266“ eingeben.  Es sollte dann ein Ergebnis „esp8266 by ESP8266 Community“ angezeigt werden. Dieses Paket muss einmal installiert werden.

Unter Werkzeuge/Board: gibt es nun eine Sektion mit „ESP8266 Modules“. Für mein Board musste ich hier „NodeMCU 1.0  (ESP12-E Module)“ auswählen. Jetzt nur noch den richtigen COM Port auswählen und man kann seine Programme auf das Board laden.

Sprüche lasern

Heute habe ich den Tooli mal wieder in Betrieb gehabt.

Ich fahre täglich fast 200 km. Einen Großteil davon auf der Autobahn. Dabei gehen einen die Drängler und Raser extrem auf den Senkel. Wenn man selber so zwischen 100 und 120 km/h fährt, kommt man auf meinem Autobahnstück noch am besten voran. Fährt man schneller, wird man immer wieder von LKWs oder anderen langsameren Teilnehmern ausgebremst. Fährt man langsamer, hat man die LKWs im Nacken. Also fahre ich irgendwas um die 110 km/h. Dabei werde ich dann unweigerlich zum Hinderniss für die schnell fahrende Fraktion. Ich achte schon darauf, dass kein schnelles Auto hinter mir ist, wenn ich einen LWK überhole. Dennoch kommt es immer wieder vor, dass man einen nervösen Verkehrsteilnehmer hinter sich hin und hertänzeln hat. Ist dann halt so…

Aber auch wenn man auf der linken Spur fährt, machen sich einige scheinbar einen Spaß daraus, so knapp wie möglich vorbei zu fahren und/oder so knapp wie möglich vor einen einzuscheren. LEUTE, wozu? Ich fahren ein altes Auto. Wenn mir da jemand den Außenspiegel abfährt, ist das zwar ärgerlich, aber dann hole ich mir vom Schrottplatz halt einen neuen. Der andere Verkehrsteilnehmer hat dann vermutich den größeren Schaden. Nur weil er, ja meistens sind es die Männer, zeigen wollte, wie toll und schnell er ist. 210 km/h schaffe ich mit meinem Auto auch. Aber für das tägliche pendeln ist mir das einfach zu stressig und auch viel zu teuer. Bei 110 km/h liegt der Verbrauch bei 4,5 Litern/100km. Bei 200 km/h sind es schon über 13 Liter/100km. Fast das Vierfache an Spritkosten. Nur damit ich am Ende 15 Minuten eher zu hause bin.

Nunja, ich habe mir nun einen kleinen Spruch mit dem Tooli aus einer weißen Folie herausgelasert und auf die Heckklappe geklebt. Das Schiefe ist so gewollt! 😉 Nächstes Mal muss ich es mit einer Transferfolie ausprobieren.

Aus weißer Klebefolie herausgelaserte Buchstaben.
Aus weißer Klebefolie herausgelaserte Buchstaben.

Tooli ist da

Heute ist ein mittelgroßes Paket bei mir angekommen. Ein von mir unterstütztes Kickstarterprojekt hat geliefert. Tooli. Das Paket hat eine lange Reise hinter sich. Es ist von Australien bis Deutschland gekommen. Von Brisbane – Australien bis Leipzig – Deutschland hat es nicht mal 1,5 Tage gedauert. Dann ist es erst mal 8 Tage beim Zoll hängen geblieben.

Sendungsverfolgung
Sendungsverfolgung

Erst wollte DHL wissen, ob sie die Zollabfertigung für mich machen dürfen. Die Dame am Telefon sagte mir, dass man dies bei Privatpersonen normalerweise nicht machen würde, aber hier mache man es. Der Warenwert wäre so hoch. Naja, 2100 australische Dollar. Den Auftrag habe ich dann erteilt. Eine kurze Email hat da schon gereicht. Am nächsten Tag habe ich noch mal bei DHL angerufen und gefragt, welche Kosten dann auf mich zukommen. Zoll und Gebühren? Eine weitere Dame teilte mir freudig mit, dass bei ihr überall eine Null steht. Merkwürdig, warum fragt DHL dann, ob die meine Sendung abfertigen dürfen. Scheint ja schon alles bezahlt zu sein. Nun blieb das Paket weitere zwei Tage liegen, da kam dann eine Email mit der Frage, ob mein Paket eine Privatsendung wäre. JA ist es. Weiterwarten. Zwei Tage später hat der Zoll das Paket dann scheinbar abgefertigt. Ein Freitag. In den Versand ist es dann nicht mehr gegangen. Montag ganz früh war das Paket dann in Bremen. Am Dienstag früh wurde es dann per Kurier ausgeliefert.

Rechnung grob 280 Euro. Ein kleiner Unterschied zu den angekündigten 0 Euro. Wider besseren Wissens, denn mit 300 Euro hatte ich eigentlich gerechnet, hatte ich mich nicht auf diese bar zu bezahlende Rechnung eingestellt. Das Geld konnte zum Glück gerade noch so zusammengekratzt werden.

 

geöffnetes Paket
geöffnetes Paket
Grundgerüst
Grundgerüst

 

Kleinteile 3
Kleinteile 1 mit Laserschutzbrille
Kleinteile 2
Kleinteile 2 mit dem Lasermodul
Kleinteile 1
Kleinteile 3 mit Befestigungsmaterial

Autodesk’s Project Escher on Vimeo

Ein FDM Drucker mit (wirklich) mehreren Druckköpfen. Wichtig ist die Software.

Ohne die passende Software könnte jeder Druckkopf einfach nur die anderen spiegeln. Das ist schon seit längerem möglich. Das Autodesk Projekt Escher hingegen teilt ein Objekt so auf, dass es ideal zwischen den Druckköpfen aufgeteilt ist.

Noch mehr kleine Symbole für die Wand

Ich finde, dass die meisten White Boards ein wenig mehr Pepp brauchen. So kleine oder auch große gedruckte Symbole machen da schon viel her.

 

Gedruckt mit einem Objet 500 Connex 3

Das „Geldsymbol“ hatte ich mit einem Objet 500 Connex 3 gedruckt. Ist leider nicht so ganz gut geworden. Wir haben zu dem Zeitpunkt gerade mit der Software rumgespielt.

 

Achtung

 

Wenn es mal schnell gehen soll…

Die beiden roten Zeichen sind recht klein. Nur ca 15 mm breit. Dafür lassen sie sich aber sehr schnell drucken und sind trotzdem gut auf dem Whiteboard sichtbar. Zettel können sie auch noch halten. Zweck erfüllt 🙂

Das elektronische Schaf

Lange ist es her, seit ich mich um das elektronische Schaf gekümmert habe. Mit dem Unterboden war ich nicht wirklich zufrieden. Nun habe ich mich endlich mal an einen neuen Versuch gewagt.

links: neue Version, rechts: alte Version

 

Die Motoren sind nun um 5° nach unten geneigt. Das ergibt ein bisschen mehr Bodenfreiheit und die Drehungen sollten ein bisschen leichter gehen. Eine 10° Neigung müsste ich auch noch mal ausprobieren.

Um 5° geniegte Motoren auf allen Achsen

Da der Raum für den Motor zu eng war, ist beim Eindrücken des Motors das Gehäuse ein bisschen aufgeplatz (links zu sehen). Die Layerhafung ist bei diesem Versuch auch nicht so ganz gut. Gedruckt habe ich mit ABS.

Dafür war die Haftung am Druckbett zu gut.

Am Druckbett haftendes ABS

Obwohl die Maße 170 mm x 128 mm betragen hat sich keine einzige Ecke des  Modells vom Druckbett abgehoben. Leider haftete das Modell auch nach dem Abkühlen noch so stark am Druckbett, dass ich es nur mit Mühe runterbrechen konnte. Vor dem Drucken kippe ich ein wenig Aceton (Achtung gut lüften!) auf das Druckbett und schwenke ein paar mal etwas ABS darin herum. Das ABS löst sich im Aceton etwas auf und klebt dann nach dem Trocknen am Druckbett fest. Die Schicht ist dabei kaum zu sehen, aber es reicht vollkommen aus, um als Haftgrund zu dienen.

Ich werde nachher noch mal einen Druck starten. Mit veränderter Motoraufnahme (etwas weiter), dickeren Wänden (2mm auf 4 mm) und leicht erhöhter Drucktemperatur (234°C auf 237°C). Druckzeit ca. 6 Stunden.

DEFCON Ampel, die Zweite

Um den Kollegen anzuzeigen, dass man gerade nicht unbedingt gestört werden möchte, habe ich eine kleine Ampel in Anlehnung an die DEFCON Einteilung (Grün und Blau sind getauscht) gebastelt.

Zuerst hatte ich als Gehirn der Schaltung einen Arduino Mini Pro verwendet. Da ich nur die 5V Version besitze und das Ganze mit einem kleinen Lithium-Akku betreiben wollte, brauchte ich auch noch einen Step-Up Wandler auf 5V. Die Billigdinger, die ich hier rumliegen habe, taugen aber leider nicht viel. Sie machen zwar, was sie sollen und es funktioniert auch, aber sie geben einen fiesen Pfeifton von sich. So kann die Ampel dann nicht auf dem Schreibtisch stehen.

Also habe ich mir eine andere Möglichkeit überlegt. Mein Hundeblinklicht habe ich auch von Arduino Mini Pro auf ATTiny85 gewechselt. So wollte ich es nun auch machen. Hab zwar nur noch einen ATTiny 45 hier liegen, der ist aber auch nicht viel anders als der 85er. Der ATTiny45 hat insgesamt 8 Pins. Zwei dienen der Spannungsversorgung und ein weiterer kann nicht so ohne weiteres als Aus- oder Eingang verwendet werden. Der RESET Pin. Den brauche ich, so wie er ist, zum Programmieren des ATTiny. Bleiben also noch 8 minus 3 also 5 Pins über. 3 LEDs und zwei Taster wären dann auf traditionelle Weise möglich. Das war mir bedeutend zu wenig. Immerhin hatte ich bereits 5 LEDs und 6 Taster in der ersten Version eingebaut.

Der ATTiny 45 sitzt unter den Tastern; vorne links zu sehen.

 

Über Spannungsteiler kann man unterschiedliche Spannungen am Analogeingang anlegen und im Code auswerten. Das erfordert zwar ein bisschen mehr externe Beschaltung, dafür ist die Anzahl der Taster dann nicht mehr begrenzt (praktisch wird es bei > 20 Tastern schon schwierig). Das Ganze erfordert dann auch nur noch einen Pin.

Stümperhaft bemalt, aber für einen Prototypen reicht es

Dann sind nun noch 4 Pins frei. 3 LEDs mit PWM sind mit Bordmitteln machbar oder ich verzichte auf PWM und habe dann 4 LEDs. Dennoch habe ich erst mal mit 3 LEDs und PWM angefangen. So hatten wenigstens alle 6 Taster eine Funktion.

Danach ist mir dann eingefallen, dass man LEDs antiparallel schalten kann. Einfach die Polarität tauschen und schon leuchtet die eine oder die andere LED. So wie bei Charlieplexing. In dem Fall musste ich mich dann aber vom integrierten PWM verabschieden. Mit Charlieplexing und PWM wären nur 4 LEDs möglich gewesen (beim ATTiny 45).

Schaltplan der Ampel

Statt die LED nun sanft ein und ausfaden zu lassen, blinken sie nun einfach. Mit zwei Tastern kann man die Blinkfrequenz verlangsamen oder beschleunigen. Mit übrigen zwei Tastern kann man nun das Tastverhältnis (Duty Cycle) zwischen An und Aus beeinflussen. Tja und wenn man nun die Blinkfrequenz ganz hoch setzt, hat man ein Software PWM 🙂 Ich könnte jetzt wieder das sanfte ein und ausfaden einbauen. Ich werd’s aber wohl lassen. Das Blinken und Blitzen hat auch was.

Hier der Code, den ich mit der Arduino IDE geschrieben habe. Wenn ich die Funktion analogRead(x) nun noch ersetzen kann, ist der Code auch mit anderen IDEs kompelierbar.

 

 

ArcadePi nächster Teil

Vor langer Zeit  hatte ich mal damit angefangen, eine tragbare Spieleconsole mit einem RaspberryPi zu bauen. So eine Art PiGRRL – Raspberry Pi Gameboy. Mein zweiter Versuch war dann schon etwas aufwändiger. Das ganze Gehäuse habe ich selber entworfen und mehrere Versionen auf meinem 3D Drucker ausgedruckt.

Das Display ist ein 4,3 Zoll großer TFT Monitor, den man für Rückfahrtkameras nutzt. Im Gegensatz zu den Displays, die speziell für den RaspberryPi verkauft werden, ist so ein Monitor bei Amazon schon für um die 20 Euro zu haben.

Nachdem dann der ganze ArcadePi zusammengebaut war und funktionierte, schlief das Projekt wieder ein. Einige Dinge haben mit nicht gefallen und bei dem jetzigen Neuanfang habe ich die Chance, diese Dinge zu ändern.

Bei dem neuen ArcadePi wollte ich zuerst eines dieser RaspberryPi Displays nutzen, die man über die GPIO Pins anschließt. Dies Vorteile als auch neben dem Preis einige andere Nachteile:.

Vorteile

  • Digitale Übertagung
    • Die Daten werden nicht Analog, sondern mit digitalen Signalen auf das Display geschoben
    • Dadurch bleibt die Grafik frischer und wirkt nicht so verwaschen.
  • Es ist (gefühlt) stromsparender
    • Einen genauen Beleg habe ich nicht. Es liegt sicherlich daran, dass ich einen 4,3 Zoll Monitor genutzt habe, der offensichtlicher Weise mehr verbraucht als ein 3,5 Zoll Monitor.

Nachteile

  1. Das Display muss erst konfiguriert werden, damit es überhaupt etwas anzeigt.
    • Wenn es dann erst mal läuft, ist das auch nicht weiter schlimm
  2. Das Display ist langsam
    • FPS
    • Video Lag

Am störensten ist das Video Lag. Dieser liegt bei 20 bis 30 ms. Klingt erst mal nicht viel. Aber wenn man dann mal Super Mario Brothers spielt, ist das schon sehr deutlich zu spüren. Durch diesen Lag springt man immer zu spät und stirbt ständig. Ich bin zwar kein guter Mario Spieler, aber zumindest im ersten Level verliere ich kein Leben, wenn ich über einen VGA oder HDMI Monitor spiele. Bei 30 Milli-Sekunden Lag ist das schon frustrierend. Man könnte sich an den Lag anpassen, aber will man das wirklich?

Ich habe hier noch einen weiteren kleinen TFT Monitor im 3,5 Zoll rumliegen (auch ca 20 Euro bei Amazon). Diesen will ich diesmal verwenden. Der 4,3 Zoll Monitor verbraucht mir zu viel Strom und 3,5 Zoll sind ausreichend groß.

Bald soll es weitergehen.