Grade Level: High school; also scalable for middle school
Time Required: 1 hour (wild guess!)
Subject Areas: Computer Science, Physical Science, Physics, Problem Solving, Science and Technology
Maker Challenge RecapStudents are challenged to design their own small-sized prototype light sculptures to light up a hypothetical courtyard. To accomplish this, they use Arduino microcontrollers as the “brains” of the projects and control light displays composed of numerous (3+) light-emitting diodes (LEDs). With this challenge, students further their learning of Arduino fundamentals by exploring one important microcontroller capability—the control of external circuits. The Arduino microcontroller is a powerful yet easy-to-learn platform for learning computer programing and electronics. LEDs provide immediate visual success/failure feedback, and the unlimited variety of possible results are dazzling!
Maker Materials & Supplies
- computer, Window or Mac
- Arduino software; download from https://www.arduino.cc/en/main/software
- SparkFun RedBoard or Arduino Uno microcontroller and programming cable; an Arduino Inventors Kit is recommended, such as for $99 at SparkFun
- breadboard, jumper wires and 330-ohm resistors
- light-emitting diodes (LEDs), 3+ per project, in various colors such as red, green and blue
- assorted building materials and tools, such as plastic/paper/cardboard from the recycling bin, foam core board, glue, hot glue and glue sticks, pieces of rigid, colored acrylic, scissors, etc.
- (optional) 3D printer or laser cutter, and their fabrication material supplies
More Curriculum Like This
Students learn how to connect Arduino microcontroller boards to computers and write basic code to blink LEDs. Provided steps guide students through the connection process, troubleshooting common pitfalls and writing their first Arduino programs. Then they independently write their own code to blink ...
Students learn how to send signals (such as from buttons or sensors) from one system to another using XBee radio communication modules. By activity end, they are able to control LEDs and motors wirelessly using Arduino microcontrollers and XBee shields. Introduces the concept of the Internet of thin...
In the companion activity, students experimented with Arduino programming to blink a single LED. During this activity, students build on that experience as they learn about breadboards and how to hook up multiple LEDs and control them individually so that they can complete a variety of challenges to...
Students learn how to set up pre-programmed microcontroller units like the Arduino LilyPad and use them to enhance a product’s functionality and personality. They do this by making plush toys in monster shapes (template provided) with microcontrollers and LEDs sewn into the felt fabric with conducti...
We all encounter many lights throughout the course of our days, but often we do not give much thought to lighting until we are in the dark and wish we had more light!
Your challenge is to design a small-sized model of a light for installation in a courtyard on a college campus of an engineering school. The project requirements are that it must function as both efficient lighting—so people can find their way in the courtyard—as well be an aesthetic focal point. That means it needs to also be interesting, beautiful, serene and/or dazzling. You are required to use three or more LEDs in your design.
As you already know, microcontrollers, in this case Arduinos, function as the “brains” of projects. In this challenge, you get to explore one of the amazing powers of the microcontroller—its ability to control external circuits. And you’ll be working with LEDs, which give you immediate visual feedback.
(If desired show videos of computer-controlled lighting examples. Suggested teacher prompts follow.) Use your imagination for this project because it requires you to be practical as well as creative and artistic. What types of projects can you think of that use LEDs? What might you create if you could control the color of the LEDs? What would you create if you could control the light intensity? Think about what you want to do with the materials that you are given. Think about what you are trying to accomplish with your LEDs. Then create and test your system!
Before you embark on this challenge, make sure your Arduino microcontroller is correctly connected to the computer by blinking the LED that is attached to pin 13 (on Arduino Unos). To make this LED blink, connect wires to the little header next to pin 13. This header is also attached to the LED on the board. By doing this—checking to see if we can get the LED on the board to blink—we confirm that the code works for this pin, which is part of the board—so the connection is good. (If necessary, refer to the instructions for this pin 13 test provided in the maker challenge listed in the Resources section.)
Why do we do this? If you test and verify your progress and connections as you go, then when you run into a snag, you don’t have to troubleshoot back to the beginning. In this case, it is good to start with this test so from this point on you need only verify that your code works and do not have to worry about the main electronic circuit wiring.
- For inspiration, consider showing students videos of real-world computer-controlled LED projects, such as the Dallas skyline at night, Christmas tree lights and the San Francisco Bay Bridge lights.
- If necessary, refer to the Introduction to Arduino: Getting Connected and Blinking LEDs maker challenge, which introduces the Arduino microcontroller and provides instructions for testing the computer connection with the pin 13 LED.
- RedBoard information, SIK Guide: https://cdn.sparkfun.com/datasheets/Kits/RedBoard_SIK_3.2.pdf
- Analog vs. Digital explanation: https://learn.sparkfun.com/tutorials/analog-vs-digital
- Photographs of two example student light projects are provided below.
- For more information on Arduino light sculptures, see the TE activities, Build Your Own Arduino Light Sculpture! Part 1 and Part 2.
(Once students have the LED on the board blinking, begin the maker challenge.)
For this project, you are required to use at least three LEDs in your design. To control those LEDs, you need to create your own circuits for them.
To build our own circuits, we need to use breadboards. Breadboards are not connected to the Arduino until you provide the connections! When building circuits with Arduino and a breadboard, the key is to remember that a circuit needs to be a “circle.” You need to leave the Arduino with a wire (often attached to a header pin), but then you also need to come back to the Arduino, often to the ground pin. For instance, look at the circuit in Figure 1.
What is the route the wire makes (in Figure 1)? The wire leaves the Arduino (pin 13), goes through a resistor and an LED, and then returns to the Arduino through the ground (GND) node.
In this circuit, the resistor limits the current going through the LED. If the resistor is omitted from this circuit, the LED will still work due to nuances with the Arduino. However, it is best if you get in the habit of having a resistor in line with your LEDs if you want the LEDs to last! For the purposes of this exercise, just know that the 330-ohm resistor works great.
(Once one LED light is working, direct students to try to get two working. Give students the following prompt.)
Can you make it so that one LED is on while simultaneously another LED is off? (The easiest way to do this is to control two LED circuits independently with different Arduino output pins.)
(Once students have two lights controlled independently, they are ready to dazzle with their own creations!)
As you are designing your courtyard lights, consider these factors:
- Do you want the lights to be on full blast all the time (digitalWrite command) or do you want to dim the lights (analogWrite command)?
- How fast can the lights blink before human eyes cannot perceive the lights blinking anymore?
Some additional student project ideas:
- Light cascade: one LED goes on at a time, but otherwise is off
- Light cascade: one LED goes on at time, but then stays on
- Light cascade: one LED goes on at a time and when the light reaches the end, the order reverses direction (aka Knight Rider/Cylon)
- Blinking chaos: use the “random” function of Arduino to cause the lights to go on at irregular times
To further the exercise:
- Use hot glue sticks to “bend the light” by placing an LED at one end and bending the glue stick. Then, combine with a cardboard box to make a light sculpture.
- Use rigid, colored acrylic to build boxes and think about how to integrate the Arduino into other types of projects.
Fun Fact: The inventor of the blue LED won a Nobel Prize in 2014 “for the invention of efficient blue light-emitting diodes, which has enabled bright and energy-saving white light sources.” (Source: Nobel prize.org)
(Teacher prompts) Who has a project that they would like to share with the class? If you had better, brighter, more numerous LEDs, what could you make? (Example student answers: Lights that can be seen from the street, larger or life-sized sculptures, etc.)
(As a class, reflect on the Arduino exercise. Emphasize peer learning. What worked for one student today might not work for that same student tomorrow! Ask the following questions.) What went easily and smoothly? What was more challenging to get to success? Which of all the prototype projects we have created here today do you think best meet the design objectives—to provide ambient lighting for people walking by at night and be an aesthetic focal point of the courtyard?
If the LEDs are not lighting up, check to make sure that:
- the wire is placed in the correct row of the breadboard
- the LED is facing the correct direction; LEDs are directional so the longer pin needs to face the higher voltage (away from ground)
If the LEDs are on but dim, make sure students:
- declare the pin they are trying to use in the setup function using the command: pinMode(pin#, OUTPUT)
- are not using a 10k resistor (brown, black, orange) by mistake
Copyright© 2017 by Regents of the University of Colorado
Supporting ProgramITL Program, College of Engineering and Applied Science, University of Colorado Boulder
This activity was developed by the Integrated Teaching and Learning Program in the College of Engineering and Applied Science at the University of Colorado Boulder.
Last modified: August 28, 2019