Benutzer-Werkzeuge

Webseiten-Werkzeuge


projekte:wordclock
Facebook Twitter Google+

WordClock

Bilder

Kosten

  • Frontplatte mit Platine 38Euro + 10Euro Versand
  • Platinen mit LEDs (mit Ambilight) 65,20Euro + 5,20 Versand
  • Holzleisten und Holzleim für den Unterbau 22,95Euro (Baumarkt)

Hinweise

Anschluss DCF77

  1. DCF-Modul (Reichelt) ↔ Wordclock
  2. Pin 1 (VDD) ↔ K5 Pin1
  3. Pin 2 (GND) ↔ K5 Pin2
  4. Pin 3 (POE) ↔ offen
  5. Pin 4 (Signal) ↔ K5 Pin3
  1. DCF-Modul (Conrad) ↔ Wordclock
  2. Pin 1 (GND) ↔ K5 Pin2
  3. Pin 2 (VCC) ↔ K5 Pin1
  4. Pin 3 (Signal) ↔ K5 Pin3

DCF Empfang geht nicht

Grund kann der Max232 sein wenn der zur Ausgabe von Debug Meldungen angeschlossen ist. Ein weiterer Grund kann die PWM für die Farben sein, daher ist es ratsam eine Zeit einzustellen in der die Uhr aus ist.

automatisch Farbwechselmodus

user.h

#define USEREEPROMPARAMS_DEFAULT  {                          \
  /* .irAddress           = */ USER_ADDRESS_DEFAULT,         \
  /* .irCommandCodes      = */ USER_COMMANDCODES_DEFAULTS,   \
  /* .colorPresets        = */ USER_COLORPRESETS_DEFAULTS,   \
  /*  curColorProfile     = */ 0,                            \
  /* .autoOffTimes        = */ USER_ON_OFF_TIME_DEFAULTS,    \
  /* .pulseUpdateInterval = */ USER_PULSE_CHANGE_INT_10ms,   \
  /* .hueChangeIntervall  = */ USER_HUE_CHANGE_INT_100ms,    \
  /* .mode                = */ MS_normalMode                 \
}

ersetzen durch

#define USEREEPROMPARAMS_DEFAULT  {                          \
  /* .irAddress           = */ USER_ADDRESS_DEFAULT,         \
  /* .irCommandCodes      = */ USER_COMMANDCODES_DEFAULTS,   \
  /* .colorPresets        = */ USER_COLORPRESETS_DEFAULTS,   \
  /*  curColorProfile     = */ 0,                            \
  /* .autoOffTimes        = */ USER_ON_OFF_TIME_DEFAULTS,    \
  /* .pulseUpdateInterval = */ USER_PULSE_CHANGE_INT_10ms,   \
  /* .hueChangeIntervall  = */ USER_HUE_CHANGE_INT_100ms,    \
  /* .mode                = */ MS_hueMode                 \
}

Aus über Nacht

user.h

#define USER_ON_OFF_TIME_DEFAULTS         \
{ /* [0] =  off = */ USER_DEFAULT_TIME,   \
  /* [1] =  on  = */ USER_DEFAULT_TIME    \
}

ersetzen durch

#define USER_OFF_TIME {1,0}	//01:00 Uhr
#define USER_ON_TIME {4,0} //04:00 Uhr

#define USER_ON_OFF_TIME_DEFAULTS         \
{ /* [0] =  off = */ USER_OFF_TIME,   \
  /* [1] =  on  = */ USER_ON_TIME    \
}

Uhr zu Anfang aus wegen DCF

geht nur mit Änderung aus dem Absatz vorher, und macht auch nur Sinn zu Anfang, weil mit der Änderung der Sinn der RTC ausgehebelt wird (Weiterlaufen bei Stromausfall).

main.c

  static DATETIME  datetime; 

ersetzen durch

  static DATETIME  datetime; 

  //init Zeit anlegen
  static DATETIME  init; 
  init.hh=1;
  init.mm=0;

main.c

 user_init();

esetzen durch

 user_init();
	//init Zeit zur RTC schreiben
	//durch AUS Zeit 1 Uhr geht dann gleich die Uhr aus um DCF zu syncen
  i2c_rtc_write (&init);

DCF LED ruhiger machen...

Um eine Anzeige zu haben ob der DCF Empfang erfolgreich war, hab ich eine Änderung eingepflegt die eine zusätzlich SYNC LED ansteuert. Dazu wird GPO2 genutzt.

Die größten Änderunge sind in einer neuen/geänderten user.huser.c (Achtung Name geändert!).

Zusätzlich noch in der main.c

        user_setNewTime (&datetime);
}

ersetzen durch

        user_setNewTime (&datetime);

        user_sync_led_off();
      }

    if(!datetime.hh && !datetime.mm)
        user_sync_led_on();

Uhr "zwanzig" anzeigen lassen

Die Uhr zeigt normalerweise „zehn vor halb …“ an, ich sage aber eher „zwanzig nach ..“ um die Uhr dahingehend zu ändern, sind folgende Änderungen nötig.

disp_wc_ger3.c

static const uint8_t s_minData[TM_COUNT][11] =  {...

dort den zweiten Eintrag mit dem ersten tauschen.

und dann noch an der Stelle

static const uint8_t s_hourIncrement[TM_COUNT] = {
  4,  /* zehn vor halb */
  5,  /* fünf vor halb */
  3,  /* viertel       */
};

auch die ersten beiden Einträge tauschen (also die 4 und die 5).

Ambilight an beim Start

# if (AMBILIGHT_PRESENT == 1)
    USER_AMBILIGHT_DDR |= (1 << USER_AMBILIGHT_BIT);
# endif

ersetzen durch

# if (AMBILIGHT_PRESENT == 1)
    USER_AMBILIGHT_DDR |= (1 << USER_AMBILIGHT_BIT);
	USER_AMBILIGHT_PORT |= (1<< USER_AMBILIGHT_BIT);
# endif

LDR eingebaut

Um die Wordclock im Dunkeln auch dunkel zu machen, gibt es die Möglichkeit per LDR die Helligkeit zu steuern. Das geht aber Firmware 0.11 automatisch. Nur der LDR muss noch eingelötet werden. Der guckt bei mir genau über die Frontplatte rüber so das kein Licht von den LEDS auf den LDR fällt (siehe dazu in der Gallerie oben das letzte Bild).

projekte/wordclock.txt · Zuletzt geändert: 2011/03/05 15:14 von Jan-Hendrik Bade