It is not difficult to explain this optical effect theoretically. You can even create an illusory endless tunnel with the help of an ordinary candle: this magic was used by many girls of almost all generations, conducting Christmas rituals of fortune-telling. Due to the multiple reflection of the light source from the real and imaginary surfaces of the mirror, it seemed as if the candle was falling into a tunnel without end or edge. All this can be easily explained in terms of quantum physics.
Infinity mirrors are a wonderful decorative item that can become the main accent in the interior. Most often they are used when decorating commercial premises: nightclubs and bars, cafes, exhibition halls, offices. However, you can decorate your apartment with such an art object. It will look appropriate in a bathroom or hallway made in a Gothic or industrial style, with elements of minimalism, pop art or techno.
A mirror with infinite depth can be used not only for its intended purpose, as a wall structure with lighting, but also as an element of other furniture. It will become an original tabletop for a coffee table, the face of a cubic structure, a decoration for the floor and more. This can be a full-fledged ceiling chandelier or an additional light source.
Theoretical basis of an infinity mirror (light well)
Our grandmothers also used the effect of creating an illusory endless tunnel, placing a candle between two mirrors during Christmas fortune-telling. It arose due to repeated reflection of the light source from a real and imaginary mirror surface. A schematic diagram of this effect is shown in the figure below.
Theoretical basis of the infinity mirror
If you want to know more about why a reflected mirror surface has the same optical properties as a real one, open a quantum physics textbook. Well, we will continue the story about how to use this effect (with modern light sources), but for those who are ready to accept this postulate a priori.
How to use in the interior
Despite the name, this design is not used as a mirror. It is suitable for decorating home and commercial premises. Visually enlarges the space and brings a touch of hi-tech to any interior. And thanks to the color, it can support the main shades of the design.
The nuances of choosing and using glue for mirrors, products from the best brands
Infinity mirrors are installed in clubs, bars, and restaurants. The effect is applicable for creating interesting tabletops, bar counters, and large installations. Increasingly, such products decorate commercial premises, showrooms and offices. There are original solutions where the effect is embodied in the steps of spiral staircases and on the floor of elevators. You can do it in the following styles:
- minimalism;
- pop Art;
- techno;
- high tech.
The mirror surface can be round, oval, square, rectangular, pentagonal or hexagonal. The effect of an infinity mirror also depends on the shape of the frame. Designers use additional elements inside to enhance the illusion, creating the feeling of endless columns standing inside. You can assemble a simple structure for your home.
In the interior, the system is used as an LED lamp, a full-fledged light source, and additional lighting. More often used as a decorative element that does not carry a functional load. It can be an independent piece or be part of a coffee table, table, bar counter, or exhibition display.
Such mirrors are used in the interiors of premium cars, on the ceilings of limousines, in racks with champagne and glasses. In this case, the installations are supplemented with long LED strips along the outer border.
The infinity effect is used in exhibition halls and galleries. It is used to decorate specific compositions, as an accompanying art object. In contemporary art galleries, mirrors are widely used for zoning, separating one exhibition from another. Another function is to enhance the effect of light shows.
Examples of the location of mirrors of different shapes in the hallway, tips for choosing
DIY infinity mirror. Formulation of the problem
So, we are faced with the task of creating a plane, when looking at which the optical effect of an endless well will appear. To do this you need:
- Light source.
- Two mirrors.
Of course, you can use your grandmother's recipe and create an open mirror system. In it, the observer's gaze is parallel to the plane of the mirrors. But this is too inconvenient due to the fact that the height of the lamp is equal to the width of the mirror. But we need a plane that does not reduce the height of the room.
Therefore, we use a closed optical system in which the viewing direction is perpendicular to the plane of the mirrors. Only one of them should transmit part of the photon flux from the light source. Otherwise we won't see anything.
To get the desired optical effect we need:
- Classic mirror with one-way reflection.
- Glass with a partial mirror effect.
- Design that holds mirrors at a distance of no more than 2 cm from each other.
- Light source.
3D printed parts of the project
I mostly designed the parts of the project that needed to be 3D printed myself. Below is a list of links to the relevant files. You can use them freely.
- Speaker grille.
- Housing for motion sensor HC-SR501.
- Housing for CanaKit 2.5A Raspberry Pi Micro USB power supply.
- Customizable display mount.
- LED mount.
- Control panel for TV.
- Mount for Raspberry Pi, designed for VESA Mount.
Implementation of the design
This design can be implemented in different ways. It all depends on the materials available to the home craftsman. Below is one possible solution.
Mirrors
With a classic mirror, everything is clear; you need to buy the right size or cut the existing one. What to make translucent from? The best option is 4 mm thick glass covered with automotive tint film. Choose one that transmits at least 50 percent of light radiation.
Frame
For the frame holding the mirror system, it is better to use wooden blocks with a side of 2 cm. No tricky tenons are required for articulation. To securely stick them to the surface of the absolute mirror, use silicone sealant. Transparent is better.
In the rack frame you must first drill a hole parallel to the plane of the mirrors. The wires supplying the light source are routed through it. The slats are glued one at a time. At the same time, they are aligned along the outer edges of the mirror.
Light source
After assembly, the cavity of the optical system becomes sealed and non-ventilated. Therefore, the light source can only be one that does not emit heat. The best option is LED strip. It is better to choose RGB, which will allow you to create additional optical effects. If possible, use those whose operating voltage rating is 24 volts. They are brighter and easier to penetrate through the mirror film.
LED Strip Light
Infinity Mirror or mirror tunnel using Arduino.
Infinity Mirror literally translates as an infinite mirror; this effect is also called a mirror tunnel. This is a very effective technique that is used to decorate various interior items or as an independent decoration device. Today we will transform an old table and turn it into a real work of modern art. After its transformation, a standard piece of cabinet furniture can not only fit into any interior, but also become its decoration.
Assembly
The assembly process is simple. If all of the above elements are at hand, then you only need to be careful.
- Glue the frame slats with silicone sealant to the mirror on the side of the reflective surface.
- Attach the RGB LED strip to the inner surface of the frame, and lead the power cord through a hole pre-drilled in the frame rail.
- Cut the mirror film to the width of the frame.
- Apply silicone sealant to the frame and place glass with a mirror film on top (mirror surface inward).
Now all that remains is to decide what to do with the ends to cover the wooden frame.
- If everything is done carefully and the frame slats are planed, then the ends are painted.
- Using an aluminum U-shaped profile is an excellent solution for a Hi-Tech design.
- Use a plastic cable duct without a cover.
The same silicone sealant is suitable for securing the profiles.
What it is?
An infinite mirror, or mirror tunnel, is a reflective surface in which multiple reflections of objects are visually observed. In fact, there is only one object, and the resulting visual effect is just an illusion. It is achieved using bright light from third-party sources that are reflected in the mirror.
Mirror tunnel effect
Important! In practice, a 3D mirror tunnel can be created by parallel arrangement of mirror surfaces and the use of LED strips.
On one side of the structure there is a real mirror, on the other there is glass with a reflective film. When a person looks at such an object, he does not see the bottom of the tunnel, and the repeated reflection of light creates an unusual effect of a multi-level well.
The thickness of the mirror is only a few centimeters, but the illusion of its depth is very realistic. You can further enhance the experience by using flashing lights or color-changing lamps.
Belt design options
If you place an RGB LED strip along the perimeter of the holding frame, the visual effect will consist of repeating luminous rows. It's interesting, but too simple.
Show your imagination and glue two or three geometric shapes made from the same slats onto the mirror along with the frame. Glue the LED strip around the perimeter of the inserts. Just make sure that its length is a multiple of the integer value of the distance between the mounting points along which the tape can be cut. The power wire will have to be routed through the mirror. To do this, it is drilled with a diamond-coated drill.
System Setup
I didn't intend this section to be a comprehensive guide to setting up smart mirrors.
Here I will tell you only about the most important things. Namely, I installed Raspbian Stretch Lite and then followed this tutorial. I first experimented with a variety of MagicMirror modules created by enthusiasts. And only then I selected the most important things. If you follow my path, I advise you to at least try MMM-EyeCandy.
As a result, I installed the following modules, which I still use today:
- MMM-MyCalendar
- MMM-cryptocurrency
- MMM-Wunderlist-Enhanced
- MMM-RemoteControl
By default, everything is configured so that the smart mirror will look into the repositories of all installed modules and check if there is anything new in them. I thought this was good, but I ended up writing the following script, located in /home/pi/myscripts/mm_update.sh, which automatically updates the modules at midnight. #!/bin/bash # Update modules for d in /home/pi/MagicMirror/modules/* ; do (cd "$d" && git pull && npm install); done # Update MM cd “/home/pi/MagicMirror/”; git pull && npm install # Restart MM sudo /sbin/shutdown -r now To make this script executable, use the chmod command: chmod +x /home/pi/myscripts/mmm_update.sh Then you need to configure crontab: sudo crontab -e You need to add the following command to the list of tasks, which will run the script every midnight: @midnight /home/pi/myscripts/mmm_update.sh
Connecting LED strip
If the RGB strip is connected directly to the power supply, it glows white. Color effects are possible when connected via a controller. This control device works in tandem with a remote control. But if you want to see color music, you need to choose models that are compatible with a computer.
It is better to choose a power supply whose power is two (at least) times greater than the power consumption of the tape. This will allow you to enjoy the lighting effects indefinitely without fear of overheating.
Automatically turn the mirror on and off based on a signal from a motion sensor
There was one extremely important item on my list of smart mirror features: the mirror should turn off when no one is nearby. The MMM-PIR-Sensor module copes with this task perfectly. Especially if the display used in the project supports all HDMI CEC commands. The TV behind my mirror, for unknown reasons, only supports a command related to the state of the device. As a result, I solved the problem of turning the TV on and off using the Raspberry Pi GPIO (PIN 15) by manipulating the TV's power button so that the device thinks that a person is pressing it.
TV Control Panel
After installing LIBCEC, I created a Python script that runs as a daemon. He monitors the state of the motion sensor and, when necessary, turns the TV on and off. I placed this script in the file /home/pi/myscripts/ty_manager.py.
#!/usr/bin/env python import os, sys, subprocess, time, argparse, logging, datetime import RPi.GPIO as GPIO from apscheduler.schedulers.background import BackgroundScheduler PWR_PIN = 15 PIR_PIN = 14 isdisplayon = False def monitor_checkstatus() : global isdisplayon logging.debug('[*] CEC -> check current status of display') process_echo = subprocess.Popen(["echo", "pow", "0"], stdout=subprocess.PIPE, shell=False ) process_cec = subprocess.Popen(["cec-client", "-s", "-d", "1"], stdin=process_echo.stdout, stdout=subprocess.PIPE, shell=False) process_echo.stdout.close () ret = process_cec.communicate()[0].splitlines() if 'on' in ret[1]: logging.debug("[*] Display is currently on") isdisplayon = True else: logging.debug(" [*] Display is currently off") isdisplayon = False def monitor_toggle(): GPIO.output(15, GPIO.LOW) time.sleep(1) GPIO.output(15, GPIO.HIGH) def main(argv): global isdisplayon parser = argparse.ArgumentParser( description='A Power managment daemon for issuing CEC commands' ) parser.add_argument("-v", "--verbose", help="increase output verbosity", action="store_true") args = parser.parse_args() if args.verbose: logging.basicConfig(level=logging.DEBUG) logging.debug('[*] Launching powermanager.py in DEBUG mode') GPIO.setwarnings(False) GPIO.setmode(GPIO.BCM ) GPIO.setup(PWR_PIN, GPIO.OUT, initial=GPIO.HIGH) scheduler = BackgroundScheduler() job = scheduler.add_job(monitor_checkstatus, 'interval', minutes=20) scheduler.start() monitor_checkstatus() GPIO.setmode( GPIO.BCM) GPIO.setup(PIR_PIN, GPIO.IN) while True: # PIR triggered if GPIO.input(PIR_PIN): if not isdisplayon: logging.debug('[*] Motion detected, CEC -> Turning on display' ) monitor_toggle() isdisplayon = True else: if isdisplayon: logging.debug('[*] No motion, CEC -> Turning off display') monitor_toggle() isdisplayon = False time.sleep(1) GPIO.cleanup() if __name__ == "__main__": main(sys.argv) Then I created this systemd service file: [Unit] Description=TV Power Manager Service After=multi-user.target [Service] Type=idle ExecStart=/home/pi/myscripts /tv_manager.py [Install] WantedBy=multi-user.target After that, everything worked the way I wanted.
Are you planning to make a smart mirror?