imaixlab
imaixlab
4 posts
Don't wanna be here? Send us removal request.
imaixlab · 6 years ago
Text
Resources
Arduino & Physical Computing
Arduino Reference
Arduino Libraries
Arduino Tutorials
Arduino Playground
Make Magazine: Arduino Projects
ITP: Physical Computing
Tom Igoe: Physical Computing
Shieldlist
AdaFruit Learning System
Instructables: Arduino
Stack Overflow: Arduino
Hack A Day: Arduino Hacks
Processing & Computational Media
Processing Reference
Processing Libraries
Processing Tutorials
Daniel Shiffman
Shiffman’s Videos
Learning Processing
Nature of Code
OpenProcessing
ITP: GitHub
25 Lifesaving Processing Tips
Debugging
A Brief Introduction to Debugging
Fabrication
Digital Fabrication Links Fall 2015
0 notes
imaixlab · 6 years ago
Text
Marcela’s notes
Interaction Lab Spring 2018
Email: mgodoy(at)nyu.edu Lectures: Tuesday/Thursday 11:15-12:30 Classroom #824 Recitations: Friday 13:45- 15:00 Studio (#823) Office Hours: Wednesday, 14:00 – 16:00, IMA Studio (826) (or by appointment)  
 Week 01
Lectures:
Class 01 – Introduction Class 02 – Electricity
Readings:
Electricity: The Basics Understanding the Breadboard Zach Lieberman : Interactive Art
Post your thoughts on the video, art and technology, before next Tuesday. Deadline: Tuesday Jan 30
 Week 02
Lectures:
Class 03 – Doc & Microcontrollers [Download the Arduino IDE arduino.cc] Class 04 – Digital and Analog | Inputs & Outputs
Supporting Readings:
Microcontrollers: The Basics Textbook: Getting Started with Arduino Chapter 1 – Introduction Chapter 2 – The Arduino Way Chapter 3 – The Arduino Platform
Assignment:
Class video: How Arduino is open-sourcing imagination | Massimo Banzi Watch this video: Taeyoon Choi – Artist’s Lecture  Read this text: Physical Computing – O’Sullivan and Igoe (Introduction)Discussion: Tuesday Feb 06
   Week 03
Lectures:
Class 05 – Programming the Arduino Class 06 – Physical Interaction, Sensors and Actuators
Supporting Readings:
Variables Physicality, Tom Igoe Programming Terms and Programming Environments ART + Science NOW, Stephen Wilson (Algorithm chapter)  [optional] Paul Ford: What is code? [optional]   Discussion: If statements and variables with the Arduino
   Week 04
Lectures:
Class 07 – Project Planning Class 08 – You will work on your stupid pet trick project. Documentation due: Thursday March 03. Check out the Rubric in this LINK.
Readings:
Making Interactive Art: Set the Stage, Then Shut Up and Listenby Tom Igoe Physical Computing’s Greatest Hits (and misses)by Tom Igoe A Brief Rant on the Future of Interaction Designby Bret Victor Responses: A Brief Rant on the Future of Interaction Designby Bret Victor Field Guide to Human Centered Design, IDEO (pages 9 to 25)   After the presentation of your stupid pet trick, answer these questions in a blog post. Do the readings before to answer. (This is not the post of your Stupid Pet Trick Documentation) Due: Thursday March 03   1. Was your stupid pet trick an interactive piece? Why? 2. Write a script for the use of your Stupid Pet Trick Project like if it was a Performance Name your user and tell his/her age and gender. Do any of these things matter in your project? 3. During the show, did everything work as you expected or described before? Explain 4. What type of physical computing project from the readings you would love to make and why?    
   Week 05
Lectures:
Class 09 – Intro to Programming: Processing Class 10 – Animation in Processing
Supporting Readings:
Getting Started with Processing: Chapter 1 – Hello Getting Started with Processing: Chapter 2 – Starting to Code Getting Started with Processing: Chapter 3 – Draw Learning Processing: Chapter 1 Pixels Learning Processing: Chapter 2 Processing
Mandatory Reading:
The Art of Computer Designing    
   Week 06
