Skip to content
Snippets Groups Projects
README.md 4 KiB
Newer Older
Nick Madeira's avatar
A1
Nick Madeira committed
In this assignment, you will design and build an environment-responsive light using an RGB LED, a microphone, a photocell, and your own creative lo-fi input. You have two weeks to complete this assignment. The mid-point checkin is due next week (April 14th). Make sure you take pictures of your design process (mistakes too!).

# Learning Objectives

You will gain an introduction to and practical experience with the following concepts (we will build on these throughout the quarter):

 - Fundamentals of electronic circuits, including voltage, current, and resistance
 - Basic circuit design concepts, including voltage dividers, pull-up and pull-down resistors
 - Basic microcontroller concepts, including digital I/O and analog I/O
 - Programming the popular rapid prototyping embedded platform Arduino

# Parts

Your nightlight will have multiple modes, selectable by a single "mode-switch" button wired using the Arduino's internal pull-up resistor. The RGBs we purchased in your kits are common cathode.

1. [2 pts] Mode switch button that switches between modes.

2. [3 pts] Mode 1: Crossfading RGB LED with brightness inversely proportional to the light level. In this mode, you should crossfade the RGB LED across a color spectrum of your choosing. The brightness of the RGB LED should be inversely proportional to the light level (i.e., the darker the room, the higher the brightness). To learn more about this, see Lesson 5 (Links to an external site.) and Lesson 6 (Links to an external site.) in our Intro to Arduino series.

3. [3 pts] Mode 2: Responding to sound. In this mode, your night light should respond to ambient sound levels either by changing brightness or changing color.

4. [3 pts] Mode 3: Configuring color with lo-fi input. In this mode, you will design and implement your own lo-fi analog input (using everyday objects like pencil lead, conductive paint, conductive thread, some great ideas at kobakant  (Links to an external site.)and konp.plusea (Links to an external site.)). This analog input must be hooked up using a voltage divider circuit and should be used to select the night light's color (once selected, this color should stay until a new analog input value is detected).

5. [2 pts] Creative feature: Add in a creative feature of your choice—this could be a new physical control, actuation (e.g., LED affixed to servo), selecting color using Serial output from your computer, etc.

6. [1 pt] Lo-fi diffuser. Create a lo-fi form (e.g., using cardboard, paper, foamcore, etc.)  that diffuses the LED and encloses (at least some) of your hardware. 

# Deliverables

 - [2 pt] Your code, which must be either in GitHub or UW CSE's GitLab,  (Links to an external site.)and linked in your report. Your code should follow software engineering best practices and be formatted for readability. Any code that is informed by or copied from the Internet (or other sources) must be properly commented with an attribution link back to the source. 

 - [2 pts] A 16:9 slide deck report that: (i) provides an overview of your night light; (ii) describes your design process, (iii) enumerates key struggles and challenges; (iv) reflects on what you learned; (v) links to your code and video. You should have at least one slide dedicated to each point (with images). You need not write in prose (you can bullet point the entire report). We will use these reports for share-outs on the due date (you will share and critique each other's designs via small-group activities). Important: Links to your code and video must be in your report!

 - [2 pts] A brief (2 mins or less) video overview of your night light posted to this Google Drive (Links to an external site.) folder, which walks us through each of the required parts of the assignment. This can and should be super casual, no editing is necessary. You can use your laptop camera or an additional smartphone for recording. You can also upload your video to YouTube or Vimeo if you'd like but please also include it in the aforementioned Google Drive folder. Please include a link to this video in your report.