MobatimeClock

From Fixme.ch
Revision as of 23:08, 31 January 2017 by Fzn (Talk | contribs) (code)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Overview

This clock is mains powered, shows date and time. Three buttons on the side allow setting values. However, similar to Swiss railways stations' clocks, it won't skip to the next minute unless it receives pulses.


Pulses

According to available documentation, up to 30VDC can be fed between the two sync wires. It requires circa 1.7v to trigger, however.

To get to the next minute, a 170ms (smaller durations lead to missed triggerings) pulse has to be sent, alternating polarity at each trigger

Trivia

The clock resets to Fri, Jan 1st, 1988. Here's the code, btw

Driving

Two digital outs of an Arduino Nano provide the pulses. It can be set to automagically wind up the clock to a target date/time.

TODO

  • post the code on gitlab
  • derive 5V from the 240V input, and embed the uC
  • rewrite with button debounce (there's currently a button to add minutes, given that it takes circa 170ms to jump by one minute) and / or factor in 'time taken winding the clock' in the target time computation
  • figure out more ergonomic ways to sync (currently requires uploading code)?