Weekly Schedule

This schedule is subject to change

Jump to current assignment

  •  Week 1: Monday September 4 2:40-3:55 PM

    • Introductions
    • Syllabus review
    • Announcements:
      • IM Open House Wednesday from 6:30pm – 7:30pm in the IM Lab
      • Sign up for the Announcements List (nyuad.im/updates)
      • Follow our Facebook Group (https://www.facebook.com/groups/IMNYUAD/)
      • We will be hiring Lab Monitors for the Fall semester and posting the job listing on the CareerNet portal shortly. If you are interested, speak with James & Ume.
      • Is IM becoming a major? We’re working hard on it,  we’re optimistic it will materialize sometime next semester. Come to the Open House on Wednesday to hear more.
    • Why are we here? What’s the class about?
    • Examples of projects
    • Let’s make something: Simple Arduino LED and switch activity (near the bottom) (Reference: Sparkfun breadboard tutorial)
    • Introduction to the IM lab from Ume and James
    • Assignment due this week(!) Wednesday September 6:
      • Download the Arduino software. Try to install it if you can but don’t worry if you have trouble. We’ll do that in class.
      • Post (to this blog) a link to any Interactive Media project you can find. In order to post to the blog do the following:
        1. You should have received an email from the blog that you were added. When you respond to that email you are given a chance to change your password
        2. Visit http://intro17fall.nyuad.im/wp-admin/
        3. Log in
        4. On the left hand side you should see a menu. Hover over “Posts” and select “Add new”
      • Read about home-made switches here.
      • Think about how you might make a home-made switch. Here is a great example of one. It would be good if you could come to the lab and try to make it, but at least sketch out your idea. Make a post in this blog about it.
      • Read the following (also for this week(!) Wednesday September 6:)
    • Optional references
  • Week 1: Wednesday September 6 2:40-5:20pm

    • I noticed there was packaging and some components left behind after class. I apologize for not pointing out the trash can and the recycling bin, and for not telling you to bring any leftover components to me (or keep them yourselves).
    • Open House reminder: 7:00 tonight in the lab
    • Lab Safety Orientation
    • Review homework (links and switch ideas)
    • Discussion: What is Arduino? How can it control things? How does a program (software) make stuff happen in the physical world (hardware)? How does “blink” work? Why does it blink forever? How can you make the program stop? Where does the program live? What is “uploading”? Do you still need a computer attached after you upload the program?
    • Do stuff:
      • Upload Blink
      • Change delay
      • Play around: rearrange lines, copy and paste
      • Use the breadboard to add an external LED
      • Introduction to schematics
      • Move external LED to different pin and make it work again
      • Both LEDs
      • More LEDs (perhaps on your own)
    • Analog input
      • Example
      • Serial monitor
      • Input and output, combined with if() statement
    • Do stuff:
      • Experiment with the input and output example, changing, adding, removing elements. Experiment too with the if() statement.
    • Homework due September 11:
      • Read The Art of Interactive Design Chapter 1
      • Read The Jump to Universality
      • Read about digital input and output, analog output, and analog Input
      • Read Arduino if() statement tutorial
      • Read the Sparkfun schematic tutorial. Don’t worry too much about all the details but try to get a general idea.
      • If you are a little confused by the breadboard, read this tutorial or ask for help.
      • Recreate the light dependent resistor (LDR) circuit and the LED circuits we did in class. Use at least 3 LEDs. Make the LEDs do something different  depending on the value from the light sensor. Make at least 3 different behaviors (e.g. below some value, between two values, above some value). Document properly, including a schematic and your code, in a blog post.
  • Week 2: Monday September 11 2:40-3:55 PM

    • Homework discussion
      • Review LDR+3LED assignment
      • There are No Electrons
        • What’s the difference between voltage and current? What’s their relationship?
        • What is analog output? On what pins does it work?
    • >Homework due Wednesday September 13
      • Readings
        • Browse chapter 4 (Really Getting Started with Arduino ) of Getting Started with Arduino, paying close attention from the bottom of page 44 through the end of the chapter.
        • Read chapter 5 (Advanced Input and Output) of Getting Started with Arduino
        • Make note of anything you don’t understand in these two readings
      •  Doing
        • Build a circuit with two LEDs, and use analogWrite() and delay() to create a pattern of changing brightness on them. Do not use for() loops and do not use sensors. Control one LED in setup() and the other in loop(). Print what you are doing using Serial.println(). Document properly in a post and explain why the two LEDs behave so differently. HINT: The answer is a terribly simple, and the purpose of this exercise is to demonstrate that. For some reason people don’t understand how simple this is. If your program is getting complicated, you are taking the wrong approach. Think of the simplicity of the blink example, and think about using  analogWrite() instead of digitalWrite() . Think of the difference between setup() and loop().
        • Read the Arduino fade tutorial
    • Homework due Monday September 18
    • Week 2: Wednesday September 13 2:40-5:20pm

      • EDS material is only to be used in the EDS and not removed. If you want to check out items, you should get them from the Interactive Media lab or talk to me.
      • Show your work!
        • What problems did you experience?
        • Do you have any questions about concepts in chapters 4 and 5 of “Getting Started with Arduino”?
        • What does “state” mean?
        • What is bouncing? How does debouncing work?
      • Activity
        • Do examples 4.3, 4.4, and 4.5 in GSWA
      • Homework due Monday September 18
        • Readings
          • Arduino for() loop tutorial
          • Arduino map() tutorial
          • Arduino blink without delay tutorial
          • servos
          • Don’t forget the two readings assigned on Monday (above) that are also due on Monday September 18
        • Doing
          • In Arduino, select File, Examples, Analog, Fading. Run the program and observe how it works. Compare this to the fade tutorial we read earlier. Do these two fade programs accomplish almost the same thing? What is the main difference between these two?
          • Use Serial.println() to display the value of LOW, HIGH, A0, and LED_BUILTIN. Print these values only once. Upload your code in a post using the new Crayon Syntax Highlighter plugin. See this post for instructions.
          • Run the BlinkWithoutDelay example ( File, Examples, Digital, BlinkWithoutDelay) . Try to understand how it works. Use Serial.println() to help you understand. Where are some good places to insert  Serial.println() , and what are good messages to print? Upload your code in a post.
          • Be prepared to introduce yourself briefly
  • Week 3: Monday September 18 2:40-3:55 PM
    • Discussion
      • Homework review
        • How is the fading example different from the fade tutorial?
        • How can we print out values of constants?
        • How does the BlinkWithoutDelay example work? How did you inspect what’s going on?
    • Homework due Wednesday September 20
      • Experiment 8: Driving a Servo Motor in the the SparkFun Inventor’s Kit Guidebook
      • Build a circuit and write a program to use a photoresistor (LDR) to control the servo motor. Write a post including your program and a schematic. If you find any other tutorials helpful include a link to them.
  • Week 3: Wednesday September 20 2:40-5:20pm

    • Administration
      • Photograph permission
      • Allow time for cleaning up and leave the lab cleaner than when you arrived
      • Model good behavior
      • Discussion
        • The Art of Interactive Design
        • The Jump to Universality
        • Emotion & Design: Attractive things work better
      • Introductions
      • Start working on homework. Here is the code I showed you in class:

         

    • Homework for Monday September 25:
      • Note that as far as tone() is concerned, a speaker and a piezo buzzer work exactly the same. Use whichever you have handy.
      • Read
      • Build a circuit with the piezo buzzer (or speaker), the servo motor, and a momentary switch (often called a pushbutton). Create a simple sequence of actions using tone() and the servo write() functions. Activate your sequence once when the button is pressed; to activate again release the button and press again. Include a schematic and your code in your post.
        Note that some servos have limited range. If your servo twitches, don’t make it go so far. In other words, if it twitches when you send it to 180 degrees, don’t go above 170 or 160 degrees. Similarly, if it twitches at 0 degrees, don’t go below 10. Try different numbers and see what your servo is happy with. Use the simple code in the Arduino ServoWrite tutorial to test with just one position.
  • Week 4: Monday September 25 2:40-3:55 PM
    •  Homework review
      • Discuss in pairs:
        • What problems did you have?
        • How did you verify that your circuit was correct?
        • How did you verify that your program was correct?
        • If your project didn’t work, how did you figure out if the problem was in the program or the circuit?
        • How did you debug (find what was wrong) in your circuit? Your program?
      • Report on one thing your learned that you think will help your next assignment.
        • Nathalie: Going back to basics: before starting on an elaborate project, review your understand of each element and test in isolation
        • Laina: Use Serial.print() to see if the signal is coming in (sensors) or out (actuators)
        • Atoka: Color coding!
        • Abdullah: difference between logic errors and syntax errors
        • Nav: logic errors: go over loop in your head, dry run the code (on paper, pretending your are a computer)
        • Tayla: find an example that speaks to you in some way
        • May: double your circuit and make sure wires are in the right rows!!!
        • Jahnae: not even a button is intuitive
        • Ju Hee: learned order of initializing notes
        • Robert: importance of documentation, even when things seem pretty easy to understand
        • Jiji: Thinking simply, going back to individual assignments
        • Van: retype code rather than cut-and-paste examples
        • Russel: More than one way to approach and solve a problem
        • Alex: Double check the resistor values!
        • Deigo: 1) using Serial.print() 2) open the individual simple sketches plus the one you are building
        • Claire: reading VERY carefully
        • Bonus: focus on getting basic to work before elaborating
    • Discussion
      • Functions part 1
      • Review: What have we learned so far?
    •  Homework due Wednesday September 27
      • Read Experiment 9: Using a Flex Sensor. Compare the circuit to the one we use for an LDR. It’s exactly the same, substituting the flex sensor for the LDR. Recall that this circuit is called a voltage divider.
      • Read Experiment 10: Reading a Soft Potentiometer. Compare the circuit to the voltage divider. It’s a little different because the soft potentiometer actually contains both halves of a voltage divider. There is a separate fixed resistor, but that’s for a different purpose.
      • Read the Arduino Array Tutorial
      • Read the Arduino Function Tutorial
      • Make a very simple musical instrument using any one of the things we’ve learned about and the piezo buzzer.
  • Week 4: Wednesday September 27 2:40-5:20pm
    • Homework review
      • Everyone share their musical instrument
      • Next time you must give your instrument to your neighbor
    • Homework feedback
      • If you want individual feedback make an appointment to meet with me
      • Homework handed in up to now will be evaluated strictly on whether it was completed on time. From now on the following details will be evaluated as well:
        • If you want your past homework to be counted, change the name of you post to include the due date. Put the due date in the name of all your future assignments.
        • From now on, all assignments must be accompanied by a post, whether I explicitely say so or not. Each post must include a description, your code (if there was any), and your schematic (if there was a circuit).
        • I’m extra happy when you mention what went wrong and how you tried to figure out what was happening (Atoka?)
        •  Schematics
          • Inputs on left, output on right, 5V on top, GND on bottom
          • Don’t explain how to wire up a circuit in words. All the information should be included in the schematic
          • Include component values
          • What is and is not a schematic
          • Fritzing is OK as long as you route wires
          • Short circuits are clues that you have made a mistake
        • If you put links in your post, make them real
        • Change your name
        • Good descriptions can be brief. Good examples are Atoka and Tayla
        • Avoid unnecessary code. Although it might not be an error, it shows some mis-comprehension. By understanding why this is unnecessary you become a better programmer (parallels exist in software too).
        • Remove irrelevant comments
        • Fix indentation with <CTRL> T
        • Don’t include code without using the Crayon tool
        • If you claim that your code (or circuit) is fine, explain how you reached this conclusion
        • If you use a trick in your code, explain how it works and what purpose it serves in your application
        • Never include screenshots of code
        • Never include stuff that looks like this:

          If you see something like this, remove it, and figure out how to put your code in correctly. Ask me to help.

    • Discussion:
      • Arrays
        • Live examples: average 3 numbers
      • float and long data types
      • Functions part 2
        • Live examples: arrays and functions
        • Here is the example we developed and discussed in class:

    • Demo: How to get off the breadboard
      • How to solder
        • components to boards
        • wires to boards
      • How to extend wires on LDRs, flex sensors, LEDs, etc. It’s OK to solder wires to these sensors, but never solder wires to more expensive sensors or anything with real pins
      • How to extend wires to expensive sensors or anything with real pins.
    • Assignment due Monday October 2
      • Elaborate your musical instrument using any of the things we’ve learned about. Think about how you might use momentary switches, light sensors, LEDs, the piezo buzzer, and the servo motor. Think about the design: How will a user know how to use it without instructions from you? How will your instrument communicate its conceptual model? What affordances and signifiers have you provided?
  • Week 5: Monday October 2 2:40-3:55 PM
    • Artist talk with Davide from Farfalle to highlight specific projects, give insight into the creative process of bringing projects to life, and to see images from a new project.
    • Show your musical instrument.
    • Assignment due Wednesday October 4 
    • Assignment due Monday October 9
      • Create a whimsical project, which need not engage in any critical manner, but must strive to be amusing, unexpected, or delightful.  Consider affordances and signifiers, and take into account of all the feedback you received regarding your musical instrument. Show off your knowledge of inputs and outputs and apply some of the programming concepts we’ve learned recently. Here is an example of this concept.
  • Week 5: Wednesday October 4 2:40-5:20pm

    • Debugging hardware
      • Review of voltage, current, resistance
      • Voltage drops and dividers
      • What is the voltage drop of a short circuit?
      • How much current flows in an open circuit?
      • Multimeter
        • Voltage
        • Resistance
        • Continuity
        • Why should we not measure current
        • Does the multimeter affect the circuit it is measuring? How?
        • Is it safe to touch the probes when making measurements?
    • Debugging software
      • Serial.print()
      • Built-in examples
    •  Assignment: See above for Assignment due Monday October 9
  • Week 6: Monday October 9 2:40-3:55 PM
    • Preparation: Each of you will review your neighbor’s whimsical project (make list on board)
    • Show your whimsical project
    • Lab: Transistors and motors
    • Assignment due Wednesday October 11
  • Week 6: Wednesday October 11 2:40-5:20pm

    • Show your motor project
    • Demonstration: Introduction to Processing
    • Assignment due Monday October 16
      • Make a self portrait in Processing
      • Read Daniel Shiffman’s Objects tutorial
      • Loops in Processing are almost exactly the same as in Arduino. Read the Processing loop reference
      • Write a simple Processing program which uses a loop to draw 5 rectangles in slightly different places. The design doesn’t matter; I just want you to see how to use loops in Processing.
  • Week 7: Monday October 16 2:40-3:55 PM

    • Show your work (self portrait and 5 rectangles)
    • Classes and Objects example
    • Assignment due Wednesday October 18
  • Week 7: Wednesday October 18 2:40-5:20pm

    • Review translations
    • Demonstrate Arduino-Processing communication
      • Graph
      • Serial Call and Response
    • In-class work:
      • Make a drawing in Processing using two potentiometers on Arduino
    • Assignment due Monday October 30
      • Recreate a computer art piece in Processing. Your inspiration might come from an old issue of “Computer Graphics and Art”, one of our readings, or some other work. In your post, provide a link to the work that inspired your recreation.
      • Read and try to understand as best as possible the following tutorials:
      • We would like to have your projects for Open Studio (November 6). If you need parts to repair your projects let me know.
      • Read Lev Manovich
  • Week 8: Monday October 30 2:40-3:55 PM

    • View computer art and source code
    •  Review Arduino/Processing communication examples (File -> Examples -> Communication) in Arduino:
      • Dimmer (single number from Processing to Arduino)
    • Assignment due Wednesday November 1
      • Control a servo motor connected to Arduino using your mouse in Processing. When your mouse is on the left the servo should point one way, and when the mouse is on the right the servo should point roughly in the opposite direction. In between the servo position should be scaled to the mouse position.
      • Control an LED connected to your Arduino using two rectangles in Processing. Click the mouse inside one rectangle to turn the LED on, and click in the other rectangle to turn it off. The LED should only change state when the mouse is clicked.
  • Week 8: Wednesday November 1 2:40-5:20pm
    • Finish Arduino/Processing communication examples (File -> Examples -> Communication) in Arduino:
      • From Processing to Arduino
        • Review Dimmer (single number from Processing to Arduino)
        • PhysicalPixel (single ASCII value from Processing to Arduino)
        • ReadAsciiString (multiple ASCII value from Processing to Arduino)
          • What can go wrong here?
      • From Arduino to Processing
        • Graph (single number from Arduino to Processing)
        • VirtualColorMixer (multiple numbers from Arduino to Processing)
      • If either of these examples give you Nan (Not a Number) errors, replace serialEvent() with this
    • In class work
      • Connect two potentiometers to your Arduino and use them to draw a picture in Processing, for example, like an Etch-A-Sketch.
      • Add a pushbutton to your Arduino and use it to erase the picture in Processing
    • I have had to revise the schedule for Open Studios. I will not have time on Monday to help you, so if you need my help it will have to be over the weekend. I will be working in the Art Center all weekend, mostly in the lab, but sometimes installing work at other sites.

        1. Due Friday November 3 at 5 PM
          • Let me know what projects(s) you want to show in Open Studios. Your musical instrument, whimsical contraptions, or your Processing/Arduino game assignment would be fun, but it (or they) can be anything you want from this class. You may show more than one project. Post this information to our WordPress site for me to gather. Title your post “Open Studios”.
          • If you need my help, send me email telling me when, before Sunday at 6pm, you want to come.
        2. Due Sunday November 5 at 9 PM
          • If you need my help for any of your projects, we must be done by Sunday at 9pm as I will not be available on Monday
        3. Due Monday November 6 at noon
          • Your project must be finished as we will be setting up the lab at this time.
        4. Due Monday November 6 at 2:40 PM
          • Make a game in Processing controlled by sensors attached to Arduino. If your game is part of Open Studios you do not need to bring it to class so that it can be set up in the lab.
        5. Remember that on Monday we will meet in C3-187
  • Monday November 6 Open Studios

    • Diego – Arduino/Processing game
    • Tayla – game
    • Alex – Flappy birds
    • Claire – Jukebox
    • Jahnea – Arduino/Processing game
    • Atoka – missing
    • Ju Hee – missing
    • Laine – missing
    • May – missing
    • Nathalie – missing
    • Robert – missing
    • Russell – missing
    • Van – missing
    • Abdullah – excused
    • Navya – excused
  • Monday November 6 2:40-3:55 PM

    • Remember that on Monday we will meet in C3-187
    • Informal discussion
  • Wednesday November 8 2:40-5:20pm
    • Lecture
      • Arduino Shields
      • Other types of Arduinos
      • Other Arduino “compatible” controllers
      • Sensors
    • Field trip
      • What’s in the lab
  • Monday November 13 2:40-3:55 PM

    • Lecture
      • Memory, Data Types, And Serial Communication
      • How would you send a byte between two Arduinos if all you have is 1 digital pin (output on one Arduino and input on another)?
      • Why is this relevant? Because in order to make effective use of the serial port to communicate between Arduino and Processing, we need to understand how the two communicate.
    • Demo
      • Data from Processing to Arduino display on 16×2 LCD Display Module:

        It is often useful to have a display attached to an Arduino project, so that the project can provide information without having to attach a computer and use the serial monitor. A common, inexpensive display is this LCD display with two lines of 16 characters each. Although you can control the display directly from your own program, Arduino provides a built-in library which makes this display much easier to use.

    • Homework due Monday November 20
      • Read the Arduino LiquidCrystal library reference for the following functions:
      • Build the LCD circuit. Note that you need both a 220 ohm fixed resistor and a 10K ohm variable resistor (also referred to as a potentiometer or a trimpot)

      • The Fritzing file is available here

      • Read the tutorial for the Liquid Crystal Hello World example. You might find the tutorials for the other examples useful as well.

      • Upload, observe, and try to understand the following examples:
        • File -> Examples -> LiquidCrystal -> HelloWorld
        • File -> Examples -> LiquidCrystal -> SerialDisplay
      • Combine the Liquid Crystal SerialDisplay example with the communication Fade example so that as you move your mouse from one side of the canvas to the other, the LCD displays the numbers you are sending from Processing.
      • Don’t take your LCD circuit apart! Bring it to class on Monday

  • Wednesday November 15 2:40-5:20pm

    • Laser cutter and 3D printer
  • Monday November 20 2:40-3:55 PM

    • Share your solution to SerialDisplay + Fade with your neighbor (5 minutes)
    • Demo: Using LCD to show communication between Processing and Arduino.
      • First add code to initialize LCD, needed any time you want to use one:
      • Notelcd.println() does not work with an LCD, as it sends the <CR> and <LF> characters which the LCD panel does not recognize.
      • Displaying on LCD data sent from Arduino to Processing:
        • Graph (single number from Arduino to Processing)
          • try this:

            Also try DEC and HEX

        • VirtualColorMixer (multiple numbers from Arduino to Processing)
      • Displaying on LCD data sent from Processing to Arduino:
        • Dimmer (single number from Processing to Arduino)
        • PhysicalPixel (single ASCII value from Processing to Arduino)
        • ReadAsciiString (multiple ASCII value from Processing to Arduino)
      • If either of these examples give you Nan (Not a Number) errors, replace serialEvent() with this
  • Wednesday November 22 2:40-5:20pm
    • Lecture and practice: Image Processing
      • Images belong in data folder in sketch folder

      • Create a Pimage obhject and load an image from a file:

      • Display the image with image(). Can also be used to resize:

        •  

      • Change image mode just like rectangle

      • The image is now on the canvas and you can draw on top of this using what you already know.

      • You can also use transformations:

      • tint() can be used before displaying with image() change image quality. It works with one, two, or three arguments (monochrome, monochrome+alpha, RGB)

        •  

      • You can work directly with each pixels using the pixels[] array

    • Assignment due Monday November 27
      • Read Digitize everything
      • Read Golan Levin’s notes on computer Vision for Artists
      • Read pages 162 to 184 of Getting Started with Arduino, (The Proto Shield, Laying Out Your Project on the Proto Shield, and Soldering Your Project on the Proto Shield). You might want to quickly browse the beginning of the chapter so you have some context for the project.
      • Using image manipulation, alter a photo. Can you use the effects we learned about (and others you may learn on your own) to get the class to say “wow”?
  • Monday November 27 2:40-3:55 PM
    • Show your image to the class
    • Discuss with your neighbor how you achieved that. See if you can learn something from each other.
    • Moving images 
      • Examples -> Topics -> Animation -> Sequential
      • Simplified Sequential
      • Examples -> Topics -> Animation -> Animated Sprite
    • Sound
      • Install library
        • Sketch -> Import Library -> Add Library
        • Search for Sound and install The Processing Foundation Sound Library
      • Examples -> Libraries -> Sound -> Oscillators -> SineWave
      • processingSoundLibraryTwoSines
      • Examples -> Libraries -> Sound -> Soundfile -> Sample
      • Examples -> Libraries -> Sound -> Demos -> Keyboard
      • Examples -> Libraries -> Sound -> Effects -> Filter -> LPF
    • Case studies
      • My shields
      • Atoka’s project
    • Final project
      • Create a physically interactive system of your choice that relies on Arduino and Processing in some way.

        Your focus should be on careful and timely sensing of the relevant actions of the interactions that you’re designing this for, and on clear, prompt, and effective response. Any interactive system is going to involve systems of listening, thinking, and speaking from both parties. Whether it involves one cycle or many, the exchange should be engaging.

        The theme for the projects is Space, which you may interpret as broadly as you wish

        You may work alone or in groups.

      • Example categories
        Musical Instruments. Performing music involves a sustained engagement between the performer and the instrument. The feedback from the instrument has to be immediate and clear in order for the performer to continue playing. The interface has to be flexible so that the musician can exercise her creativity in playing, but has to have some boundaries so that she knows what the instrument can do and what it can’t do.

        Game interfaces. Like musical instruments, they involve constant back-and-forth interaction and immediate response. They are often simpler than musical instruments. In fact, the standard game controller has gotten so standard that the action of many games is artificially adapted to the needs of the controller, not the physical expressiveness of the player. Pick a specific game and see if you can change that.

        Assistive devices. Whether it’s something as simple as a reaching device or something more complex, these devices are very demanding of clear, reliable response.

        Remote control systems. They require not only a clear interface, but must also return enough information on the remote system’s action to let you know that you’re doing the right thing. Whether it’s a remote controller for your home electrical devices or a Mars rover controller, the need for clarity and good feedback are equally essential to the person who it’s made for.

      • Examples of projects within your reach
         
      • Many more here. Although some of them are quite complex you might use them for inspiration and simplify some aspects.
      • There are many other good approaches for this project. I encourage you to be creative. Discuss the specifics of yours with your me.

    • Signal-to-noise ratio
    • Assignment due Wednesday November 29
  • Wednesday November 29 2:40-5:20pm
    • Computer vision
      • Examples -> Libraries -> Video -> Capture -> GettingStartedCapture
        • Very simple single frame (repeatedly)
      • Examples -> Libraries -> Video -> Capture -> BrightnessTracking
        • Very simple concept, relatively easy to implement, very dependent on background etc. but can be made to work by cleverly constraining the environment
      • Daniel Shiffman’s Color Tracking example
        • How would you access this information?
      • Daniel Shiffman’s Motion Pixels example
      • Further exploration
    • Talk about project ideas. Discuss feasibility and requirements.
    • Clean up your shelves, take apart projects you don’t need, and return parts you’ve borrowed
    • In-class activity:
      • Install Processing Video
      • Download and test Daniel Shiffman’s two examples above
    • Write a Processing sketch to use a bright light or a colored object to paint
  • Assignment due Monday December 4
    • Create your first rough prototype of your final project.
    • Important: The blog post below is due before class i.e. Monday December 4 2:40
    • Write a fairly detailed blog post about your plan for your final project addressing the following points:
      • Sketch (hand or digital as you prefer) your concept
      • Describe, in at least a couple of paragraphs, your project
      • A list of parts you’ll need (don’t worry about things like wire, I’m more concerned with big items I’ll need to purchase or reserve such as motors (what kind?), projectors, computer monitors, projection screens, motor shields, Bluetooth modules, Xbee modules, etc.
      • A detailed list of topics you need to learn, possibly with my help. Be honest about what you don’t know yet: How to use motor shield, Bluetooth modules, XBee, etc.
      • A list of tools you expect to use for which you don’t have easy access: table saw, welding machine, etc. Don’t list the laser cutter or any of the hand tools in the lab.
      • A block diagram of your circuit
      • What you think are going to be the 3 most difficult parts of your project
  • Monday December 4 2:40-3:55 PM

    • Present prototypes
  • Wednesday December 6
    • Assignment:
      • continue working on final
      • do user testing with final project
  • Monday December 11 2:40-3:55 PM
  • We have a busy schedule in the next 3 days. Expect my availability, and that of Ume and James, to decrease rapidly as the show gets closer. The sooner you finish your projects the better it will be. Remember to simplify.
  • Room 006 is available starting now for working on projects and for project installation. You are encouraged to move your work there even if you are still working on your project, as the lab is already very crowded and will be getting much worse.
  • Schedule:
    • Monday
      • Class will meet at 2:40 in 006
      • 2:40-2:55 evaluation time
      • 2:55 Ume and James will show you where your project will be
    • Wednesday
      • 2:30 Your projects must be finished, working, and set up completely by Wednesday at 2:30. Projects not ready will result in poor grades.
      • 2:40 Presentation of projects to the class
      • 5:20 Class finished. Get some dinner and relax a little.
      • 6:00 Exhibition opens

Rules for the Show:

  • Charge your laptops before the exhibition. They must run for 2 hours without power.
  • Bring your charger anyway just in case
  • Disable autolock, screensaver, sleep, etc. on your laptop so it does not stop your project in any way
  • Stay at your project for the two hours of the exhibition
  • 8:00: Performances start
  • 9PM: Show is over!
  • Current Assignment

Final project writeup assignment

This assignment is due on Wednesday December 20 at 5:20 PM

Document your final project in a blog post:

  • Concept: What was your project about? How did you use technology to accomplish this? What design principles did you apply?
  • Hand drawn sketch, computer drawing, or a photograph of the overall project
  • Discuss the materials and construction techniques. Why did you chose these? Knowing what you know now, would you have chosen different materials or techniques?
  • What did you have to learn in order to complete your project? How did you learn this? (Include links to any useful resources)
  • Describe the electronic and electrical part of your project
    • Overview, describing the general operation
    • Schematic
  • Describe the software part of your project
    • Overview, describing the general operation
    • Upload your program(s)
  • Describe the mechanical part of your project
  • What were the 3 most difficult parts of your project?
  • Knowing what you know now, what would you have done differently?
  • Extra photographs (can be a link to your own album)
  • Videos if you have any (can be a link to your own album)