SlideShare a Scribd company logo
1 of 155
http://67.org/ws/




   Funnel           ActionScript
•   1   13:00 14:30
  –
  – Funnel
  – Funnel Gainer
  – Funnel
•   2   14:45 16:15
  – FIO Funnel I/O
    ∗ Arduino
    ∗ XBee
  – Funnel 009
  –
• 1970
•              1993 2004
  –
  –
  –
• IAMAS 2004
  –
  –
  –
•

•

•
Make            Volume 04
       Sketch
                            2008
Make          Volume 05
Sketch / Prototype
                          2008
Make          Volume 06
Prototyping Lab:
                          2009
GAINER
GainerBook Labo   2007   2008
Making Things Talk
Arduino
Tom Igoe             2008
•                      ITP*1   Tom Igoe

•                                                 1
•

•                          1




    *1   Interactive Telecommunications Program
PC
•        ASCII
•         1
                 bps
Alto (1973)




              http://toastytech.com/guis/
•
•
•
•
•
•
•
•
•



          littleBits coffemaker*2




    *2   http://www.vimeo.com/1389390
•
    –
    –
•
    –
    –
1
•
•
•          ×XBee×Funnel×PC
• Make: Tokyo Meeting 01-02
  IAMAS Gangu Project
2 Jamming Gear
•       ×
•
    –
    –
•          ×FIO×Max/MSP×PC
• Make: Tokyo Meeting 01-02
  IAMAS Gangu Project
HELLO!!
•      2007.12.22-23
•
•        19
•
•      Processing×Funnel×Gainer I/O
PIC AVR
      program
                      A
      a0]=ain.o;
      aout.1 = 255;


                      B



                      C



                      D
PC   Arduino Wiring
           program
                                       A
           a0]=ain.o;
           aout.1 = 255;


                                       B



                                       C



                                       D




           PC

                       program

                       a0]=ain.o;
                       aout.1 = 255;
Arduino I/O




              SparkFun Electronics
I/O   PC   Gainer Phidgets

                                 A



                                 B



                                 C



                                 D




            PC

                 program

                 a0]=ain.o;
                 aout.1 = 255;
Phidgets
Gainer

• I/O
•
  – ActionScript 2/3
  – Processing
  – Max/MSP
Gainer I/O
I/O
I/O
LED
•
    –2
    –    GND
    –    V
•
    –
    –   A
•
    –
    –   Ω
• 1,000          1kΩ
• 1,000,000            1MΩ
• 1,000
    1
                1mA
•       1
                       50µA
    1,000,000
•
•
+5V   GND
LED
•
•
    –
    –
    –
•
•
•
LED
LED

• LED
        20mA
•
•
•
V =I ×R

•V    V
•I   A
•R    Ω
− LED                          ×R
                  = LED

R
                   − LED
      R=
            LED
    5.0V LED        1.8V    10mA
         5 − 1.8   3.2
      R=         =      =
           0.01    0.01
LED
•   +5V
•   GND
•
LED   NG
LED
LED

      7
Funnel
Gainer
•        GUI

•
Funnel

•
•
•
Funnel

•
    –
    –
    –
    –
•
Funnel
•
•
•
Bill Moggridge, Designing Interactions (2006)
Funnel   Gainer
• Gainer
  –
  – Gainer I/O 1:1
• Funnel
  –
  – Arduino XBee
Funnel
Sketching User Experiences
Getting the Design Right and the Right Design
Bill Buxton Morgan Kaufmann Pub 2007
Funnel




         Bill Buxton, Sketching User Experiences (2008)
Funnel




         Bill Buxton, Sketching User Experiences (2008)
Funnel
• GUI
•
  –                      Convolution
  –                           SetPoint
  –             Scaler
  –            Osc
•        I/O
Funnel
Gainer I/O
        2
•            din 0   1     2
    –
    –
•            ain 0 1     256
    –
    –
din 0
din 0
•
•
    –   rising edge
    –   falling edge
1

var wasPressed:boolean = false; //

gio.onReady = function() {
    gio.beginDigitalInput();

     _root.onEnterFrame = function() {
         var isPressed:boolean = gio.digitalInput[0]; //

          if (!wasPressed && isPressed) {
              //          0    1
          } else if (wasPressed && !isPressed) {
              //          1    0
          }

          wasPressed = isPressed; //
     };
};
Funnel

                         2

var gio:Gainer = new Gainer();

gio.digitalInput(0).addEventListener(RISING_EDGE, function(e:Event):void {
    //          0    1
});

gio.digitalInput(0).addEventListener(FALLING_EDGE, function(e:Event):void {
    //          1    0
});
ain 0
ain 0
ain 0
• GainerSignalScope
•
• ain 1
•
ain 0   CdS
ain 0   CdS
ain 0                 CdS
•
• GainerSignalScope
•
•
Gainer.remap()

                          3 Gainer.remap()

import gainer.*;
var gio:Gainer = new Gainer(quot;localhostquot;, 2000, Gainer.MODE1, true);

gio.onReady = function() {
    gio.beginAnalogInput();

     _root.onEnterFrame = function() {
         var val:Number;
         var frames:Number = movieClip._totalframes;

          //ain 0 0-255
          val = Math.round(Gainer.remap(gio.analogInput[0], 0, 255, 1, frames));

          _root.movieClip.gotoAndStop(val);
     };
};
Scaler

                           4 Scaler

gio = new Gainer();

gio.analogInput(0).filters = [new Scaler(0.2, 0.6, 0, 1, Scaler.LINEAR, true)];
•
    –
    –
•
1        2

                          51     2   set point.fla

var threshold:Number = 127; //
var hysteresis:Number = 10; //
var lastState:Number = -1; //

gio.onReady = function() {
    gio.beginAnalogInput();
1           2

                               61     2

     _root.onEnterFrame = function() {
         var state:Number = lastState;
         var val:Number = gio.analogInput[0];

          if (val < threshold) {
              state = 0;
          } else {
              state = 1;
          }

          if (lastState != state) {
              //
          }

          lastState = state;
     };
};
1           2

                            71      2

     _root.onEnterFrame = function() {
         var state:Number = lastState;
         var val:Number = gio.analogInput[0];

          if (val <   (threshold - hysteresis)) {
              state   = 0;
          } else if   (val > (threshold + hysteresis)) {
              state   = 1;
          }

          if (lastState != state) {
              //
          }

          lastState = state;
     };
};
SetPoint

                            8 SetPoint

gio = new Gainer();

gio.analogInput(0).filters = [new SetPoint([0.5, 0.1])];
gio.analogInput(0).addEventListener(RISING_EDGE, onRisingEdge);
gio.analogInput(0).addEventListener(FALLING_EDGE, onFallingEdge);
ain 0
ain 0
ain 0   SoftPot
ain 0   SoftPot
ain 0   SoftPot
•
•
•
ain
ain
•
•
•
• -1     +1
•    sin
•
•
•   LPF
•   HPF
9                        MovingAverageFilter.as

class MovingAverageFilter {
    private var _taps:Number; //
    private var _values:Array; //

   function MovingAverageFilter(taps:Number) {
       _taps = taps;
       _values = new Array(_taps);
   }

   function processSample(sample:Number):Number {
       var acc:Number = 0;
       var i:Number = 0;

       //
       _values[0] = sample;
10

        //
        for (i = 0; i < _taps; i++) {
            acc = acc + _values[i];
        }
        acc = acc / _taps;

        // 1
        //          [A][B][C][D][E] ...
        //          [A][A][B][C][D] ...
        for (i = _taps - 1; i > 0; i--) {
            _values[i] = _values[i - 1];
        }

        return acc;
    }
}
Gainer

                        11 MovingAverageFilter

var gio:Gainer = new Gainer(quot;localhostquot;, 2000, Gainer.MODE1, true);

