What is an Infinity Mirror?
A Infinity Mirror creates the illusion of an endless tunnel by infinitely reflecting light between two pieces of mirrors. This specific infinity mirror has modes that the user can choose from. Each mode corresponds to a different light pattern. Depending on the mode, the user can also control the RGB levels of the light patterns.
As mentioned, the illusion is created by reflecting light over and over again. The light that is bounced back and forth is emitted from an addressable RGB LED light strip. Specifically, the WS2812 strip was used. Every pixel in this strip is made up of one red LED, one blue LED, and one green LED. The pixels also have a microchip embedded in the pixel allowing each pixel to be individually programmed.
The base mirror is a regular household mirror, whereas the second mirror is a one-way mirror. The one-way mirror was created by wrapping one side of clear laser-cut acryllic in Mylar, or reflective tint. Lights were placed inbetween the two mirrors, keeping the distance between the mirrors as small as possible.
The Controls and Modes
The user manipulated the light output using three rotary potentiometers and a pushbutton. The pushbutton was used to switch between modes. For example, the first mode was a solid colour around the perimeter of the mirror. There were seven modes in total, ranging from chasing lights to rainbow gradations. The potentiometers were used to adjust the RGB levels of the light in modes that did not have pre-set colours. This way, the user was able to adjust the colour to his or her specific liking.
A 12V power source was used because it was the only source that would supply the necessary current draw from the strip. The voltage was regulated down to 5V for both the Arduino Pro Mini and the LED strip.Potentiometers were attached to the Arduino as analog inputs while the button was attached as a digital input. Depending on the states of the inputs, the Arduino outputted a CLK signal to the WS2812 strip, changing the pattern and colour of the strip.