Lectures:
Class 11 – Serial Communication Class 12 – Functions & Mouse/Keyboard Interaction
Supporting Readings:
Serial Communication: The Basics Interpreting Serial Data
Mandatory: watch the next videos
Explain with your own words how serial communication works and what type of data we can send or receive. When do we use Serial.write and when Serial.print? What’s the ASCII table and why we would use it?
* you can add these Q&A in your recitation documentation post that you need to post till next Thursday March 15.
      Week 07
Lectures:
Class 13 – Loops and Arrays Class 14 – Strings & Interaction Design
Mandatory Readings
Video: Norman Doors (shown in class) Video: Objectified(from Lynda platform) The Future of Design: when you come to a fork, take it
Assignment
Check these websites and find two projects that you like and might be references for your midterm project (post a link, video and/or images): http://www.creativeapplications.net/ https://creators.vice.com/en_us
Post about your midterm project idea before next Monday March 19.
      Week 08
Midterms Thursday March 22:
Midterm Project Guidelines    
   Week 09
Lectures:
Class 17 – Object & Classes | Array Lists Class 18 – Motors and High Current Loads
Supporting Readings
Learning Processing: Chapter 8 Objects Processing.org tutorial on Objects
Assignment
Check these websites and find two projects that you like and might be references for your midterm project (post a link, video and/or images): http://www.creativeapplications.net/ https://creators.vice.com/en_us
Supporting Videos:
      Week 10
Lectures:
Class 19 – Sound
Assignment
Check these websites and find two projects that you like and might be references for your midterm project (post a link, video and/or images): http://www.creativeapplications.net/ https://creators.vice.com/en_us
Mandatory Readings:
What is electronic music, by Herbert Eimert Audiovisual Software Art: A Partial History
Supporting Readings
Learning Processing: Chapter 20 Sound
      Week 11
Lectures:
Class 20 – Digital Fabrication: Laser Cutting Class 21 – Digital Fabrication: 3D Modeling and 3D Printing Illustrator Video Tutorial: https://vimeo.com/212333844
Mandatory Readings:
How to Make Almost Anything: The Digital Fabrication Revolution by Neil Gershenfeld.
      Week 12
Lectures:
Class 22 – Presentation of Final Project Ideas Class 23 – Presentation of Final Project Ideas
Mandatory Readings:
      Week 13
Lectures:
Class 24 – Images and Video Class 25 – Pixel Manipulation
Supporting Readings:
Learning Processing: Chapter 15 Images Learning Processing: Chapter 16 Video
Mandatory Readings:
Computer Vision for Artists and Designers
0 notes
imaixlab · 6 years ago
Text
Recitation 01
Instructions:
Please carefully read the directions for each of the two exercises for this recitation. At the beginning of the recitation, per instructions from your recitation leaders, you may take materials necessary to build your circuits. When you have completed Exercise 1, upload all documentation for Exercise 1 and your answers for Exercise 2 to the IMA Documentation Blog.
Materials:
1 * Breadboard
1 * LM7805 Voltage Regulator
1 * Buzzer
1 * Push-Button Switch
1 * 220 ohm Resistor
1 * LED
1 * 100 nF (0.1uF) Capacitor
1 * 10K ohm Variable Resistor (Potentiometer)
1 * 12 volt Power Supply 
1 * Barrel Jack
Jumper Cables (Hook-up Wires)
Exercise 1
Step 1: Build your circuit
Directions: Working in pairs, create three simple circuits on a breadboard based on the circuit diagrams below. As you build your circuits, take pictures and write about your process. When you’ve finished a circuit, take pictures or film the the finished circuit working. Record notes about the building process for each circuit, such as problems that you encountered, and how you fixed them.
Note:
To help you read the schematics for the circuits, you may look at the components and their symbols at the bottom of this document, or refer to the diagrams in this reading.
Circuit 1
Circuit 2
Circuit 3
Step 2: Document your work
For your blog post, please upload your pictures and add the following information for each individual circuit:
Write down the list of components used. Record what these components are, what they do, and why they are included in this circuit.
Describe the process of building the circuit, and note what worked and what didn’t.
Write down how one interacts with the circuit. (i.e. What one must do to make the circuit work, or how one’s interaction changes the circuit’s output)
Reflect on the final outcome: Did the circuit work at the end? If not, why didn’t it? What needs to be altered for the circuit to work?
 Exercise 2
