Course Name: Physical Computing

Tutor:  Angel Muñoz

Teaching Assistant: Cristian Rizzuti

The Physical Computing course will give students an essential introduction to the world of open source programming languages and physical computing. In 7 weeks students will simultaneously learn about basic coding / scripting tools that complement IaaC’s digital tools and fabrication framework. This will equip students with the necessary hardware / software to integrate interfaces, visualizing methods, data sensing, and actuations to conduct more advanced research and architectural proposals with embedded technology. We will start with the basics of the Processing language, to generate interactive media and visualized data in the digital domain. Next, students will be introduced to the Arduino IDE and microcontroller as a platform to create devices that interact with their environment using sensors and actuators. The course will conclude with an exercise in data visualization over a model, as students will be pushed to create a synchronous and meaningful interaction between the digital and physical realms. Students are similarly encouraged to use the code based tools to explore data visualization and physical computing as applied to their studios, in processes that they can integrate in their projects in following months.

As Arduino kit, the students can buy the official one or that one that is cheaper and comes with more parts.

Cristian Rizzuti – Datashaped, 2015. GLOBALE – “Tangible Sound” – ZKM | Center for Art
and Media, Germany.

IAAC / Rome 20-25. STRATEGIES AND VISIONS FOR THE FUTURE OF ROME, 2014.

IAAC / Global Summer School, Moscow, 2016.

Structure
The course will be divided into Processing, Arduino and Resolume sessions. The goal is to
progressively build a communication channel with these tools and between the physical and digital
worlds.

  1. 9 January – 15:30- 18:30
    Introduction to Processing – Data, Variables, Conditionals and Loops
  2. 16 January – 15:30- 18:30
    Drawing in 3D – Transformations, Functions, Drawing in 3D
  3. 23 January – 15:30- 18:30:
    Arduino Software and Board, Hello World, Inputs(Button, Potentiometer, LDR)
  4. 30 January – 15:30- 18:30
    Outputs(Led, Servo Motor, Stepper Motor, PWM)
  5. 6 February – 15:30- 18:30
    Serial communication
  6. 13 February – 15:30- 18:30
    Resolume, Projectors, Syphon, Setup, Communication
  7. 20 February – 15:30- 17:30
    Final presentation

Submissions
There will be a total of three assignments with different weight on the final grade:

  • One small assignment in Arduino (2 points)
  • One small assignment in Processing (2 points)
  • One Final assignment (6 points)

Attendance and participation in class will also affect the grade
Bibliography

  • Massimo Banzi, Make: Getting Started with Arduino: The Open Source Electronics
    Prototyping Platform, 2014
  • Simon Monk, Make: Action – Movement, Light, and Sound with Arduino and
    Raspberry Pi, 2016
  • Adam Greenfield, Everyware: New Riders, 2006
  • Tom Igoe, Making Things Talk: O’Reilly, 2007.
  • Joshua Noble, Programming Interactivity: O’Reilly, 2009.
  • Greg Borenstein, Making Things See: 3D vision with Kinect, Processing, Arduino,
    and MakerBot: O’Reilly, 2012.
  • Daniel Shiffman, The Nature of Code: Simulating Natural Systems with Processing,
    The Nature of Code, 2012
  • Daniel Shiffman, Learning Processing, Second Edition: A Beginner’s Guide to
    Programming Images, Animation, and Interaction, Morgan Kaufmann, 2015