• Start-Seite 
  • Uhren

    Clocks

    • Digi-Clock
    • Große Wort-Uhr
    • Mini Wort-Uhr
    • Vertikale Wort-Uhr
    • Voltmeter-Uhr
    • Linear-Uhr
    • Digitale Sanduhr

    • Marble-Clock

  • Treppen-Fader
  • Energie-

    Verbrauch

  • Laundrino
  • LED-Cube
  • Müllduino
  • Snowduino
  • Bewegungs-

    melder

  • ioBroker-DHT22

  • ioBroker-

    Laufschrift

  • ioBroker LED-

    Thermometer

  • ioBroker-OLED

  • ioBroker

    Multi-OLEDs

  • ioBroker

    Mini-Mülltonne

  • Ball on Plate

  • .
  • Sonstige

    Basteleien

    • LED-Handlauf
    • Beleuchtete Urlaubskarte
    • Solar-Tracer
    • Mendocino Motor
    • 12V Solarlampe
Vertical Word Clock / Vertikale Wort-Uhr    12.01.2022
Vertical Word Clock / Vertikale Wort Uhr
Vertical Word Clock     Cylon-Animation


Hier geht es um die besondere Ausführung einer sog. Wort-Uhr:
Die Zeit wird mittels beleuchteter, gravierter Acrylglas-Scheiben angezeigt.

Die einzelnen Schriftzüge, bzw. Zeiten, werden vertikal untereinander dargestellt, im Gegensatz zu einer "normalen" Wort-Uhr, wo die Schriftzüge in einem Rechteck angeordnet sind (siehe z.B. meine Wort-Uhr ).

Inspiriert wurde ich von dieser Adafruit-Seite: Simple Vertical Wordclock, erstellt von Dano Wall.
Allerdings habe ich von dort nur die Grund-Idee übernommen, die technische Ausführung, den mechanischen Aufbau, sowie den Software-Code habe ich selbst erstellt.
Für den Nachbau werden ein 3D-Drucker und ein Laser-Cutter benötigt.

Zur Not tut es anstatt des Laser-Cutters auch eine Fräse , wobei ich meine Probleme damit im nächsten Abschnitt beschreibe.

Ein Rat, bzw. Warnung vorab:

Der aufwändigste Arbeitsschritt ist das Fertigen der Plexiglas-Scheibe(n).
Mit meiner (billig) CNC3018 China-Fräse habe ich es letztendlich hinbekommen, allerdings habe ich dabei mindestens 12 Stck. 0,8mm Schaftfräser abgebrochen, wahrscheinlich wegen mangelnder Praxis/Wissen bzgl. Vorschub, Drehzahl, etc.
Außerdem hat das Fräsen wegen des langsamen Vorschubes "gefühlte Ewigkeiten" gedauert, allein für die untere Plexi-Scheibe wurden ca. 6 Std. benötigt.
Die lange Fräsdauer ist ja an sich nicht schlimm, aber wegen der Kühlung/Schmierung des Fräsers, musste ich die ganze Zeit daneben sitzen und mittels Sprühflasche entspr. nachsprühen und ausgefrästes Material zyklisch entfernen.
Auf der Adafruit-Webseite wird statt eines Fräsers ein Laser-Cutter eingesetzt, damit geht es viel einfacher und schneller.

Einen einfachen Billig-Hobby-Laserkopf kann man aber nicht verwenden, da dieser transparentes! Plexiglas nicht fräsen/schneiden kann.
Es muß schon ein CO²-Laser mit entspr. Leistung sein, welcher sich für mich nur wegen gelegentlicher Plexiglas-Arbeiten nicht lohnt.

In Ermangelung eines eigenen Lasers und auch nach intensiver, aber leider erfolgloser Internet-Recherche bzgl. einem Laser-Cutter-Dienstleister, der nach exakter Vorlage arbeitet, habe ich dann doch in den sauren Apfel gebissen und die Fräse angeschmissen.

Nochmals würde ich es aber nicht machen!

Funktionsweise:

Die Uhrzeit wird mittels eines RGB LED-Stripes dargestellt, der seinerseits das Licht der einzelnen LEDs seitlich in eine Acryglasscheibe (4mm Plexiglas) strahlt.
In die Plexiglas-Scheibe sind die entspr. Schriftzüge eingefräst und durch Reflektion werden sie dann erleuchtet. Zwischen den einzelnen Schriftzügen wurden ca. 0,9 mm breite Schlitze ausgefräst/ausgeschnitten, damit das Licht einer Zeile nicht in die darüber, bzw. darunter liegenden Zeilen überstrahlt.

