Home Store Project Ideas Project Guide Ask An Expert Blog Careers Teachers Parents Students
Create Assignment

Use an Arduino™ to Control a Color-Changing Infinity Mirror *

Difficulty
Time Required Long (2-4 weeks)
Prerequisites Previous experience with electronics and an Arduino microcontroller is recommended. If not, you may need to complete some basic Arduino tutorials before attempting this project.
Material Availability This project requires an Arduino microcontroller, circuit components, and materials to build the mirror. See the Materials list for more information.
Cost High ($100 - $150)
Safety Short circuits can damage your Arduino or other electronic components. Always be careful when working with electronic circuits.

Cutting plexiglass can create jagged edges or small shards of material. Always wear protective eyewear when cutting plexiglass.

*Note: This is an abbreviated Project Idea, without notes to start your background research, a specific list of materials, or a procedure for how to do the experiment. You can identify abbreviated Project Ideas by the asterisk at the end of the title. If you want a Project Idea with full instructions, please pick one without an asterisk.

Abstract

This project is a follow-up to the Science Buddies project Explore Optical Illusions: Build an Infinity Mirror, which shows you how to build a basic infinity mirror using light emitting diodes (LEDs) and arts and crafts materials. What if you wanted to build an infinity mirror that could change colors, like the one in Figure 1?
Arduino controlled RGB LED infinity mirror
Figure 1. A color-changing infinity mirror.

You can do this by using special RGB (red, green, and blue) LEDs. Just like the pixels on a TV or computer monitor, an RGB LED actually contains three distinct color LEDs that can be controlled individually. Adjusting the relative brightness of the three base colors enables you to create a huge combination of other colors. Figure 2 shows the basic color combinations.

  • Note: Additive color mixing, which is what occurs when you add two or more different colors of light, is different from subtractive color mixing, which is what happens when you mix two or more different paints or pigments. Can you look up the difference between the two terms, and explain which one is used in this project?
RGB additive color mixing
Figure 2. Additive color mixing: Red and green are combined to make yellow; red and blue are combined to make magenta; and blue and green are combined to make cyan. All three colors are combined to make white, and the absence of any color leaves black. (Image credit: Wikimedia Commons user Quark67, 2006)

So, how do you control the individual brightness of the red, green, and blue LEDs? Engineers and hobbyists commonly do this using pulse-width modulation or PWM. Pulse-width modulation essentially means that you flick the LED on and off very fast, much faster than the human eye can see. Varying the width of the "pulse" relative to the on-off period is called the duty cycle. A duty cycle of 0% means the LED is never on, and will appear dark. A duty cycle of 100% means the LED is always on, and will appear at full brightness. A duty cycle of 50% means the LED is on half the time and off half the time — so it will light up, but not as bright as a 100% duty cycle. Figure 3 shows graphs of voltage vs. time for different duty cycles.

pulse width modulation duty cycles
Figure 3. Graphs of voltage versus time for different duty cycles. The greater the duty cycle, the brighter an LED will appear. These graphs are just for illustration purposes, so the axes do not have specific units. For example, if an LED is on for 1/100th of a second and off for 1/100th of a second, or on for one second and off for one second, in both cases the LED has a 50% duty cycle.

How would you go about using pulse-width modulation to control the brightness of three different LEDs? You have probably guessed that manually flicking three switches on and off as fast as you can is not going to work. This is where a microcontroller comes in handy. You can program a microcontroller, like the popular Arduino™, to electronically control LEDs using pulse-width modulation. Can you build your own infinity mirror with RGB LEDs that are controlled by a microcontroller, like the one in Figure 1?

Because this is an abbreviated project idea, Science Buddies will not provide an exact list of materials or a procedure you can follow to build a specific type of mirror. Instead, you will have to do some of your own background research and figure out how to use an Arduino and build an infinity mirror. The references in the Bibliography can help you get started, but how exactly you design, build, and control your mirror is up to you. The possibilities are nearly endless for the sensors and control mechanisms you can use with an Arduino. Here are just a few ideas you can try:

  • Use individual control knobs to manually adjust the three LED colors (as the first reference in the Bibliography does).
  • Make the LEDs react to sound from an audio source, like an MP3 player or a microphone (search the Web for something along the lines of "sound activated LED" and you will find many good tutorials).
  • Control the color of the LEDs with a distance sensor that measures how far a person looking at the LEDs is standing in front of the mirror.
  • Make a temperature-controlled infinity mirror using a temperature sensor.
  • Use a light sensor to automatically turn the LEDs on when the room is dark and turn them off when the room is bright.
  • Make the LEDs change color based on the time of day.
  • Use a digital LED strip (also referred to as an addressable LED strip), where the color of each RGB LED can be controlled individually (the mirror in Figure 1 uses an analog LED strip, where each RGB LED must be the same color).

Credits

Ben Finio, PhD, Science Buddies

  • Arduino is a registered trademark of Arduino and its partners.

Cite This Page

MLA Style

Science Buddies Staff. "Use an Arduino™ to Control a Color-Changing Infinity Mirror" Science Buddies. Science Buddies, 28 July 2017. Web. 17 Nov. 2017 <https://www.sciencebuddies.org/science-fair-projects/project-ideas/CompSci_p050/computer-science/color-changing-infinity-mirror-arduino>

APA Style

Science Buddies Staff. (2017, July 28). Use an Arduino™ to Control a Color-Changing Infinity Mirror. Retrieved November 17, 2017 from https://www.sciencebuddies.org/science-fair-projects/project-ideas/CompSci_p050/computer-science/color-changing-infinity-mirror-arduino

Share your story with Science Buddies!

I did this project I Did This Project! Please log in and let us know how things went.


Last edit date: 2017-07-28

Bibliography

News Feed on This Topic

 
, ,
Note: A computerized matching algorithm suggests the above articles. It's not as smart as you are, and it may occasionally give humorous, ridiculous, or even annoying results! Learn more about the News Feed

Share your story with Science Buddies!

I did this project I Did This Project! Please log in and let us know how things went.

Ask an Expert

The Ask an Expert Forum is intended to be a place where students can go to find answers to science questions that they have been unable to find using other resources. If you have specific questions about your science fair project or science fair, our team of volunteer scientists can help. Our Experts won't do the work for you, but they will make suggestions, offer guidance, and help you troubleshoot.

Ask an Expert

Related Links

News Feed on This Topic

 
, ,
Note: A computerized matching algorithm suggests the above articles. It's not as smart as you are, and it may occasionally give humorous, ridiculous, or even annoying results! Learn more about the News Feed

Looking for more science fun?

Try one of our science activities for quick, anytime science explorations. The perfect thing to liven up a rainy day, school vacation, or moment of boredom.

Find an Activity