Bachelor Summer Program in Physical Computing

=Introduction to Physical Computing (PhyComp)=

Instructors : Didier Donsez, David Eon, Olivier Richard, Sophie Chareyron, Maxime Besacier, Jean-Michel Molenaar

Organisation : 60 h

Code APOGEE : PPSTI301

Lecture / tutorials / homeworks / lab and company visits (LIG Domus, CCSTI's fablab, Orange Labs' thinging fablab, CEA HOMES show room, Schneider Electrics Montbonnot Unit)

Prerequisites : Elementary notions of programming and electronics. Notions in C or Java languages are appriciated but not mandatory.

Topics: Computer Sciences, Electronic, Instrumentation

Physical computing (PhyComp) focuses on interactions with the physical world using a variety of sensors and actuators that are controlled by microcontrollers and computers. An important feature is that developers are not usually specialists of embedded and ubiquitous computing. This results in development tools that emphasize the simplicity of programming and developing these types of applications.

The Arduino project is a prime example of this movement. It offers both an experimental board, built around a low cost microcontroller with a few input-output ports, and an integrated development environment that simplifies its usage. This board is now extensively used in a large array of contexts, including: rapid prototyping, testing and education around physical computing.

This module introduces the technical aspects of development with the Arduino platform and presents the user community that has grown around it. It offers an opportunity to gain experience on the Arduino platform by prototyping physical computing applications with a mix of sensors and actuators including making the things shells in a fablab using laser cutters, 3D printer, ... (see pictures below).

=(Preliminary) Program (Summer 2012)=

Part I : Basics in theoretical and practical electronics
Instructors: Sophie Chareyron, David Eon, Maxime Besacier

Duration : 4 hours

Location: Polytech Grenoble

All you need to know to start in electronics !

Part II : Introduction to Physical Computing with Arduino


Instructor: O. Richard

Duration: 16 hours

Location: Polytech Grenoble

Dedicated page: Introduction to Physical Computing


 * Introduction Physical Computing
 * Definition, Principles and Examples
 * Presentation Arduino Project in brief
 * Arduino Board, Environment
 * Arduino Language
 * Practicals: First Arduino Board Use


 * Components of Physical Computing
 * Microcontroller in brief
 * Sensors and Actutors
 * Arduino Language:
 * Variable, Control Structure
 * Input/Ouput Operations
 * More about Language
 * Practicals: Second Arduino Board Use


 * Communication: Computer - Arduino
 * Serial, Bluetooth, Xbee (with Android phone)
 * Language for Computer: Processing
 * Practicals: Advanced cicuits

Part III : Robotic with Arduino


Instructors : Sophie Chareyron, David Eon, Maxime Besacier

Duration: 16 hours

Location: Polytech Grenoble


 * Basics in Robotics
 * Motors driving (power electronics)
 * Object detection (interfacing sensors)
 * Programming of robot’s behaviors
 * Communication between robots (IrDA, zigbee, bluetooth)
 * Student project (by group of two) : Design and realization of an autonomous mobile robot based on the Magician Chassis

Part IV : Introduction to Fablab (Factory Laboratory)
Instructor: Jean-Michel Molenaar

Duration: 8 hours (one morning, one afternoon)

Location: CCSTI Grenoble


 * Introduction : What is a "Fablab" (Factory Laboratory)?
 * Visit of the CCSTI Expo on Fablab
 * Introduction to the lab, the machines and the tools : laser cutters, vinyl cutter, CNC mill, reprap, 3D printers.
 * Class on digital construction (CAD / CAM)
 * Designing / cutting / adapting / expending of robot Magician Chassis.
 * ‘Homework’ : design a snap fit construction kit


 * Review of homework
 * Cutting / milling of kits
 * Construction
 * Evaluation / ideas for new projects / possible uses

Part V : Visits of Enterprises' research labs
Instructor: Didier Donsez, Maxime Besacier

Duration: 4 half-days

Location: Grenoble' area
 * June 19th morning.  INRIA Rhône-Alpes Montbonnot (Senslab, Unmanned ground vehicle, Robotic wheelchair), Meeting point : Polytech Grenoble' Cafeteria at 08:00
 * June 21st afternoon. Orange Labs' thinging fablab, Polytech Grenoble' Cafeteria at 13:30
 * July 12th morning.  Schneider Electrics Montbonnot Center, Meeting point : Polytech Grenoble' Cafeteria at 08:00
 * LIG Domus (pending)
 * July 6th morning : CEA Show room with Maxime Besacier, Meeting point : Minatec
 * others to be confirmed

=Books=
 * Massimo Banzi, Getting Started with Arduino, Pub. Make; 1 edition (October 15, 2008) ISBN-10: 0596155514
 * Tom Igoe, Making Things Talk: Practical Methods for Connecting Physical Objects, Make; 1 edition (September 28, 2007), ISBN-10: 0596510519 (source of examples). Second Edition, Released: August 2011 (est.)  ISBN-10: 1449392431,  ISBN-13: 978-1449392437, http://oreilly.com/catalog/0636920010920
 * Joshua Noble, Programming Interactivity: A Designer's Guide to Processing, Arduino, and OpenFrameworks, O'Reilly Media, July 2009 (source code)
 * Jonathan Oxer et H. Blemings, Practical Arduino: Cool Projects for Open Source Hardware, Apress, Janvier 2010, http://www.practicalarduino.com, http://books.google.fr/books?id=iwzo1-zmVXEC

=Ressources=
 * Physical Computing: http://www.tigoe.net/pcomp/
 * Arduino: http://www.arduino.cc/
 * Pratice support: http://www.sparkfun.com/tutorial/AIK/ARDX-EG-SPAR-PRINT-85.pdf
 * Processing: http://processing.org
 * OpenProcessing: http://www.openprocessing.org

=Gallery=