Softwaremäßig wurde die Uhr so programmiert, daß sie via WLAN die Uhrzeit von einem NTP-Server aus dem Internet holt und die Zeiten dann in 5-Minuten Schritten in "Umgangssprache" übersetzt.
So heißt es i.A für 12:40 Uhr → "Zehn nach halb eins".
Eine Erhöhung der Ablesegenauigkeit auf 1 Minute wird durch die zusätzliche Anbringung von 4 Stck. einzelnen LEDs im Sockel erreicht, welche jeweils 1 Minute zur angezeigten Zeit addieren.
Im obigen Foto wäre es demnach 12:41 Uhr ( Zehn nach halb eins + 1 Minute).

Einen kleinen Schönheitsfehler will ich aber nicht verschweigen:
Die vollen Stunden werden z.B. mit "Es ist zwei Uhr" angezeigt.
Bei 1 Uhr wird allerdings "Es ist eins Uhr" angezeigt. Das überflüssige "s" ist hier leider konstuktionsbedingt, weil es ja z.B. bei "Es ist zehn nach eins benötigt wird.
Da die "unschöne" Anzeige aber nur 2 Mal am Tag jeweils 5 Minuten dauert, kann man das m.E. verschmerzen ;-)

Ansonsten wurden noch ein paar Zusatz-Gimmicks in die Wort-Uhr integriert:
  • Wechsel der Grundfarbe aller LEDs zu jeder vollen Stunde
  • Kurze farbige "Cylonen-Animation" aller LEDs zu jeder vollen Stunde
  • Animation der "1-Minuten" Einzel-LEDs jede Minute
  • Solange das WLAN noch nicht verbunden ist, leuchten alle LEDs rot
  • Nach erfolgreicher WLAN-Verbindung, einmalige "Cylonen-Animation"
  • Uhrzeiten für Helligkeitswechsel (dimmen) der LEDs bei Tag/Nacht per Software einstellbar

Zum besseren Verständnis, hier ein paar Beispielfotos (beachte auch die 1-Minuten-LEDs!):

00:18 Uhr  01:46 Uhr  02:19 Uhr  04:25 Uhr

06:12 Uhr  07:00 Uhr  10:12 Uhr  11:38 Uhr


Mechanische Arbeiten: Fräsen, Sägen und 3D-Druck

Da meine Fräse nicht so kleine Auflösen kann, wie ein Laser-Cutter, musste ich den vertikalen Abstand der Wort-Zeilen zueinander etwas größer wählen.
Deshalb nutze ich jeweils 2 LEDs des Stripes zum Beleuchten einer Zeile.
Außerdem musste ich die Plexiglas-Scheibe in 2 einzelne Scheiben aufteilen, da meine Fräse nur eine Arbeitsfläche von ca. 200 x 200 mm hat.

Der LED-Stripe wird in einem "Ständer" aus Buchen-Leimholz (LxBxH = 348x40x18 mm) eingelassen.
Dazu habe ich mit einer Kreissäge eine Nut von BxT = 12 mm x 13 mm gesägt.
Die 12 mm basieren auf der Breite des LED-Stripes, die 13 mm sind die Einstecktiefe der Plexi-Scheiben plus der Höhe des LED-Stripes (ca. 6 mm).

Auf den Ständerfuß, ebenfalls aus Buche Leimholz (ca. 130 x 90 x 18 mm), in dem auch die Elektronik untergebracht wird, gehe ich hier nicht weiter ein. Den kann man nach eigenem Geschmack entwerfen.

Staender1.jpg Staender2.jpg


Um die genaue Länge des LED-Stripe Ausschnittes zu bestimmen, habe ich zunächst eine maßstabsgerechte Skizze des Stripes in CorelDraw erstellt und auf Papier ausgedruckt:

    Skalentest.jpg

Die Vorlagen für die Plexischeiben habe ich ebenfalls in CorelDraw entworfen:
Oberteil 163,7 x 87 mm (Anklicken zum Vergrößern) Unterteil 152,6 x 87 mm (Anklicken zum Vergrößern)
Oberteil-final.bmp Unterteil-final.bmp

Danach wurden sie in Inkscape geladen, dort über den Menüpunkt "Pfad"→"Bitmap nachzeichnen ..." vektorisiert.
Weil ich die einzelnen Buchstaben in die Rückseite der Plexiplatten fräsen/gravieren wollte, damit die Sichtseite schön plan ist, habe ich die Grafiken dann noch über den Menüpunkt "Objekt"→"Vertikal umkehren" gespiegelt.
Anschließend wurden sie als SVG-Dateien abgespeichert und konnten in die Frässoftware Estlcam geladen werden:

Estlcam-Screenshot.jpg

Die Frästiefe für die Buchstaben wurde auf 0,75 mm eingestellt und die Frästiefe der Ausschnitte musste natürlich 4 mm betragen, was der Dicke des Acrylglases entspricht.
Nun konnte die "Fräserei" beginnen:

    CNC3018-Fraesen.jpg

    Oberteilfraesen.jpg
