Touch is one of the most powerful ways we connect with the world, yet most museums keep visitors at a distance. However, immersive spaces such as TeamLab and Exploratorium break that barrier by blending art, technology, and viewer interaction to create moments of curiosity and delight. Inspired by these installations and exhibits, TapTides seeks to transform passive viewing into a shared act of creation, where viewers can shape the artwork itself. My goal is to spark wonder and shift perceptions, helping people see museums as places where magic comes alive.
DesignI set out to create an installation using multiple LED panels, which would exhibit stunning visual effects whenever the viewer taps on a panel. I wanted this work to evoke a sense of calm, while sparking moments of awe. Because the impact of this piece relies heavily on the visuals, I began by designing the display concepts. Using Procreate, I drafted designs based on a variety themes:
- Nature: grass blowing in the wind, with flowers blooming on every tap
- Space: purples and blues drifting in the night sky, with stars appearing on every tap
- Abstract colors: pastel holographic colors flowing together, with more colors blending and spreading on every tap
- Water: calming hues of blues and teals, with ripples propagating on every tap
I really leaned towards the water and ripple idea, since it seemed the most calming and inspiring. In my experimentation phase, I focused mainly on elements relating to water. As I tested out different effects, I decided to combine my ideas of the water ripples with the abstract colors.
ExperimentationI began by experimenting with the FastLED library examples on a single 8x8 LED board, just to take a closer look at how the programs work to create smooth, flowing movements. I looked at effects related to water and waves, and the following stood out to me for their use of sine waves and color blending: FxWater, Wave2D, Pacifica, and Pride2015. I decided to use sine waves to create the water background.
To create the ripples, I experimented with turning GIFs into animations on the LED panel. I downloaded a GIF, scaled it down to 8x8 to fit it on my matrix, then saved each individual frame using an online frame extractor tool. I converted those frames into C style arrays, which were stored in a header file in PROGMEM that I could access in my main program. However, after trying this out, I came to the conclusion that the resolution of my LED panels would not be enough to show a significant amount of detail from the GIF, and it would be harder to modify it if I were to change the number of LED boards. Because of this, I decided to use math to create a ripple overlay that would cover the entire canvas instead.
I began by connecting four 8×8 LED panels and mapping their coordinates using XY() to define the height and width. The display essentially consists of two layers.
- Under layer: tranquil blues and teals flowing in a sine wave that looks like water.
- Top layer: random color overlay that ripples out and blends with the layer below so waves are still visible.
Before installing touch sensors, I used serial commands (“tap1/2/3/4”) to test ripples. Each tap triggered a random color overlay originating from the tapped panel, expanding to cover the entire display. If an overlay was already active, a tap created an “inverse ripple” to clear it, managed through an enum state. The wave animation can be repositioned to any “frame” instantly with a “set#” serial command.
I added sound detectors as touch sensors and adjusted the sensitivity levels. To turn the LEDs into a tactile piece of art, I cut out cardboard and printer paper to create a holographic background, at the same time concealing the wiring and breadboard. I tilted the LED panels a bit to create more visual interest. I then constructed a frame using aluminum tape and hot glue sticks, with cardboard supports behind so that the work can be mounted on the wall. The finished result is an interactive, avant-garde artwork!
Comments