To bring the tide data collected from this tide gauge into the real world, I wanted to create a display that shows the most recent tide reading in such a way that's easy to read at a glance. The display needed to be aesthetically pleasing and simple so that it'd be something you'd want in your home, but still intuitive so that a casual observer would be able to read it.Reading the Display
The display provides a convenient way to get an approximation for the tide's height by displaying the height 1 to 1 (i.e. one inch of water approximately equals one inch of LEDs), filling the display from bottom to top. To convey water and depth, I used a gradient from dark to light blue, with darker values at the bottom of the display.Tide Direction
The device "bubbles" every five seconds and updates the displayed height. Since the ThingSpeak channel for the tide gauge also provides the tide's direction, I use the direction of the bubbles to convey whether the tide is rising or falling. The bubble is a cluster of brighter LEDs that travels up or down the display through the blue "water" LEDs.Height Indicators
Since the display is primarily used to check if there is enough water for a boat to make it in or out of the dock at low tide, there are indicators for low tide and mud level on the display in white, configured to 20 and 15 inches respectively.
These indicators pulse slowly along with a third tide prediction indicator that displays the next high tide if the tide is rising, or the next low tide if it's falling. The color of the prediction indicator is a gradient from red to green (red for stop, it's too shallow, and green for go, there's enough water, with yellow in the middle).Looking Forward
The TideDisplay class could be adapted to display different types of data, such as a thermometer, with slight modifications to the source. A generic BarDisplay class could be created to make many different types of displays using the same core code.