Das wegfließende Kühlmittel hat eine schöne Sauerei verursacht, ich hätte die Fräse besser in eine Wanne stellen sollen ;-))



Nachdem die Plexi-Scheiben endlich fertig gefräst waren, galt es noch einige Teile mit dem 3D-Drucker auszudrucken. Diese wurden mit FreeCad entworfen.

Da wären als erstes zwei "Plexi-Steckleisten", die genau in die 12mm-Nut des Leimholzständers passen und in die dann die Plexi-Scheiben einfach eingesteckt werden. Sie sind so bemessen, daß die Plexi-Scheiben auch ohne weitere Befestigung (z.B. Kleben) darin Halt finden.

    FreeCad-Plexi-Steckleiste.jpg
(falls jemand die FreeCad, bzw. die exportierten STL-Dateien benötigt, kann er mir gerne eine Mail schicken, s. Impressum)

Dann gibt es noch die Box für die 4 Stck. 1-Minuten-LEDs, sowie 2 Abdeckungen für den Buchenleimholz-Ständer:
LED-Box front LED-Box back Staender-Abdeckungen

Da ich nur weißes Filament zur Verfügung hatte, die Ausdrucke aber gern in schwarz haben wollte, habe ich sie einfach mit Sprühlack aus der Dose schwarz lackiert.



Elektronik und Schaltplan:
schaltplan-verticalclock.gif (Anklicken zum Vergrößern)

Zur Elektronik gibt es nicht viel zu sagen, das "Herzstück" besteht aus einer NodeMCU V3,
an die der 5V LED-Stripe WS2812-B mit insgesamt 42 LEDs angeschlossen ist.
Bei dem LED-Stripe handelt es sich um einen Typ mit 144 LEDs/m.

Dazu kommen noch 4 Stck. einzelne 2mm-LEDs in beliebiger Farbe.
Sowohl die Datenleitung des LED-Stripes, als auch die Einzel-LEDs werden über 470Ω-Widerstände mit den entspr. PINs der NodeMCU verbunden.
Dann noch zwei Spannungsregler uA7809 und uA7805, sowie ein paar Kondensatoren.

Sicherheitshalber habe ich noch einen Microtaster für einen eventuellen Reset vorgesehen,
welcher im Boden des Sockels eingeklebt ist.
Somit muss man das Netzteil nicht aus der Steckdose ziehen, oder die Bodenplatte des Sockels aufschrauben, falls sich die Vertical-Clock mal aufhängen sollte.


Software:

################################################################
Last but not least der Arduino-Sketch Vertical-Plexi-Clock.ino
################################################################

Da ich ein Freund statischer IP-Adressen bei meinen ortsfesten Geräten bin, müsst ihr im Sketch euere eigenen WLAN-Parameter eintragen!
Ich habe den entspr. Abschnitt im Sketch entspr. kommentiert.

Der Boot-Vorgang erfolgt folgendermaßen:
  • Während des Bootvorganges leuchten zunächst alle 42 LEDs in der Farbe rot auf
  • Dann wird sich zum WLAN verbunden - während des Verbindungs-Aufbaus leuchten die LEDs weiterhin rot
  • Nach erfolgreicher WLAN-Verbindung, erfolgt eine einmalige "Cylonen-Animation"
  • Ist das WLAN verbunden, werden die entspr. Zeitinformationen von einem NTP-Server aus dem Internet geholt
  • Sind die Zeitinformationen vorhanden, werden sie in "Umgangs-Sprache" gewandelt und die entspr. LEDs leuchten auf
  • Die Farbe der LEDs ändert sich zu jeder vollen Stunde
  • Jede Minute erfolgt eine kurze Animation der 1-Minuten-LEDs im Sockel

Nach dem erstmaligen Flashen der NodeMCU mittels Arduino-IDE via USB-Schnittstelle, kann künftig bei eventuellen Anpassungen/Änderungen des Sketches auch über WLAN geflasht werden, da die sog. OTA-Funktion (OTA = Over the Air) im Sketch eingebunden ist.

Ich habe im Sketch rel. viele Kommentare hinterlassen, so daß man besser nachvollziehen kann, wie der Ablauf ist, bzw. wofür welche Variable benötigt wird.

Erweiterungs-Möglichkeit:

Es wäre noch eine Erweiterungs-Möglichkeit denkbar, in Form einer 5ten Einzel-LED im Sockel, welche im Sekundentakt blinkt.

Hardwaremäßig würde nur ein einzelner weiterer PIN de NodeMCU benötigt, sowie eine weitere 2 mm LED (die evtl. andersfarbig sein könnte?).
Softwaremäßig wäre es realisierbar, indem die LED bei ungeraden Sekunden aus und bei geraden Sekunden an ist.

Im Nachhinein ist mir das aber den mechanischen Aufwand nicht wert.








Aktuelles Wetter in Heinzenberg / Taunus
Impressum
Datenschutzerklärung