Summary of Digital I/O with Arduino Boards
This lab exercise focuses on exploring Arduino's digital features, specifically Pulse Width Modulation (PWM) and serial communication. Students start by modifying their existing LED circuit to use a PWM pin for fading a single LED, then extend the circuit to fade three LEDs simultaneously using PWM pins 9, 10, and 11. The exercise demonstrates how PWM can simulate analog behavior and introduces controlling multiple LEDs with programmed patterns.
Parts used in the Arduino LED Fading Project:
- Arduino Board
- LEDs (3 units)
- Resistors (one per LED, typical value ~220Ω)
- Connecting wires
- Breadboard (optional for circuit assembly)
Readings in Physical Computing
- Ch 6. pgs 87-136 (this week and next week)
- Ch 7: Serial Communication [137-143; 149-150; 153-161]
Before the lab
You should have already successfully installed the Arduino environment on your laptop, built the LED circuit, and successfully load/run the “blink” program to make the LED blink. Congratulations!
In lab exercise
Objective
In this lab, we explore some of the digital features of the Arduino Board. Specifically, we’ll be looking at:
- Pulse Width Modulation (PWM) which “fakes” analog behavior using digital signals
- Serial communication with the laptop allowing for greater design flexibility
In exploring these features, we will use Arduino to not just blink a single LED, but to control and fade several LEDs at once.
Activity
Part 1: From blinking to fading
1. Start with the LED circuit you built for the “Blinking LED” Assignment. For that assignment, we used pin 13 to control the LED and make it blink. Ardiuno has several pins marked PWM which support Pulse Width Modulation. The example code uses Pin 9, so simply move the controlling wire from Pin 13 to Pin 9. 2. Load the example code from the Arduino Sketchbook (File‐>Examples‐>Analog‐>Fading). Load this onto the Arduino and watch the LED Fade.
Part 2: Fading 3 LEDs
3. Extend your circuit so that it includes 3 LEDs according to the diagrams below. Notice Pins 9, 10, and 11 are all marked PWM.
4. The following code dims the 3 LEDs according to a pattern. For your convenience, a copy of the code can be downloaded here (DimmingLEDs.txt). Look at the code and make sure you know what each line does.
For more detail: Digital I/O with Arduino Boards