|
Intro to Physical Computing Syllabus Research & Learning Other Class pages
ITP Help Pages |
Introduction to Physical Computing: Spring 2011General InfoWednesdays from 6:30 - 9:00 pm (Class Dates) Office HoursMondays from 7-9pm GradingParticipation & Attendance: 40% Helpful (but not required) booksGetting Started with Arduino SuppliesSee http://itp.nyu.edu/physcomp/Intro/Supplies Useful linkhttp://www.arduino.cc - Arduino website. Needs no explanation. This site is great for helping to learn Arduino. Class Slideshttp://www.prizepony.us/teaching/physcomp/spring11/ Class Blogs
Final Project Groups
Week 1: January 26th
Blinking LED codevoid setup() { pinMode(2, OUTPUT); // set the led pin to be an output } void loop() { digitalWrite(2, HIGH); // turn the LED on delay(500); // wait 0.5 seconds, 500 milliseconds digitalWrite(2, LOW); // turn the LED off delay(500); // wait 0.5 seconds, 500 milliseconds } Week 2: February 2nd
Week 3: February 16th
If by chance you have trouble finding certain components for your lab you may want to try RadioShack: Week 4: February 22ndBlinking an LED without delay#define ledPin 2 // LED on pin number 2 unsigned long lastChange = 0; // time in ms when the state of the led last changed int interval = 500; // interval to blink the LED int ledState = 0; // LED state void setup() { pinMode(ledPin, OUTPUT); // make the LED pin an output, obviously } void loop() { // this if statement allows our LED to turn on or off at an interval // while still allowing our program to do many other things, i.e. a better method than using delay(ms); // if the difference between the current time and the last time the state changed is greater than the set interval if(millis() - lastChange > interval) { ledState = (ledState + 1) % 2; // a clever way of switching the LED state from 0 to 1 or 1 to 0 digitalWrite(ledPin, ledState);// set the state of the LED lastChange = millis(); // take note of the time after we finished setting the LED state // this will let us figure out when we need to change the LED state again } } Week 5: February 25thFriday, 12:30 - 3:00pm, Room 50
Week 6: March 2ndHomework Catch-Up a.k.a due by next week
Media Controller Groups
Week 7: March 9th
Week 8: March 23rd
Week 9: March 30thFinal Project GroupsFinal Project Groups
Week 10: April 6th
Week 11: April 13thXbee wireless components
Configuring your Xbee via an ArduinoIt is possible to configure your Xbee radio using the FTDI usb-to-serial chip located on each Arduino board. However, any serial data sent from your computer to the Xbee will get interrupted by the Arduino. You can "distract" the Arduino and cause it not to interrupt your communication by uploading the following simple sketch. void setup() { } void loop() { delay(1); } Xbee PAN IDs Controlling many thingsArduino Mega - a large Arduino with many more inputs and outputs than the typical Arduino board (sparkfun) (maker shed) Week 12: April 20th
Week 13: April 27thWorkshop class Week 14: May 4thFinal presentationsEach group will have about 12 minutes for presentation. Please plan accordingly. |