Interessantes Direkt

Samstag, 22. Dezember 2018

Wordclock 2.0: Der Code

Hat länger gedauert als gedacht, aber hier doch der "Basis" Code für die neue Wordclock.
Auch hier wieder ein Copy und Paste zum Code der 1. Wordclock, da sich das meiste nicht geändert hat.

Zu meiner Schade muss ich gestehen, das ich es in der ersten Version der Elektronik nicht geschafft habe, den DCF Empfänger zum Laufen zu bekommen. Es kommen Pakete an, sie sind aber nicht ausreichend, um die Uhrzeit zu stellen...
Es könnte an meiner "suboptimalen" Verkabelung liegen oder an dem DCF Empfänger selbst, oder, oder, oder...

Insofern läuft die erste der Wordclock 2.0 wieder so wie meine allererste: nur mit der Echtzeituhr ;)

Okay, genug des Vorgeplänkels, hier der Code:
-------------------------------------------------------------------
Nur an wenigen Stellen muss der Code angepasst werden, damit die Uhr "mit DCF oder ohne" / "mit Dimmer Funktion oder ohne" läuft.

Folgende Stellen müssen immer (!) angepasst werden:
---------------------------------------------------------
1) Grundsätzliche Einstellungen

#define DATA_PIN    3  ==> an welchem Pin die Data chain angebunden ist
#define NUM_LEDS    114==> wieviele LEDs ihr im Strang habt (wenn ihr meinem Vorschlag gefolgt seid, sind das 114)

--------------------------------------------------------
2) Helligkeitseinstellungen
Wenn ihr die Photodiode zum Dimmen nicht benutzen wollt, dann tragt nur bei
BRIGHTNESS die dauerhafte Helligkeit ein.


Solltet ihr die Photodiode benutzen, dann bitte folgendes eintragen:

maxBrightness ==> Hier die minimale (!) Helligkeit eintragen 
minBrightness  ==> Hier die maximale (!) Helligkeit eintragen (ich weiss, das ist widersinnig, aber es war einfacher hier zu ändern als im späteren Code [zumindest für mich ...])
AmbientLightPin ==> an welchem Pin ihr die Photodiode angeschlossen habt.

------------------------------------------------------------------------


Wen ihr "nur" die normale Funktion der Uhr mit RTC nutzen wollt, dann ist diese Datei ausreichend:

Wenn ihr auch die DCF Funktion nutzen wollt, dann muss diese Date genommen werden:
Alle Dateien findet ihr  in der Dropbox.

--------------------------------------------------------------------

OK, und wie geht das jetzt praktisch ab?

Ihr solltet auf jeden Fall eine RTC am Arduino anschließen, weil sonst die aktuelle Zeit verloren geht
wenn der Strom weg ist.

Ist die RTC am Arduino und der Arduino mit dem PC verbunden, sollten beide "irgendwo" leuchten um zu demonstrieren, das sie Strom haben (zumindest bei meiner Hardware die ich empfehle).

1) Als erstes müsst ihr die RTC mit der aktuellen Uhrzeit updaten.
Der Sketch der bis vor kurzem noch benutzt werden konnte, ist anscheinend bei einem Update "verschwunden".
Ich empfehle euch jetzt diesen sketch (liegt in der Dropbox).
Hier muss eine Zeile an eurer# Uhrzeit angepasst werden:


Der angepasste Sketch wird auf den Arduino übertragen und damit die Uhrzeit gesetzt.
Danach ...


2) Als nächstes wird der Wordclock Sketch eingespielt. Dieser überschreibt den RTC Sketch wieder, was aber egal ist, weil die Uhrzeit in der RTC erhalten bleibt.

3.) Wenn der DCF Empfänger funktioniert, braucht ihr die Uhrzeit nicht auf die RTC übertragen, die sollte sich ja nach einiger Zeit selbst einstellen. Ist auch der beste Test, ob der DCF Empfänger funktioniert!

3 Kommentare:

  1. Hallo Arne
    Vielen Dank für die Veröffentlichung und bereitstellung deiner Arbeiten. Ich habe mich von dir Inspirieren lassen und selber eine 60x60cm große Wordclock mit Minutengenauer Anzeige, WS2612 LEDs und ESP32 gemacht. Ein kleinen Fehler hab ich in deinem Code zum erkennen der Sommerzeit gefunden.
    if ((currentDateTime.month == 3 && (currentDateTime.hour + 24 * currentDateTime.day)) >= (2 + 24 * (31 - (5 * currentDateTime.year / 4 + 4) % 7)) || currentDateTime.month == 10 && (currentDateTime.hour + 24 * currentDateTime.day) < (2 + 24 * (31 - (5 * currentDateTime.year / 4 + 1) % 7)))
    So funktioniert sie. Vor currentDateTime.month==10 war eine Klammer zuviel ;)

    AntwortenLöschen
  2. Der Kommentar wurde von einem Blog-Administrator entfernt.

    AntwortenLöschen

Wordclock - 1 - Der Anfang

Ziel der Anleitung soll der Bau einer Wordclock sein. Diese Anleitung fußt auf der genialen Anleitung von  dracarys . Darauf aufbauend...