“Time passed. But time flows in many streams. Like a river, an inner stream of time will flow rapidly at some places and sluggishly at others, or perhaps even stand hopelessly stagnant. Cosmic time is the same for everyone, but human time differs with each person. Time flows in the same way for all human beings; every human being flows through time in a different way.”
….. Yasunari Kawabata, from the novel Beauty and Sadness (Utsukushisa to kanashimi to), 1964
Inspired by these beautiful and profound words, comes my prototype of “Time Flows“, a clock that displays the current time through the controlled movement of water.
Time Flows: showing fluid digit transitions starting from “1” to “2”, “2” to “3”, “3” to “4” and finally “4” to “5”. Turn off your sound so that you do not hear the whine of the air-pump… a problem yet to solve.
Indeed, the water in Time Flows does move both slowly and rapidly, and remains at rest – stagnant even – between updates. The quotation is quite apropos!
This display uses coloured water to display the four digits of the current hours and minutes using a 7-segment type display. Segments are filled with, or cleared of, coloured water using an air and water pump and a series of valves to display numbers from “0” to “9”. For speed and presentation effect, new numbers are displayed “incrementally” over existing numbers by selectively filling and emptying the minimum number of segments.
In operation, Time Flows clock powers up, connects to the local WiFi* and sends out a request to a time server for an NTP (Network Time Protocol) packet (similar to the Life Time Clock). The received packet contains an accurate timestamp which is converted to local time – with daylight savings time correction – and used to set an internal soft real-time clock. Each minute, the real-time clock is read and the time is displayed on the liquid 7-segment display.
(*) If the clock is unable to connect to the local WiFi network, it will start a web server that allows the user to enter appropriate access credentials. These are saved in the ESP8266 EEPROM and the WiFi connection made. On subsequent powering, the saved credentials are used to attempt a connection. If unsuccessful, the user is prompted again to access the web page to enter access credentials.
For testing, the Time Flows clock is controlled by an Arduino UNO. Two boards, each connected to the Arduino using the I²C interface, contain MOSFET drivers to control the 7 valves – one for each segment – and the air and water pumps, respectively. The software sees the all of the valves at one port address and the pumps on a separate address. The segments of the display are mapped to bits of the valve ports for simple control.
Interesting to watch and fun to listen to, as well!