Introduction to Physical Computing

From air
Jump to navigation Jump to search


The aim of these courses/practical sessions is to offer to students a practical overview of Physical Computing domain. By Physical Computing we means the building of little systems, usually interactives, composed of sensors (like button), actuator (like led and motors) which are linked by microcontroller (a little computer). Finally this latter can eventually by connected to computer.

Date and location

Location : Polytech'Grenoble

Date and Room
Date Room
1 05 June, 14:00-16:00 P039-P117
2 10 June, 10:00-12:00 P129
3 11 June, 09:00-12:00 P129
4 12 June, 14:00-17:00 P129
5 13 June, 14:00-17:00 P129
6 24 June, 09:00-12:00 P241


Students will be evaluated on the basis of reports written from material/experiments/coding elaborated during practical sessions.

Questions which must be addressed in your report are prefixed below, by: In your report.

The reports must describe your realisations and experiments. You can adapt and modify circuits and codes to show your creativity or possible enhancements. When a circuit is operational give a demonstration to the teacher. In your report, for each built circuit present the schematic and code (you can omit some part of code if you give appropriate indication) with explanation. In report, always indicate your modification, circuit and code enhancements and your sources of information if any.

Practical materials

Circuits will be built with Arduino board as main component. Arduino IDE will be used to edit, compile program and to upload the compiled program on Arduino board (also referred as flashing the board).

See also, translated wiki page praticals with arduino

Useful Links

Level 1 : Basics (courses 1 and 2)

The minimal circuits to realize are Blinking on board LED, Blinking external LED, Music , Push Button, Potentiometer and PushButton/Music.

  1. Blinking on board LED: use Files/Examples/Basics/Blink in Arduino IDE
  2. Blinking external LED: explanations, code and Schematic
  3. Music with Piezo or Speaker: explanations, code and Schematic
  4. Push Button: explanations, code and Schematic. Code is also in Arduino IDE (Files/Examples/Digital/Button). Pull Up / Pull Down Resistor
  5. Multiple LEDs: explanations, code and Schematic (optional)
  6. Potentiometer (variable resistor): explanations, code and Schematic
  7. In your report: Create a circuit which plays a music or one note when you push the button and a another music when you release it.

Level 2 : Medium (courses 2 and 3)

  1. Serial Communication, basic Communications and use of serial monitor: See Serial.begin, Serial.print, Serial.println from reference documentation (IDE or Arduino's site).
  2. DigitalReadSerial - read a switch, print the state out to the Serial Monitor explanations, code and Schematic Serial Communication
  3. In your report: Build a circuit with a servomotor which is controlled by value send via Serial Monitor
  4. In your report: Experimenting and explain Bidirectional Communication with PC (write a simple or find a simple program to demonstrate communication with Serial Monitor).
  5. Demonstrates the use of analog output to fade an LED. explanations, code and Schematic. PWM
  6. Servormotor: explanations, code and Schematic
  7. In your report: Build a circuit with potentiometer and servomotor where the angular position of servomotor is controlled by the potentiometer.
  8. Debouncing Push Button (see in IDE Example/Digital/Debounce)
  9. Use Nokia LCD 5510 (optional):
  1. Introduction to Processing environment (optional)
  2. Experiment communication between Arduino and Processing Program with explanations, code and Schematic (program is also in File/Examples/Communication/Graph directory)
  3. Servomotor controlled by Wii Nunchuk (optional)
  4. Matrix Keyboard (optional)

Level 3 : Advanced (courses 3 and 4)

  1. Use interruption (see Help/Reference/AttachInterrupt)
  2. Play with HC-SR04 Ultrasonic Sensor Distance Measuring Module
  3. Play with motor and H-Bridge
  4. Wireless Communication: Bluetooth or Zigbee (not addressed)

For the report choose between the 2 following alternatives:

Choice 1

  1. In your report: Use interruption in the circuit which plays a music when you push the button and a another music when you release it.

Choice 2

  1. In your report: Use ultrasonic sensor to play note which its tone is fixed by distance given by sensor.

Level 4 : Advanced (course 5 and 6)

In your report: Address one project among those below:

  1. Develop a simple game with Nokia LCD and push buttons.
  2. Simon game with your personal modification.
  3. Pong Game with arduino + 2 potentiometers + processing + sound
  4. Develop program or game which use TM1638 display (This display has 8x push buttons, 8x LED and 8x7-segments)
  5. Create our own project !!!


Translated wiki pages praticals with arduino