Your browser doesn't support the features required by impress.js, so you are presented with a simplified version of this presentation.

For the best experience please use the latest Chrome, Safari or Firefox browser.

JS for Physical Computing
Anna Gerber
Building interactive systems that sense
and act on (or respond to) the physical world
Applications
Interactive Art
Scientific Devices
Industrial Automation
Home Automation
Wearables
Personal manufacturing
e.g. 3D printers, CNC
Internet of Things
Gaming
Actuators
Light
e.g. LED - Light Emitting Diode
Sound
e.g. Piezo Buzzer
Motion
e.g. servo
Power
e.g. relay
Sensors
  • Environmental conditions 
    (e.g. temperature, humidity, smoke, magnetic)
  • Light (e.g. photo resistor)
  • Sound (e.g. microphone)
  • Motion (accelerometer, tilt, pressure)
Microcontrollers e.g. Arduino
Platforms
Embedded Linux device e.g.
Raspberry Pi, Beaglebone
Communication
Direct IO (i.e. via pins)
Protocols
SPI
(Serial Peripheral Interface)
i2c
(Inter-Integrated Circuit)
Talking to hardware using JS
Arduino Communication via Firmata 
General purpose IO for Raspberry Pi
i2c for Raspberry  Pi, Beaglebone
Servo Control
with Johnny Five

var five = require("johnny-five"),
    board, servo;
board = new five.Board();
board.on("ready", function() {
  mouthServo = five.Servo({
    pin: 10,
    range: [ 0, 120 ]
  });
  mouthServo.sweep();
});

Use a spacebar or arrow keys to navigate