Once you have finished your circuits, take time to reflect on this week’s readings and Exercise 1. Post your answers to the following questions to the blog along with your documentation for Exercise 1.
Question 1
After reading The Art of Interactive Design, do you think that the circuits you built today include interactivity? Please explain your answer.
 Question 2
Based off of Electricity: the Basics, identify which components used today were sensors, and which components were actuators.
 Question 3
How can Interaction Design and Physical Computing be used to create Interactive Art? You can reference Introduction to Arduino and Zack Lieberman’s video.
 Components and Diagrams
Resistor:
Image from techversat.com
       LED:
Image from Tweaking4All
          Capacitor:
Image from Sparkfun.com
        Voltage Regulator:
Image from Electronics4u
        Variable Resistor / Potentiometer:
Image from hellasdigital.com
       Push Button (Switch):
Image from Razzpisample
  Speaker:
Image from Sparkfun.com
        Power: 
Ground:
3 notes · View notes
imaixlab · 6 years ago
Text
Syllabus Spring 18
Syllabus Version: 1.7 Number: INTM-SHU 101 Class Hours per Week: 2.5 Credits: 4 Semester: Spring 2018 Room Number: 823 Website: http://ima.nyu.sh/interaction-lab/ Documentation Blog: http://ima.nyu.sh/documentation/
Instructor: Marcela Godoy Email: [email protected]
Instructor: Rodolfo Cossovich Email:  [email protected]
Instructor: Sean Clute Email: [email protected]
Instructor: Antonius Wiriadjaja Email: [email protected]
Description
In this course students will be asked to think beyond the conventional forms of human computer interaction (i.e. the keyboard and mouse) to develop interfaces that consider the entire body, the body’s capacity for gesture, as well as the relationship between the body and it’s environment. Students will learn the fundamentals of electronics and programming as they build projects using the Arduino microcontroller platform. Arduino is a small computer based on open source hardware and software. When used in conjunction with various sensors and actuators, Arduino is capable of gathering information about and acting upon the physical world. In addition to these physical computing techniques, students will also learn to harness the methods of traditional computation. The fundamentals of programming: variables, conditionals, iteration, functions and objects, will be explored through the use of the Processing programming language. Students will gain a deeper appreciation of the expressive possibilities of computation as they learn to author their own software, and not simply use that which has been provided to them. Additional topics will include digital modeling and fabrication using 3D printers and laser cutters, the manipulation, presentation, and exchange of data, algorithmic drawing and animation techniques, as well as control of images, video, and audio. Structured weekly exercises are aimed at building specific skills, however students are free to pursue their own diverse interests in their midterm and final projects.
Classroom Conduct
Classes begin promptly at the scheduled start time. Please arrive early so as not to be late. This class will be highly participatory with lectures being very conversational. You are invited and expected to contribute to in-class discussions.
Recreational use of phones, music players, video game systems and other portable electronic devices is forbidden. Laptops are allowed for note taking, in class work, as well as relevant research only. Activities not related to the class, such as recreational browsing of the internet, including all social media websites, email and instant messaging, game playing, and work for other classes, will not be permitted. Such activities are disrespectful to the instructor and distracting to others. Your laptop should always be closed whenever a fellow student is presenting.
Learning Objectives
At the completion of this course students will be able to demonstrate a basic understanding of:
electricity and electrical components
analog and digital inputs and outputs on microcontrollers
fundamental programming concepts: variables, conditionals and iteration
programmatic methods for drawing and animation
code organization techniques: functions and objects
screen based and physical interaction design principles
programmatic methods for the manipulation of images, audio and video
data formats, data manipulation and data visualization
serial communication
Grading
Below you will see a breakdown that determines the grades. When grading, instructors will use the rubric described in this document.
20% Attendance and Participation
20% Exercises
10% Stupid Pet Trick
20% Midterm Project
30% Final Project
Attendance & Participation
Attendance in all class sessions is mandatory. Unexcused absences or lateness will adversely affect your grade. NYU policy does permit members of any religious group to absent themselves from classes without penalty when required for compliance with their religious obligations. If you are going to miss a class, it is your responsibility to make up the material you miss. Please let the instructor know ahead of time so that he/she can help you determine how to make up the material.
Your participation in this class is essential. Not only does it allow the instructor to gauge your interests and get to know you as an individual, but it also allows the instructor to asses your understanding of important concepts. It also provides the instructor with an opportunity to learn from your work. As a result, attendance and participation make up a meaningful percentage of your grade. Unexcused absence in more than three classes and / or labs will result in a failing grade.
Exercises & Documentation
Exercises are defined in the weekly schedule and vary weekly depending on the topics covered in class. All exercises are required, and should be documented on the documentation blog. Undocumented work will not be considered complete.
Stupid Pet Trick Project
Make a simple physically interactive device that uses the skills you’ve learned in class. It must respond to a physical action or series of actions a person takes, and it must be amusing, surprising, or otherwise engaging. It doesn’t have to be practical, or complex, as long it shows that you understand the basics of digital and analog I/O and how to use them. If you’re unfamiliar with the term “stupid pet trick,” Googling the term may provide you inspiration for the tone of this project. Due February 23, 2018.
Midterm Project
Explore Processing and / or Arduino by creating a small project that does something useful, interesting, or entertaining. Try to illustrate your understanding of the fundamental concepts covered in class. Be sure to document your work thoroughly on the documentation blog. You may work alone or with a single partner from your lecture section. Both of you should document the work individually and know about the work done in the project. Midterm projects and documentation are due the week of March 19-23, 2018.
Final Project
Create an interactive system of your choice using Processing and Arduino. Focus on careful and timely sensing of the relevant actions of the audience that you’re designing for and on prompt, clear and effective response. Any interactive project is going to involve listening, thinking and communicating. Whether it involves one cycle or many, the interaction should be engaging for your audience.
Begin the process by writing an approximately 500 word essay in which you provide a definition of interaction in your own words, propose what you would like to do for your Final Project, and critique an established form of interaction or specific interactive experience that relates to your final project. Your essay should match the grading criteria posted in this rubric. Post it to the documentation blog by April 12, 2018. Also, create a Concept Presentation for your Final Project and prepare to present.
Be sure to document your project thoroughly on the documentation blog. Include details about all phases of development, both successes and failures. You may work alone or in groups. Final projects are due May 10, 2018.
Readings
Title: Getting Started with Arduino Author: Massimo Banzi ISBN: 1449309879 Publisher: Make Publication Date: December, 2014 Edition: 3rd
Title: Getting Started with Processing Author: Casey Reas and Ben Fry ISBN: 144937980X Publisher: Make Publication Date: September, 2015 Edition: 2nd
Title: Learning Processing: A Beginner’s Guide to Programming Images, Animation, and Interaction Author: Daniel Shiffman ISBN: 0123736021 Publisher: Morgan Kaufmann Publication Date: September 2, 2008 Edition: 1st
Additional required readings will be supplied in the coursepack, online, or as electronic documents.
Notes on equipment
In order to have access to IMA equipment, you MUST attend IMA orientation at the beginning of each semester. The IMA Equip website lists equipment that is available for checkout and can be found here:
http://ima.nyu.sh/equip/
Activate your account by entering your NYU ID Card Number (located under the barcode on the back of your NYU ID card) into your IMA WordPress profile located here:
http://ima.nyu.sh/documentation/wp-admin/profile.php
Equipment can only be checked out by or returned to the studio managers. Most physical computing equipment (microcontrollers, sensors, etc. from Equipment Room A) can be checked out until you finish your project, or the end of the semester, whichever comes first.
Software
Arduino
Processing
Weekly Schedule
Week 1: Introduction + Electricity, Circuits & Electrical Components
Week 2: Microcontrollers & Arduino + Digital & Analog Inputs & Outputs
Week 3: Conditionals, Iteration & Functions
Week 4: Project Planning + Stupid Pet Trick
Week 5: Processing & Drawing + Animation & Variables
Week 6: Serial Communication + Mouse & Keyboard Interaction
Week 7: Arrays, Functions and Loops + Interaction Design & User Testing
Week 8: Midterms
Week 9: Objects & ArrayLists + Motors
Week 10: Sound in Processing
Week 11: Digital Modeling & Fabrication
Week 12: Final Project Concept Presentations
Week 13: Images and Video + Pixel Manipulation
Week 14: Final Project Presentations
0 notes