//
var smoothFilter:MovingAverageFilter = new MovingAverageFilter(8);

function loop():Void {
    var val:Number = smoothFilter.processSample(this.analogInput[0]);
    ...
Convolution

                      12 Convolution

gio = new Gainer();

gio.analogInput(0).filters = [new Convolution(Convolution.MOVING_AVERAGE)];
13

public function GainerAccelerometer() {
    gio = new Gainer();

    board = new Shape();
    ...
    this.addChild(board);

    var smoother:Convolution = new Convolution(Convolution.MOVING_AVERAGE);
    var scaler:Scaler = new Scaler(0.30, 0.70, -1, 1, Scaler.LINEAR, true);
    gio.analogInput(1).filters = [smoother, scaler];

    addEventListener(Event.ENTER_FRAME, loop);
}

private function loop(event:Event):void {
    board.rotation = Math.asin(gio.analogInput(1).value) / Math.PI * 180;
}
Gainer I/O
         2
•             dout 0   1   2
    – LED
    –
•                                *3
              aout 0 255   256
    – LED
    –




    *3       PWM
14         I/O               LED

public function GainerLED() {
    ...
    var circle:Sprite = new Sprite();
    ...
    this.addChild(circle);

    circle.addEventListener(MouseEvent.MOUSE_DOWN, mousePressed);
    circle.addEventListener(MouseEvent.MOUSE_UP, mouseReleased);
}

private function mousePressed(e:MouseEvent):void {
    gio.led.value = 1;
}

private function mouseReleased(e:MouseEvent):void {
    gio.led.value = 0;
}
15        I/O             LED        LED button.fla

public function GainerLED() {
    gio = new Gainer();

    gio.button.addEventListener(PinEvent.RISING_EDGE, buttonPressed);
    gio.button.addEventListener(PinEvent.FALLING_EDGE, buttonReleased);
}

private function buttonPressed(e:PinEvent):void {
    gio.led.value = 1;
}

private function buttonReleased(e:PinEvent):void {
    gio.led.value = 0;
}
dout 0   LED
dout 0   LED
16                       LED

public function GainerLED() {
    ...
    var circle:Sprite = new Sprite();
    ...
    this.addChild(circle);

    circle.addEventListener(MouseEvent.MOUSE_DOWN, mousePressed);
    circle.addEventListener(MouseEvent.MOUSE_UP, mouseReleased);
}

private function mousePressed(e:MouseEvent):void {
    gio.digitalOutput(0).value = 1;
}

private function mouseReleased(e:MouseEvent):void {
    gio.digitalOutput(0).value = 0;
}
aout 0   LED
aout 0   LED
17         x      LED

public function GainerLED() {
    gio = new Gainer();

    stage.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoved);
    gio.analogOutput(0).filters = [new Scaler(0, 199, 0, 1, Scaler.LINEAR, true)];
}

private function mouseMoved(e:MouseEvent):void {
    gio.analogOutput(0).value = e.stageX;
}
Osc        LED

                             18 Osc   LED

public function GainerLED() {
    ...
    circle.addEventListener(MouseEvent.MOUSE_DOWN, mousePressed);
    circle.addEventListener(MouseEvent.MOUSE_UP, mouseReleased);

    gio.analogOutput(0).filters = [new Osc(Osc.SQUARE, 0.5, 1, 0, 0)];
}

private function mousePressed(e:MouseEvent):void {
    gio.analogOutput(0).filters[0].start();
}

private function mouseReleased(e:MouseEvent):void {
    gio.analogOutput(0).filters[0].stop();
    gio.analogOutput(0).value = 0;
}
FIO (Funnel I/O)
• LilyPad Arduino v1.6
•
• XBee
FIO (Funnel I/O) v1.3
FIO (Funnel I/O) v1.3
FIO (Funnel I/O) v1.3

                        -   +
FIO (Funnel I/O) v1.3
FIO v1.3 vs Funnel IO Remixed
Arduino
• Hernando Barrag´n       IDII*4
                 a
  Wiring
•

• IDE     Arduino I/O




   *4   Interaction Design Institute Ivrea
Wiring




         SparkFun Electronics
Arduino Duemilanove




                SparkFun Electronics
Arduino IDE
•
    –
    –
•
LilyPad Arduino




                  SparkFun Electronics
Arduino Pro Mini




                   SparkFun Electronics
Arduino ProtoShield




                 SparkFun Electronics
Arduino XBee Shield




                SparkFun Electronics
Arduino
          GND




                +5V GND
Gainer vs Arduino
        Gainer      Arduino Duemilanove
        16          20 RX/TX
  A/D   8 8bit      6 10bit
 PWM    8 8bit      6 8bit
  LED   1           0
  LED   1           1 D13
        Yes         Yes
        No          Yes
Arduino
•
•
•
•
Arduino                 LED

                                19 Arduino   LED

int ledPin = 13;

void setup() {
  pinMode(ledPin, OUTPUT);
}

void loop() {
  digitalWrite(ledPin, HIGH);
  delay(1000);
  digitalWrite(ledPin, LOW);
  delay(1000);
}
C                   LED

                            20       C       LED

#include <avr/io.h>
#include <avr/pgmspace.h>
#include <avr/delay.h>

#define CLK_CALIB_DATA (FLASHEND - 3)

void init() {
    uint8_t osccal_data = pgm_read_byte(CLK_CALIB_DATA);
    if (osccal_data != 0xff) OSCCAL = osccal_data;

    DDRB = 0xff;
    DDRD = 0xff;

    return;
}
C            LED

                             21   C    LED

void delay_ms(uint16_t t) {
    while (t--) _delay_ms(1);
}

int main(void) {
    init();

    for (; ;) {
        PORTB = 0xff;
        delay_ms(500);
        PORTB = 0x00;
        delay_ms(500);
    }
    return 0;
}
Arduino
• C/C++
•
•
Arduino      PC
•
    –
    – USB
    – Ethernet
•
    – Bluetooth
    – IEEE 802.15.4 / ZigBee
Firmata
http://firmata.org/
• Hans-Christoph Steiner
• MIDI
• Arduino 0012
Firmata             PC
•   Pd (aka Pure Data)
•   Processing
•   Funnel
•   Linux C++
•   C++/openFrameworks
10G
                                   IEEE 802.11n
100M
                                   IEEE 802.11a/g

10M                                IEEE 802.11b

                     Bluetooth
 1M
                                       ANT

100k

                     ZigBee/IEEE 802.15.4
 10k


  1k



       0.1m         1m           10m          100m         1km

              BAN        PAN            LAN          MAN
Wi-Fi       Bluetooth   802.15.4/ZigBee
IEEE   802.11a/b/g/n   802.15.1    802.15.4
       2.4GHz/5GHz     2.4GHz      866MHz/915MHz/2.4GHz
           100m         100m       100m      2.4GHz
            300Mbps       3Mbps        250kbps 2.4GHz
             32           7        65535


             LAN

              1
IEEE 802.15.4
•               1
•
IEEE 802.15.4

                      Star
  Point to Point




  Point to Multi




                   802.15.4 Coordinator
                   802.15.4 End Device
ZigBee
•        1
•
•
ZigBee




         Mesh
           Coordinator
           Router
           End Device
XBee
• IEEE 802.15.4 ZigBee 2        *5

  – XBee 802.15.4
  – XBee ZB ZigBee PRO
•                        3500
•
•




  *5
XBee
•           5V
• UDP
•
  100kbps
XBee
               XBee
• hardware/fio/tool/XBeeConfigTool
•
• PAN ID
•
•                     MY ID
• Configure
FIO
• XBee Explorer USB PC
• Arduino 15
• Tools Board     Arduino Pro/ Pro Mini (8MHz)

• Tools Serial Port
• Open Examples Digital    Blink
• Upload to I/O Board
FIO
• hardware/fio/firmware/FioStandardFirmata
• Upload to I/O Board
FIO
•   FIO
•   XBee Explorer USB   PC
•   Funnel Server
•   FioTest
Funnel 009
• I2 C
  –
  –
  –         LED
• Funnel Server
• XBee       FIO
•
2006
•
    –
    – 3D
    –
    –
•
•
2008
http://67.org/ws/




   Funnel           ActionScript

More Related Content

What's hot

Home Automation with Android Things and the Google Assistant
Home Automation with Android Things and the Google AssistantHome Automation with Android Things and the Google Assistant
Home Automation with Android Things and the Google AssistantNilhcem
 
Using Android Things to Detect & Exterminate Reptilians
Using Android Things to Detect & Exterminate ReptiliansUsing Android Things to Detect & Exterminate Reptilians
Using Android Things to Detect & Exterminate ReptiliansNilhcem
 
TC74VHC244FW PSpice Model (Free SPICE Model)
TC74VHC244FW PSpice Model (Free SPICE Model)TC74VHC244FW PSpice Model (Free SPICE Model)
TC74VHC244FW PSpice Model (Free SPICE Model)Tsuyoshi Horigome
 
TC74VHC244FT PSpice Model (Free SPICE Model)
TC74VHC244FT PSpice Model (Free SPICE Model)TC74VHC244FT PSpice Model (Free SPICE Model)
TC74VHC244FT PSpice Model (Free SPICE Model)Tsuyoshi Horigome
 
TC74VHC244F PSpice Model (Free SPICE Model)
TC74VHC244F PSpice Model (Free SPICE Model)TC74VHC244F PSpice Model (Free SPICE Model)
TC74VHC244F PSpice Model (Free SPICE Model)Tsuyoshi Horigome
 
Device Modeling of Oscillator using PSpice
Device Modeling of Oscillator using PSpiceDevice Modeling of Oscillator using PSpice
Device Modeling of Oscillator using PSpiceTsuyoshi Horigome
 
Mdp plus 2.1
Mdp plus 2.1Mdp plus 2.1
Mdp plus 2.1boedax
 
Digital system design practical file
Digital system design practical fileDigital system design practical file
Digital system design practical fileArchita Misra
 
openFrameworks、サウンド機能・音響合成、ofxMaxim, ofxOsc, ofxPd, ofxSuperCollider
openFrameworks、サウンド機能・音響合成、ofxMaxim, ofxOsc, ofxPd, ofxSuperCollideropenFrameworks、サウンド機能・音響合成、ofxMaxim, ofxOsc, ofxPd, ofxSuperCollider
openFrameworks、サウンド機能・音響合成、ofxMaxim, ofxOsc, ofxPd, ofxSuperColliderAtsushi Tadokoro
 
Stabilizer: Statistically Sound Performance Evaluation
Stabilizer: Statistically Sound Performance EvaluationStabilizer: Statistically Sound Performance Evaluation
Stabilizer: Statistically Sound Performance EvaluationEmery Berger
 
Writing more complex models
Writing more complex modelsWriting more complex models
Writing more complex modelsMohamed Samy
 
Scala Under the Hood / ScalaSwarm
Scala Under the Hood / ScalaSwarmScala Under the Hood / ScalaSwarm
Scala Under the Hood / ScalaSwarmTzofia Shiftan
 
NSClient++ whats new for 0.3.9 users
NSClient++ whats new for 0.3.9 usersNSClient++ whats new for 0.3.9 users
NSClient++ whats new for 0.3.9 usersMichael Medin
 
W8_2: Inside the UoS Educational Processor
W8_2: Inside the UoS Educational ProcessorW8_2: Inside the UoS Educational Processor
W8_2: Inside the UoS Educational ProcessorDaniel Roggen
 
TC74VCX244FT PSpice Model (Free SPICE Model)
TC74VCX244FT PSpice Model (Free SPICE Model)TC74VCX244FT PSpice Model (Free SPICE Model)
TC74VCX244FT PSpice Model (Free SPICE Model)Tsuyoshi Horigome
 
Arduino workshop
Arduino workshopArduino workshop
Arduino workshopJonah Marrs
 
Ns client++ icinga camp
Ns client++ icinga campNs client++ icinga camp
Ns client++ icinga campMichael Medin
 

What's hot (19)

Home Automation with Android Things and the Google Assistant
Home Automation with Android Things and the Google AssistantHome Automation with Android Things and the Google Assistant
Home Automation with Android Things and the Google Assistant
 
Using Android Things to Detect & Exterminate Reptilians
Using Android Things to Detect & Exterminate ReptiliansUsing Android Things to Detect & Exterminate Reptilians
Using Android Things to Detect & Exterminate Reptilians
 
TC74VHC244FW PSpice Model (Free SPICE Model)
TC74VHC244FW PSpice Model (Free SPICE Model)TC74VHC244FW PSpice Model (Free SPICE Model)
TC74VHC244FW PSpice Model (Free SPICE Model)
 
TC74VHC244FT PSpice Model (Free SPICE Model)
TC74VHC244FT PSpice Model (Free SPICE Model)TC74VHC244FT PSpice Model (Free SPICE Model)
TC74VHC244FT PSpice Model (Free SPICE Model)
 
TC74VHC244F PSpice Model (Free SPICE Model)
TC74VHC244F PSpice Model (Free SPICE Model)TC74VHC244F PSpice Model (Free SPICE Model)
TC74VHC244F PSpice Model (Free SPICE Model)
 
Device Modeling of Oscillator using PSpice
Device Modeling of Oscillator using PSpiceDevice Modeling of Oscillator using PSpice
Device Modeling of Oscillator using PSpice
 
Mdp plus 2.1
Mdp plus 2.1Mdp plus 2.1
Mdp plus 2.1
 
Digital system design practical file
Digital system design practical fileDigital system design practical file
Digital system design practical file
 
Vhdl lab manual
Vhdl lab manualVhdl lab manual
Vhdl lab manual
 
openFrameworks、サウンド機能・音響合成、ofxMaxim, ofxOsc, ofxPd, ofxSuperCollider
openFrameworks、サウンド機能・音響合成、ofxMaxim, ofxOsc, ofxPd, ofxSuperCollideropenFrameworks、サウンド機能・音響合成、ofxMaxim, ofxOsc, ofxPd, ofxSuperCollider
openFrameworks、サウンド機能・音響合成、ofxMaxim, ofxOsc, ofxPd, ofxSuperCollider
 
Stabilizer: Statistically Sound Performance Evaluation
Stabilizer: Statistically Sound Performance EvaluationStabilizer: Statistically Sound Performance Evaluation
Stabilizer: Statistically Sound Performance Evaluation
 
Arduino code
Arduino codeArduino code
Arduino code
 
Writing more complex models
Writing more complex modelsWriting more complex models
Writing more complex models
 
Scala Under the Hood / ScalaSwarm
Scala Under the Hood / ScalaSwarmScala Under the Hood / ScalaSwarm
Scala Under the Hood / ScalaSwarm
 
NSClient++ whats new for 0.3.9 users
NSClient++ whats new for 0.3.9 usersNSClient++ whats new for 0.3.9 users
NSClient++ whats new for 0.3.9 users
 
W8_2: Inside the UoS Educational Processor
W8_2: Inside the UoS Educational ProcessorW8_2: Inside the UoS Educational Processor
W8_2: Inside the UoS Educational Processor
 
TC74VCX244FT PSpice Model (Free SPICE Model)
TC74VCX244FT PSpice Model (Free SPICE Model)TC74VCX244FT PSpice Model (Free SPICE Model)
TC74VCX244FT PSpice Model (Free SPICE Model)
 
Arduino workshop
Arduino workshopArduino workshop
Arduino workshop
 
Ns client++ icinga camp
Ns client++ icinga campNs client++ icinga camp
Ns client++ icinga camp
 

Viewers also liked

Presentation 2nd campaign ideas
Presentation 2nd campaign ideasPresentation 2nd campaign ideas
Presentation 2nd campaign ideasmegx
 
Flea marlet flyer
Flea marlet flyerFlea marlet flyer
Flea marlet flyerPearl Mims
 
Shanghai XY Flea Market - historical moment
Shanghai XY Flea Market - historical momentShanghai XY Flea Market - historical moment
Shanghai XY Flea Market - historical momentKuan Ong
 
Janet Firth's Flea Market Flips
Janet Firth's Flea Market FlipsJanet Firth's Flea Market Flips
Janet Firth's Flea Market FlipsJanet Firth
 
130205 epa exc_event_seminar
130205 epa exc_event_seminar130205 epa exc_event_seminar
130205 epa exc_event_seminarRudolf Husar
 

Viewers also liked (7)

Presentation 2nd campaign ideas
Presentation 2nd campaign ideasPresentation 2nd campaign ideas
Presentation 2nd campaign ideas
 
Flea marlet flyer
Flea marlet flyerFlea marlet flyer
Flea marlet flyer
 
Shanghai XY Flea Market - historical moment
Shanghai XY Flea Market - historical momentShanghai XY Flea Market - historical moment
Shanghai XY Flea Market - historical moment
 
Janet Firth's Flea Market Flips
Janet Firth's Flea Market FlipsJanet Firth's Flea Market Flips
Janet Firth's Flea Market Flips
 
130205 epa exc_event_seminar
130205 epa exc_event_seminar130205 epa exc_event_seminar
130205 epa exc_event_seminar
 
Plan it!
Plan it!Plan it!
Plan it!
 
Dream wedding planner
Dream wedding plannerDream wedding planner
Dream wedding planner
 

Similar to 67WS Seminar Event

Workshop at IAMAS 2008-05-24
Workshop at IAMAS 2008-05-24Workshop at IAMAS 2008-05-24
Workshop at IAMAS 2008-05-24Shigeru Kobayashi
 
WCAN mini ActionScript Vol.4
WCAN mini ActionScript Vol.4WCAN mini ActionScript Vol.4
WCAN mini ActionScript Vol.4Shigeru Kobayashi
 
Workshop @ Make: Tokyo Meeting 02
Workshop @ Make: Tokyo Meeting 02Workshop @ Make: Tokyo Meeting 02
Workshop @ Make: Tokyo Meeting 02Shigeru Kobayashi
 
Getting Started With Raspberry Pi - UCSD 2013
Getting Started With Raspberry Pi - UCSD 2013Getting Started With Raspberry Pi - UCSD 2013
Getting Started With Raspberry Pi - UCSD 2013Tom Paulus
 
iOS Bluetooth Low Energy (BLE) Remote Robot Interface
iOS Bluetooth Low Energy (BLE) Remote Robot InterfaceiOS Bluetooth Low Energy (BLE) Remote Robot Interface
iOS Bluetooth Low Energy (BLE) Remote Robot InterfaceSteve Knodl
 
Twin wheeler modified for arduino simplified serial protocol to sabertooth v21
Twin wheeler modified for arduino simplified serial protocol to sabertooth v21Twin wheeler modified for arduino simplified serial protocol to sabertooth v21
Twin wheeler modified for arduino simplified serial protocol to sabertooth v21josnihmurni2907
 
Arduino for Beginners
Arduino for BeginnersArduino for Beginners
Arduino for BeginnersSarwan Singh
 
Game Development using SDL and the PDK
Game Development using SDL and the PDK Game Development using SDL and the PDK
Game Development using SDL and the PDK ardiri
 
Android Things in action
Android Things in actionAndroid Things in action
Android Things in actionStefano Sanna
 

Similar to 67WS Seminar Event (20)

Workshop at AXIS Inc.
Workshop at AXIS Inc.Workshop at AXIS Inc.
Workshop at AXIS Inc.
 
Workshop at IAMAS 2008-05-24
Workshop at IAMAS 2008-05-24Workshop at IAMAS 2008-05-24
Workshop at IAMAS 2008-05-24
 
Make: Tokyo Meeting 03
Make: Tokyo Meeting 03Make: Tokyo Meeting 03
Make: Tokyo Meeting 03
 
YCAM Workshop Part 2
YCAM Workshop Part 2YCAM Workshop Part 2
YCAM Workshop Part 2
 
Geidai Open Workshop 2009
Geidai Open Workshop 2009Geidai Open Workshop 2009
Geidai Open Workshop 2009
 
67WS Funnel
67WS Funnel67WS Funnel
67WS Funnel
 
YCAM Workshop Part 1
YCAM Workshop Part 1YCAM Workshop Part 1
YCAM Workshop Part 1
 
67WS Event FIO Primer
67WS Event FIO Primer67WS Event FIO Primer
67WS Event FIO Primer
 
dotFes 2008 TOKYO
dotFes 2008 TOKYOdotFes 2008 TOKYO
dotFes 2008 TOKYO
 
WCAN mini ActionScript Vol.4
WCAN mini ActionScript Vol.4WCAN mini ActionScript Vol.4
WCAN mini ActionScript Vol.4
 
Workshop @ Make: Tokyo Meeting 02
Workshop @ Make: Tokyo Meeting 02Workshop @ Make: Tokyo Meeting 02
Workshop @ Make: Tokyo Meeting 02
 
Programming arduino makeymakey
Programming arduino makeymakeyProgramming arduino makeymakey
Programming arduino makeymakey
 
YCAM Workshop Part 3
YCAM Workshop Part 3YCAM Workshop Part 3
YCAM Workshop Part 3
 
Getting Started With Raspberry Pi - UCSD 2013
Getting Started With Raspberry Pi - UCSD 2013Getting Started With Raspberry Pi - UCSD 2013
Getting Started With Raspberry Pi - UCSD 2013
 
P-Space Arduino/Genuino day 2016
P-Space Arduino/Genuino day 2016P-Space Arduino/Genuino day 2016
P-Space Arduino/Genuino day 2016
 
iOS Bluetooth Low Energy (BLE) Remote Robot Interface
iOS Bluetooth Low Energy (BLE) Remote Robot InterfaceiOS Bluetooth Low Energy (BLE) Remote Robot Interface
iOS Bluetooth Low Energy (BLE) Remote Robot Interface
 
Twin wheeler modified for arduino simplified serial protocol to sabertooth v21
Twin wheeler modified for arduino simplified serial protocol to sabertooth v21Twin wheeler modified for arduino simplified serial protocol to sabertooth v21
Twin wheeler modified for arduino simplified serial protocol to sabertooth v21
 
Arduino for Beginners
Arduino for BeginnersArduino for Beginners
Arduino for Beginners
 
Game Development using SDL and the PDK
Game Development using SDL and the PDK Game Development using SDL and the PDK
Game Development using SDL and the PDK
 
Android Things in action
Android Things in actionAndroid Things in action
Android Things in action
 

More from Shigeru Kobayashi

Maker Faireを持続可能にするには?
Maker Faireを持続可能にするには?Maker Faireを持続可能にするには?
Maker Faireを持続可能にするには?Shigeru Kobayashi
 
au未来研究所ハッカソン
au未来研究所ハッカソンau未来研究所ハッカソン
au未来研究所ハッカソンShigeru Kobayashi
 
テレマティクスハッカソン参加同意書
テレマティクスハッカソン参加同意書テレマティクスハッカソン参加同意書
テレマティクスハッカソン参加同意書Shigeru Kobayashi
 
monoFabアイデアソンミーティング参加同意書
monoFabアイデアソンミーティング参加同意書monoFabアイデアソンミーティング参加同意書
monoFabアイデアソンミーティング参加同意書Shigeru Kobayashi
 
情報学基礎:エレクトロニクス
情報学基礎:エレクトロニクス情報学基礎:エレクトロニクス
情報学基礎:エレクトロニクスShigeru Kobayashi
 
Rebuilding the world, from the 'periphery'
Rebuilding the world, from the 'periphery'Rebuilding the world, from the 'periphery'
Rebuilding the world, from the 'periphery'Shigeru Kobayashi
 
Engadget電子工作部:インテルGalileoでガジェットを作ろう!
Engadget電子工作部:インテルGalileoでガジェットを作ろう!Engadget電子工作部:インテルGalileoでガジェットを作ろう!
Engadget電子工作部:インテルGalileoでガジェットを作ろう!Shigeru Kobayashi
 
第2回iBeaconハッカソン
第2回iBeaconハッカソン第2回iBeaconハッカソン
第2回iBeaconハッカソンShigeru Kobayashi
 
イノベーション創出のファシリテータとしてのデジタル工作機械を備えた市民工房
イノベーション創出のファシリテータとしてのデジタル工作機械を備えた市民工房イノベーション創出のファシリテータとしてのデジタル工作機械を備えた市民工房
イノベーション創出のファシリテータとしてのデジタル工作機械を備えた市民工房Shigeru Kobayashi
 

More from Shigeru Kobayashi (20)

Maker Faireを持続可能にするには?
Maker Faireを持続可能にするには?Maker Faireを持続可能にするには?
Maker Faireを持続可能にするには?
 
Maker Faire Tokyo 2018
Maker Faire Tokyo 2018Maker Faire Tokyo 2018
Maker Faire Tokyo 2018
 
IoT Workshop in Macao
IoT Workshop in MacaoIoT Workshop in Macao
IoT Workshop in Macao
 
au未来研究所ハッカソン
au未来研究所ハッカソンau未来研究所ハッカソン
au未来研究所ハッカソン
 
Maker Faire Tokyo 2015
Maker Faire Tokyo 2015Maker Faire Tokyo 2015
Maker Faire Tokyo 2015
 
Gesture Workshop
Gesture WorkshopGesture Workshop
Gesture Workshop
 
Telematics Hackathon
Telematics HackathonTelematics Hackathon
Telematics Hackathon
 
テレマティクスハッカソン参加同意書
テレマティクスハッカソン参加同意書テレマティクスハッカソン参加同意書
テレマティクスハッカソン参加同意書
 
monoFab Ideathon Meeting
monoFab Ideathon MeetingmonoFab Ideathon Meeting
monoFab Ideathon Meeting
 
monoFabアイデアソンミーティング参加同意書
monoFabアイデアソンミーティング参加同意書monoFabアイデアソンミーティング参加同意書
monoFabアイデアソンミーティング参加同意書
 
CEATEC JAPAN 2014
CEATEC JAPAN 2014CEATEC JAPAN 2014
CEATEC JAPAN 2014
 
BLE Boot Camp
BLE Boot CampBLE Boot Camp
BLE Boot Camp
 
Fab MeetUp Vol.5
Fab MeetUp Vol.5Fab MeetUp Vol.5
Fab MeetUp Vol.5
 
SK creator planet 2014
SK creator planet 2014SK creator planet 2014
SK creator planet 2014
 
Solid 2014 kobayashi
Solid 2014 kobayashiSolid 2014 kobayashi
Solid 2014 kobayashi
 
情報学基礎:エレクトロニクス
情報学基礎:エレクトロニクス情報学基礎:エレクトロニクス
情報学基礎:エレクトロニクス
 
Rebuilding the world, from the 'periphery'
Rebuilding the world, from the 'periphery'Rebuilding the world, from the 'periphery'
Rebuilding the world, from the 'periphery'
 
Engadget電子工作部:インテルGalileoでガジェットを作ろう!
Engadget電子工作部:インテルGalileoでガジェットを作ろう!Engadget電子工作部:インテルGalileoでガジェットを作ろう!
Engadget電子工作部:インテルGalileoでガジェットを作ろう!
 
第2回iBeaconハッカソン
第2回iBeaconハッカソン第2回iBeaconハッカソン
第2回iBeaconハッカソン
 
イノベーション創出のファシリテータとしてのデジタル工作機械を備えた市民工房
イノベーション創出のファシリテータとしてのデジタル工作機械を備えた市民工房イノベーション創出のファシリテータとしてのデジタル工作機械を備えた市民工房
イノベーション創出のファシリテータとしてのデジタル工作機械を備えた市民工房
 

Recently uploaded

PORTFOLIO DE ARQUITECTURA CRISTOBAL HERAUD 2024
PORTFOLIO DE ARQUITECTURA CRISTOBAL HERAUD 2024PORTFOLIO DE ARQUITECTURA CRISTOBAL HERAUD 2024
PORTFOLIO DE ARQUITECTURA CRISTOBAL HERAUD 2024CristobalHeraud
 
306MTAMount UCLA University Bachelor's Diploma in Social Media
306MTAMount UCLA University Bachelor's Diploma in Social Media306MTAMount UCLA University Bachelor's Diploma in Social Media
306MTAMount UCLA University Bachelor's Diploma in Social MediaD SSS
 
办理学位证(SFU证书)西蒙菲莎大学毕业证成绩单原版一比一
办理学位证(SFU证书)西蒙菲莎大学毕业证成绩单原版一比一办理学位证(SFU证书)西蒙菲莎大学毕业证成绩单原版一比一
办理学位证(SFU证书)西蒙菲莎大学毕业证成绩单原版一比一F dds
 
原版美国亚利桑那州立大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree
原版美国亚利桑那州立大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree原版美国亚利桑那州立大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree
原版美国亚利桑那州立大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degreeyuu sss
 
Passbook project document_april_21__.pdf
Passbook project document_april_21__.pdfPassbook project document_april_21__.pdf
Passbook project document_april_21__.pdfvaibhavkanaujia
 
办理学位证(NTU证书)新加坡南洋理工大学毕业证成绩单原版一比一
办理学位证(NTU证书)新加坡南洋理工大学毕业证成绩单原版一比一办理学位证(NTU证书)新加坡南洋理工大学毕业证成绩单原版一比一
办理学位证(NTU证书)新加坡南洋理工大学毕业证成绩单原版一比一A SSS
 
Design principles on typography in design
Design principles on typography in designDesign principles on typography in design
Design principles on typography in designnooreen17
 
办理卡尔顿大学毕业证成绩单|购买加拿大文凭证书
办理卡尔顿大学毕业证成绩单|购买加拿大文凭证书办理卡尔顿大学毕业证成绩单|购买加拿大文凭证书
办理卡尔顿大学毕业证成绩单|购买加拿大文凭证书zdzoqco
 
办理(UC毕业证书)查尔斯顿大学毕业证成绩单原版一比一
办理(UC毕业证书)查尔斯顿大学毕业证成绩单原版一比一办理(UC毕业证书)查尔斯顿大学毕业证成绩单原版一比一
办理(UC毕业证书)查尔斯顿大学毕业证成绩单原版一比一z xss
 
MT. Marseille an Archipelago. Strategies for Integrating Residential Communit...
MT. Marseille an Archipelago. Strategies for Integrating Residential Communit...MT. Marseille an Archipelago. Strategies for Integrating Residential Communit...
MT. Marseille an Archipelago. Strategies for Integrating Residential Communit...katerynaivanenko1
 
毕业文凭制作#回国入职#diploma#degree澳洲弗林德斯大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree
毕业文凭制作#回国入职#diploma#degree澳洲弗林德斯大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree 毕业文凭制作#回国入职#diploma#degree澳洲弗林德斯大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree
毕业文凭制作#回国入职#diploma#degree澳洲弗林德斯大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree ttt fff
 
DAKSHIN BIHAR GRAMIN BANK: REDEFINING THE DIGITAL BANKING EXPERIENCE WITH A U...
DAKSHIN BIHAR GRAMIN BANK: REDEFINING THE DIGITAL BANKING EXPERIENCE WITH A U...DAKSHIN BIHAR GRAMIN BANK: REDEFINING THE DIGITAL BANKING EXPERIENCE WITH A U...
DAKSHIN BIHAR GRAMIN BANK: REDEFINING THE DIGITAL BANKING EXPERIENCE WITH A U...Rishabh Aryan
 
Top 10 Modern Web Design Trends for 2025
Top 10 Modern Web Design Trends for 2025Top 10 Modern Web Design Trends for 2025
Top 10 Modern Web Design Trends for 2025Rndexperts
 
2024新版美国旧金山州立大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree
2024新版美国旧金山州立大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree2024新版美国旧金山州立大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree
2024新版美国旧金山州立大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degreeyuu sss
 
西北大学毕业证学位证成绩单-怎么样办伪造
西北大学毕业证学位证成绩单-怎么样办伪造西北大学毕业证学位证成绩单-怎么样办伪造
西北大学毕业证学位证成绩单-怎么样办伪造kbdhl05e
 
Dubai Calls Girl Tapes O525547819 Real Tapes Escort Services Dubai
Dubai Calls Girl Tapes O525547819 Real Tapes Escort Services DubaiDubai Calls Girl Tapes O525547819 Real Tapes Escort Services Dubai
Dubai Calls Girl Tapes O525547819 Real Tapes Escort Services Dubaikojalkojal131
 
Call Girls Aslali 7397865700 Ridhima Hire Me Full Night
Call Girls Aslali 7397865700 Ridhima Hire Me Full NightCall Girls Aslali 7397865700 Ridhima Hire Me Full Night
Call Girls Aslali 7397865700 Ridhima Hire Me Full Nightssuser7cb4ff
 
办理(宾州州立毕业证书)美国宾夕法尼亚州立大学毕业证成绩单原版一比一
办理(宾州州立毕业证书)美国宾夕法尼亚州立大学毕业证成绩单原版一比一办理(宾州州立毕业证书)美国宾夕法尼亚州立大学毕业证成绩单原版一比一
办理(宾州州立毕业证书)美国宾夕法尼亚州立大学毕业证成绩单原版一比一F La
 
How to Be Famous in your Field just visit our Site
How to Be Famous in your Field just visit our SiteHow to Be Famous in your Field just visit our Site
How to Be Famous in your Field just visit our Sitegalleryaagency
 

Recently uploaded (20)

PORTFOLIO DE ARQUITECTURA CRISTOBAL HERAUD 2024
PORTFOLIO DE ARQUITECTURA CRISTOBAL HERAUD 2024PORTFOLIO DE ARQUITECTURA CRISTOBAL HERAUD 2024
PORTFOLIO DE ARQUITECTURA CRISTOBAL HERAUD 2024
 
306MTAMount UCLA University Bachelor's Diploma in Social Media
306MTAMount UCLA University Bachelor's Diploma in Social Media306MTAMount UCLA University Bachelor's Diploma in Social Media
306MTAMount UCLA University Bachelor's Diploma in Social Media
 
办理学位证(SFU证书)西蒙菲莎大学毕业证成绩单原版一比一
办理学位证(SFU证书)西蒙菲莎大学毕业证成绩单原版一比一办理学位证(SFU证书)西蒙菲莎大学毕业证成绩单原版一比一
办理学位证(SFU证书)西蒙菲莎大学毕业证成绩单原版一比一
 
原版美国亚利桑那州立大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree
原版美国亚利桑那州立大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree原版美国亚利桑那州立大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree
原版美国亚利桑那州立大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree
 
Passbook project document_april_21__.pdf
Passbook project document_april_21__.pdfPassbook project document_april_21__.pdf
Passbook project document_april_21__.pdf
 
办理学位证(NTU证书)新加坡南洋理工大学毕业证成绩单原版一比一
办理学位证(NTU证书)新加坡南洋理工大学毕业证成绩单原版一比一办理学位证(NTU证书)新加坡南洋理工大学毕业证成绩单原版一比一
办理学位证(NTU证书)新加坡南洋理工大学毕业证成绩单原版一比一
 
Design principles on typography in design
Design principles on typography in designDesign principles on typography in design
Design principles on typography in design
 
办理卡尔顿大学毕业证成绩单|购买加拿大文凭证书
办理卡尔顿大学毕业证成绩单|购买加拿大文凭证书办理卡尔顿大学毕业证成绩单|购买加拿大文凭证书
办理卡尔顿大学毕业证成绩单|购买加拿大文凭证书
 
办理(UC毕业证书)查尔斯顿大学毕业证成绩单原版一比一
办理(UC毕业证书)查尔斯顿大学毕业证成绩单原版一比一办理(UC毕业证书)查尔斯顿大学毕业证成绩单原版一比一
办理(UC毕业证书)查尔斯顿大学毕业证成绩单原版一比一
 
MT. Marseille an Archipelago. Strategies for Integrating Residential Communit...
MT. Marseille an Archipelago. Strategies for Integrating Residential Communit...MT. Marseille an Archipelago. Strategies for Integrating Residential Communit...
MT. Marseille an Archipelago. Strategies for Integrating Residential Communit...
 
Call Girls in Pratap Nagar, 9953056974 Escort Service
Call Girls in Pratap Nagar,  9953056974 Escort ServiceCall Girls in Pratap Nagar,  9953056974 Escort Service
Call Girls in Pratap Nagar, 9953056974 Escort Service
 
毕业文凭制作#回国入职#diploma#degree澳洲弗林德斯大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree
毕业文凭制作#回国入职#diploma#degree澳洲弗林德斯大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree 毕业文凭制作#回国入职#diploma#degree澳洲弗林德斯大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree
毕业文凭制作#回国入职#diploma#degree澳洲弗林德斯大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree
 
DAKSHIN BIHAR GRAMIN BANK: REDEFINING THE DIGITAL BANKING EXPERIENCE WITH A U...
DAKSHIN BIHAR GRAMIN BANK: REDEFINING THE DIGITAL BANKING EXPERIENCE WITH A U...DAKSHIN BIHAR GRAMIN BANK: REDEFINING THE DIGITAL BANKING EXPERIENCE WITH A U...
DAKSHIN BIHAR GRAMIN BANK: REDEFINING THE DIGITAL BANKING EXPERIENCE WITH A U...
 
Top 10 Modern Web Design Trends for 2025
Top 10 Modern Web Design Trends for 2025Top 10 Modern Web Design Trends for 2025
Top 10 Modern Web Design Trends for 2025
 
2024新版美国旧金山州立大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree
2024新版美国旧金山州立大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree2024新版美国旧金山州立大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree
2024新版美国旧金山州立大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree
 
西北大学毕业证学位证成绩单-怎么样办伪造
西北大学毕业证学位证成绩单-怎么样办伪造西北大学毕业证学位证成绩单-怎么样办伪造
西北大学毕业证学位证成绩单-怎么样办伪造
 
Dubai Calls Girl Tapes O525547819 Real Tapes Escort Services Dubai
Dubai Calls Girl Tapes O525547819 Real Tapes Escort Services DubaiDubai Calls Girl Tapes O525547819 Real Tapes Escort Services Dubai
Dubai Calls Girl Tapes O525547819 Real Tapes Escort Services Dubai
 
Call Girls Aslali 7397865700 Ridhima Hire Me Full Night
Call Girls Aslali 7397865700 Ridhima Hire Me Full NightCall Girls Aslali 7397865700 Ridhima Hire Me Full Night
Call Girls Aslali 7397865700 Ridhima Hire Me Full Night
 
办理(宾州州立毕业证书)美国宾夕法尼亚州立大学毕业证成绩单原版一比一
办理(宾州州立毕业证书)美国宾夕法尼亚州立大学毕业证成绩单原版一比一办理(宾州州立毕业证书)美国宾夕法尼亚州立大学毕业证成绩单原版一比一
办理(宾州州立毕业证书)美国宾夕法尼亚州立大学毕业证成绩单原版一比一
 
How to Be Famous in your Field just visit our Site
How to Be Famous in your Field just visit our SiteHow to Be Famous in your Field just visit our Site
How to Be Famous in your Field just visit our Site
 

67WS Seminar Event

  • 1. http://67.org/ws/ Funnel ActionScript
  • 2. 1 13:00 14:30 – – Funnel – Funnel Gainer – Funnel • 2 14:45 16:15 – FIO Funnel I/O ∗ Arduino ∗ XBee – Funnel 009 –
  • 3. • 1970 • 1993 2004 – – – • IAMAS 2004 – – –
  • 5. Make Volume 04 Sketch 2008
  • 6. Make Volume 05 Sketch / Prototype 2008
  • 7. Make Volume 06 Prototyping Lab: 2009
  • 10. ITP*1 Tom Igoe • 1 • • 1 *1 Interactive Telecommunications Program
  • 11. PC • ASCII • 1 bps
  • 12. Alto (1973) http://toastytech.com/guis/
  • 14. • • • littleBits coffemaker*2 *2 http://www.vimeo.com/1389390
  • 15. – – • – –
  • 16. 1 • • • ×XBee×Funnel×PC • Make: Tokyo Meeting 01-02 IAMAS Gangu Project
  • 17. 2 Jamming Gear • × • – – • ×FIO×Max/MSP×PC • Make: Tokyo Meeting 01-02 IAMAS Gangu Project
  • 18. HELLO!! • 2007.12.22-23 • • 19 • • Processing×Funnel×Gainer I/O
  • 19. PIC AVR program A a0]=ain.o; aout.1 = 255; B C D
  • 20. PC Arduino Wiring program A a0]=ain.o; aout.1 = 255; B C D PC program a0]=ain.o; aout.1 = 255;
  • 21. Arduino I/O SparkFun Electronics
  • 22. I/O PC Gainer Phidgets A B C D PC program a0]=ain.o; aout.1 = 255;
  • 24. Gainer • I/O • – ActionScript 2/3 – Processing – Max/MSP
  • 26. I/O
  • 27.
  • 28. I/O
  • 29.
  • 30. LED
  • 31. –2 – GND – V
  • 32.
  • 33. – – A
  • 34.
  • 35. – – Ω
  • 36.
  • 37. • 1,000 1kΩ • 1,000,000 1MΩ • 1,000 1 1mA • 1 50µA 1,000,000
  • 38.
  • 40. +5V GND
  • 41.
  • 42.
  • 43.
  • 44. LED
  • 45. • • – – –
  • 47. LED
  • 48. LED • LED 20mA • • •
  • 49. V =I ×R •V V •I A •R Ω
  • 50. − LED ×R = LED R − LED R= LED 5.0V LED 1.8V 10mA 5 − 1.8 3.2 R= = = 0.01 0.01
  • 51. LED
  • 52. +5V • GND •
  • 53. LED NG
  • 54. LED
  • 55. LED 7
  • 56. Funnel Gainer • GUI •
  • 58. Funnel • – – – – •
  • 60. Bill Moggridge, Designing Interactions (2006)
  • 61. Funnel Gainer • Gainer – – Gainer I/O 1:1 • Funnel – – Arduino XBee
  • 62. Funnel Sketching User Experiences Getting the Design Right and the Right Design Bill Buxton Morgan Kaufmann Pub 2007
  • 63. Funnel Bill Buxton, Sketching User Experiences (2008)
  • 64. Funnel Bill Buxton, Sketching User Experiences (2008)
  • 65. Funnel • GUI • – Convolution – SetPoint – Scaler – Osc • I/O
  • 67. Gainer I/O 2 • din 0 1 2 – – • ain 0 1 256 – –
  • 68. din 0
  • 69. din 0
  • 70. • • – rising edge – falling edge
  • 71. 1 var wasPressed:boolean = false; // gio.onReady = function() { gio.beginDigitalInput(); _root.onEnterFrame = function() { var isPressed:boolean = gio.digitalInput[0]; // if (!wasPressed && isPressed) { // 0 1 } else if (wasPressed && !isPressed) { // 1 0 } wasPressed = isPressed; // }; };
  • 72. Funnel 2 var gio:Gainer = new Gainer(); gio.digitalInput(0).addEventListener(RISING_EDGE, function(e:Event):void { // 0 1 }); gio.digitalInput(0).addEventListener(FALLING_EDGE, function(e:Event):void { // 1 0 });
  • 73. ain 0
  • 74. ain 0
  • 76.
  • 77.
  • 78. ain 0 CdS
  • 79. ain 0 CdS
  • 80. ain 0 CdS • • GainerSignalScope • •
  • 81. Gainer.remap() 3 Gainer.remap() import gainer.*; var gio:Gainer = new Gainer(quot;localhostquot;, 2000, Gainer.MODE1, true); gio.onReady = function() { gio.beginAnalogInput(); _root.onEnterFrame = function() { var val:Number; var frames:Number = movieClip._totalframes; //ain 0 0-255 val = Math.round(Gainer.remap(gio.analogInput[0], 0, 255, 1, frames)); _root.movieClip.gotoAndStop(val); }; };
  • 82. Scaler 4 Scaler gio = new Gainer(); gio.analogInput(0).filters = [new Scaler(0.2, 0.6, 0, 1, Scaler.LINEAR, true)];
  • 83. – – •
  • 84. 1 2 51 2 set point.fla var threshold:Number = 127; // var hysteresis:Number = 10; // var lastState:Number = -1; // gio.onReady = function() { gio.beginAnalogInput();
  • 85. 1 2 61 2 _root.onEnterFrame = function() { var state:Number = lastState; var val:Number = gio.analogInput[0]; if (val < threshold) { state = 0; } else { state = 1; } if (lastState != state) { // } lastState = state; }; };
  • 86. 1 2 71 2 _root.onEnterFrame = function() { var state:Number = lastState; var val:Number = gio.analogInput[0]; if (val < (threshold - hysteresis)) { state = 0; } else if (val > (threshold + hysteresis)) { state = 1; } if (lastState != state) { // } lastState = state; }; };
  • 87. SetPoint 8 SetPoint gio = new Gainer(); gio.analogInput(0).filters = [new SetPoint([0.5, 0.1])]; gio.analogInput(0).addEventListener(RISING_EDGE, onRisingEdge); gio.analogInput(0).addEventListener(FALLING_EDGE, onFallingEdge);
  • 88. ain 0
  • 89. ain 0
  • 90. ain 0 SoftPot
  • 91. ain 0 SoftPot
  • 92. ain 0 SoftPot • • •
  • 93. ain
  • 94. ain
  • 96.
  • 97. • • -1 +1 • sin •
  • 98. • • LPF • HPF
  • 99. 9 MovingAverageFilter.as class MovingAverageFilter { private var _taps:Number; // private var _values:Array; // function MovingAverageFilter(taps:Number) { _taps = taps; _values = new Array(_taps); } function processSample(sample:Number):Number { var acc:Number = 0; var i:Number = 0; // _values[0] = sample;
  • 100. 10 // for (i = 0; i < _taps; i++) { acc = acc + _values[i]; } acc = acc / _taps; // 1 // [A][B][C][D][E] ... // [A][A][B][C][D] ... for (i = _taps - 1; i > 0; i--) { _values[i] = _values[i - 1]; } return acc; } }
  • 101. Gainer 11 MovingAverageFilter var gio:Gainer = new Gainer(quot;localhostquot;, 2000, Gainer.MODE1, true); // var smoothFilter:MovingAverageFilter = new MovingAverageFilter(8); function loop():Void { var val:Number = smoothFilter.processSample(this.analogInput[0]); ...
  • 102. Convolution 12 Convolution gio = new Gainer(); gio.analogInput(0).filters = [new Convolution(Convolution.MOVING_AVERAGE)];
  • 103. 13 public function GainerAccelerometer() { gio = new Gainer(); board = new Shape(); ... this.addChild(board); var smoother:Convolution = new Convolution(Convolution.MOVING_AVERAGE); var scaler:Scaler = new Scaler(0.30, 0.70, -1, 1, Scaler.LINEAR, true); gio.analogInput(1).filters = [smoother, scaler]; addEventListener(Event.ENTER_FRAME, loop); } private function loop(event:Event):void { board.rotation = Math.asin(gio.analogInput(1).value) / Math.PI * 180; }
  • 104. Gainer I/O 2 • dout 0 1 2 – LED – • *3 aout 0 255 256 – LED – *3 PWM
  • 105. 14 I/O LED public function GainerLED() { ... var circle:Sprite = new Sprite(); ... this.addChild(circle); circle.addEventListener(MouseEvent.MOUSE_DOWN, mousePressed); circle.addEventListener(MouseEvent.MOUSE_UP, mouseReleased); } private function mousePressed(e:MouseEvent):void { gio.led.value = 1; } private function mouseReleased(e:MouseEvent):void { gio.led.value = 0; }
  • 106. 15 I/O LED LED button.fla public function GainerLED() { gio = new Gainer(); gio.button.addEventListener(PinEvent.RISING_EDGE, buttonPressed); gio.button.addEventListener(PinEvent.FALLING_EDGE, buttonReleased); } private function buttonPressed(e:PinEvent):void { gio.led.value = 1; } private function buttonReleased(e:PinEvent):void { gio.led.value = 0; }
  • 107. dout 0 LED
  • 108. dout 0 LED
  • 109. 16 LED public function GainerLED() { ... var circle:Sprite = new Sprite(); ... this.addChild(circle); circle.addEventListener(MouseEvent.MOUSE_DOWN, mousePressed); circle.addEventListener(MouseEvent.MOUSE_UP, mouseReleased); } private function mousePressed(e:MouseEvent):void { gio.digitalOutput(0).value = 1; } private function mouseReleased(e:MouseEvent):void { gio.digitalOutput(0).value = 0; }
  • 110. aout 0 LED
  • 111. aout 0 LED
  • 112. 17 x LED public function GainerLED() { gio = new Gainer(); stage.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoved); gio.analogOutput(0).filters = [new Scaler(0, 199, 0, 1, Scaler.LINEAR, true)]; } private function mouseMoved(e:MouseEvent):void { gio.analogOutput(0).value = e.stageX; }
  • 113. Osc LED 18 Osc LED public function GainerLED() { ... circle.addEventListener(MouseEvent.MOUSE_DOWN, mousePressed); circle.addEventListener(MouseEvent.MOUSE_UP, mouseReleased); gio.analogOutput(0).filters = [new Osc(Osc.SQUARE, 0.5, 1, 0, 0)]; } private function mousePressed(e:MouseEvent):void { gio.analogOutput(0).filters[0].start(); } private function mouseReleased(e:MouseEvent):void { gio.analogOutput(0).filters[0].stop(); gio.analogOutput(0).value = 0; }
  • 114. FIO (Funnel I/O) • LilyPad Arduino v1.6 • • XBee
  • 117. FIO (Funnel I/O) v1.3 - +
  • 119. FIO v1.3 vs Funnel IO Remixed
  • 120. Arduino • Hernando Barrag´n IDII*4 a Wiring • • IDE Arduino I/O *4 Interaction Design Institute Ivrea
  • 121. Wiring SparkFun Electronics
  • 122. Arduino Duemilanove SparkFun Electronics
  • 124. – – •
  • 125. LilyPad Arduino SparkFun Electronics
  • 126. Arduino Pro Mini SparkFun Electronics
  • 127. Arduino ProtoShield SparkFun Electronics
  • 128. Arduino XBee Shield SparkFun Electronics
  • 129. Arduino GND +5V GND
  • 130. Gainer vs Arduino Gainer Arduino Duemilanove 16 20 RX/TX A/D 8 8bit 6 10bit PWM 8 8bit 6 8bit LED 1 0 LED 1 1 D13 Yes Yes No Yes
  • 132. Arduino LED 19 Arduino LED int ledPin = 13; void setup() { pinMode(ledPin, OUTPUT); } void loop() { digitalWrite(ledPin, HIGH); delay(1000); digitalWrite(ledPin, LOW); delay(1000); }
  • 133. C LED 20 C LED #include <avr/io.h> #include <avr/pgmspace.h> #include <avr/delay.h> #define CLK_CALIB_DATA (FLASHEND - 3) void init() { uint8_t osccal_data = pgm_read_byte(CLK_CALIB_DATA); if (osccal_data != 0xff) OSCCAL = osccal_data; DDRB = 0xff; DDRD = 0xff; return; }
  • 134. C LED 21 C LED void delay_ms(uint16_t t) { while (t--) _delay_ms(1); } int main(void) { init(); for (; ;) { PORTB = 0xff; delay_ms(500); PORTB = 0x00; delay_ms(500); } return 0; }
  • 136. Arduino PC • – – USB – Ethernet • – Bluetooth – IEEE 802.15.4 / ZigBee
  • 138. Firmata PC • Pd (aka Pure Data) • Processing • Funnel • Linux C++ • C++/openFrameworks
  • 139. 10G IEEE 802.11n 100M IEEE 802.11a/g 10M IEEE 802.11b Bluetooth 1M ANT 100k ZigBee/IEEE 802.15.4 10k 1k 0.1m 1m 10m 100m 1km BAN PAN LAN MAN
  • 140. Wi-Fi Bluetooth 802.15.4/ZigBee IEEE 802.11a/b/g/n 802.15.1 802.15.4 2.4GHz/5GHz 2.4GHz 866MHz/915MHz/2.4GHz 100m 100m 100m 2.4GHz 300Mbps 3Mbps 250kbps 2.4GHz 32 7 65535 LAN 1
  • 142. IEEE 802.15.4 Star Point to Point Point to Multi 802.15.4 Coordinator 802.15.4 End Device
  • 143. ZigBee • 1 • •
  • 144. ZigBee Mesh Coordinator Router End Device
  • 145. XBee • IEEE 802.15.4 ZigBee 2 *5 – XBee 802.15.4 – XBee ZB ZigBee PRO • 3500 • • *5
  • 146. XBee • 5V • UDP • 100kbps
  • 147. XBee XBee • hardware/fio/tool/XBeeConfigTool • • PAN ID • • MY ID • Configure
  • 148. FIO • XBee Explorer USB PC • Arduino 15 • Tools Board Arduino Pro/ Pro Mini (8MHz) • Tools Serial Port • Open Examples Digital Blink • Upload to I/O Board
  • 150. FIO • FIO • XBee Explorer USB PC • Funnel Server • FioTest
  • 151. Funnel 009 • I2 C – – – LED • Funnel Server • XBee FIO •
  • 152. 2006
  • 153. – – 3D – – • •
  • 154. 2008
  • 155. http://67.org/ws/ Funnel ActionScript