Thursday, September 10, 2009

Introduction to Physical Computing - 1st Class

For a long time now I've fantasized about being able to build cool connected devices with embedded sensors, motors and actuators. This explains my excitement for the Introduction to Physical Computing course that started Yesterday. This course focuses on hands-on learning of physical computing concepts by providing students the opportunity to build and prototype devices using the Arduino chipset.

I was happy to get into to Tom Igoe's class. I already have two books written by Tom on this subject, our mandatory textbook (Physical Computing, Sensing and Controlling the Physical World with Computers, co-written by Dan O'Sullivan), and a release from the O'Reilly's Make series (Making Things Talk, Practical Methods for Connecting Physical Objects). Another important consideration, is that Tom seems to understand how to communicate/transfer his expertise to students who have little to no background in software and hardware development.

The course is structured to provide students with the opportunity to learn physical computing concepts during class, then to explore these concepts via numerous lab exercises, assignments/projects, and blog postings. Tom's book on Physical Computing (mentioned above) is the core textbook for this class; additional readings are taken from Don Norman's most popular books (The Design of Everyday Things and Emotional Design), and from Chris Crawford's "The Art of Interactive Design". Here is a link to the full syllabus.

On the first class, we covered all logistical considerations associated to the course. Important administrative considerations include the need to sign-up for a training session to use the shop, and for shop cleaning duty.

We began our foray into physical computing by exploring the definition of several important basic concepts associated. Considering that I am ignorant about circuits, this was very helpful for me. Next Tom took us through the development of our first two Arduino sketches (a.k.a. program). Both sketches were focused on turning on a LED on the Arduino, the second example involved adding a switch to control the LED.

Here is an overview of the concepts we covered:

  • Physical Computing is an approach to computing that enables human physical expressions, and other physical phenomena, to be used as a means of interaction with a computer system.
  • Microcontroller is a computer (such as the Arduino chipset) that can be customized with sensors, actuators and software to capture and communicate information.
  • Analog and Digital differ in that the former is continuous whereas the latter is discrete (e.g. 1's and 0's). Analog systems and objects can have digital characteristics and visce versa (e.g. an analog light switch can have an on and off state while a digital picture looks continuous as long as the resolution is high enough).
  • Resolution refers to how we perceive the world. More specifically, it refers to the level of discreetness at which we perceive the world. If the resolution is too fine then the user may not be able to notice, or appropriately impact, changes in the state of the device. On the other hand if the resolution is too coarse then the user may not be able to achieve the level of control desired.
  • Electricity and Electronics are related but distinct concepts. Electricity refers to the energy created by the flow of electric charge through a conductor. Electronics use changes in electrical energy to convey information.
  • Resistors are used to change the flow of electricity by resisting electric flow. This is important to ensure that electricity flows in the proper direction when a switch is closed considering that an electric charge always takes the shortest route to the ground.
  • Serial and Parallel refer to two different modes of activities and interactions. Serial events happen consecutively, while parallel events occur simultaneously.
This week's lab will include setting up my first breadboard and writing my first Arduino sketch. I also have to write a journal entry about a "sensor walk"; a walk around the city where we take a count of every interaction with a sensor that we see happening.

No comments: