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

MASONRY -Building Technology and Construction
MASONRY -Building Technology and ConstructionMASONRY -Building Technology and Construction
MASONRY -Building Technology and Constructionmbermudez3
 
PODSCAPE - Brochure 2023_ prefab homes in Bangalore India
PODSCAPE - Brochure 2023_ prefab homes in Bangalore IndiaPODSCAPE - Brochure 2023_ prefab homes in Bangalore India
PODSCAPE - Brochure 2023_ prefab homes in Bangalore IndiaYathish29
 
Kindergarten Assessment Questions Via LessonUp
Kindergarten Assessment Questions Via LessonUpKindergarten Assessment Questions Via LessonUp
Kindergarten Assessment Questions Via LessonUpmainac1
 
SD_The MATATAG Curriculum Training Design.pptx
SD_The MATATAG Curriculum Training Design.pptxSD_The MATATAG Curriculum Training Design.pptx
SD_The MATATAG Curriculum Training Design.pptxjanettecruzeiro1
 
The_Canvas_of_Creative_Mastery_Newsletter_April_2024_Version.pdf
The_Canvas_of_Creative_Mastery_Newsletter_April_2024_Version.pdfThe_Canvas_of_Creative_Mastery_Newsletter_April_2024_Version.pdf
The_Canvas_of_Creative_Mastery_Newsletter_April_2024_Version.pdfAmirYakdi
 
VIP Call Girls Service Kukatpally Hyderabad Call +91-8250192130
VIP Call Girls Service Kukatpally Hyderabad Call +91-8250192130VIP Call Girls Service Kukatpally Hyderabad Call +91-8250192130
VIP Call Girls Service Kukatpally Hyderabad Call +91-8250192130Suhani Kapoor
 
Cheap Rate Call girls Kalkaji 9205541914 shot 1500 night
Cheap Rate Call girls Kalkaji 9205541914 shot 1500 nightCheap Rate Call girls Kalkaji 9205541914 shot 1500 night
Cheap Rate Call girls Kalkaji 9205541914 shot 1500 nightDelhi Call girls
 
The history of music videos a level presentation
The history of music videos a level presentationThe history of music videos a level presentation
The history of music videos a level presentationamedia6
 
Kala jadu for love marriage | Real amil baba | Famous amil baba | kala jadu n...
Kala jadu for love marriage | Real amil baba | Famous amil baba | kala jadu n...Kala jadu for love marriage | Real amil baba | Famous amil baba | kala jadu n...
Kala jadu for love marriage | Real amil baba | Famous amil baba | kala jadu n...babafaisel
 
Best VIP Call Girls Noida Sector 44 Call Me: 8448380779
Best VIP Call Girls Noida Sector 44 Call Me: 8448380779Best VIP Call Girls Noida Sector 44 Call Me: 8448380779
Best VIP Call Girls Noida Sector 44 Call Me: 8448380779Delhi Call girls
 
Cosumer Willingness to Pay for Sustainable Bricks
Cosumer Willingness to Pay for Sustainable BricksCosumer Willingness to Pay for Sustainable Bricks
Cosumer Willingness to Pay for Sustainable Bricksabhishekparmar618
 
Cheap Rate ➥8448380779 ▻Call Girls In Iffco Chowk Gurgaon
Cheap Rate ➥8448380779 ▻Call Girls In Iffco Chowk GurgaonCheap Rate ➥8448380779 ▻Call Girls In Iffco Chowk Gurgaon
Cheap Rate ➥8448380779 ▻Call Girls In Iffco Chowk GurgaonDelhi Call girls
 
VIP Russian Call Girls in Saharanpur Deepika 8250192130 Independent Escort Se...
VIP Russian Call Girls in Saharanpur Deepika 8250192130 Independent Escort Se...VIP Russian Call Girls in Saharanpur Deepika 8250192130 Independent Escort Se...
VIP Russian Call Girls in Saharanpur Deepika 8250192130 Independent Escort Se...Suhani Kapoor
 
Abu Dhabi Call Girls O58993O4O2 Call Girls in Abu Dhabi`
Abu Dhabi Call Girls O58993O4O2 Call Girls in Abu Dhabi`Abu Dhabi Call Girls O58993O4O2 Call Girls in Abu Dhabi`
Abu Dhabi Call Girls O58993O4O2 Call Girls in Abu Dhabi`dajasot375
 
NO1 Famous Amil Baba In Karachi Kala Jadu In Karachi Amil baba In Karachi Add...
NO1 Famous Amil Baba In Karachi Kala Jadu In Karachi Amil baba In Karachi Add...NO1 Famous Amil Baba In Karachi Kala Jadu In Karachi Amil baba In Karachi Add...
NO1 Famous Amil Baba In Karachi Kala Jadu In Karachi Amil baba In Karachi Add...Amil baba
 
DragonBall PowerPoint Template for demo.pptx
DragonBall PowerPoint Template for demo.pptxDragonBall PowerPoint Template for demo.pptx
DragonBall PowerPoint Template for demo.pptxmirandajeremy200221
 
Captivating Charm: Exploring Marseille's Hillside Villas with Our 3D Architec...
Captivating Charm: Exploring Marseille's Hillside Villas with Our 3D Architec...Captivating Charm: Exploring Marseille's Hillside Villas with Our 3D Architec...
Captivating Charm: Exploring Marseille's Hillside Villas with Our 3D Architec...Yantram Animation Studio Corporation
 
CALL ON ➥8923113531 🔝Call Girls Aminabad Lucknow best Night Fun service
CALL ON ➥8923113531 🔝Call Girls Aminabad Lucknow best Night Fun serviceCALL ON ➥8923113531 🔝Call Girls Aminabad Lucknow best Night Fun service
CALL ON ➥8923113531 🔝Call Girls Aminabad Lucknow best Night Fun serviceanilsa9823
 
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)

MASONRY -Building Technology and Construction
MASONRY -Building Technology and ConstructionMASONRY -Building Technology and Construction
MASONRY -Building Technology and Construction
 
PODSCAPE - Brochure 2023_ prefab homes in Bangalore India
PODSCAPE - Brochure 2023_ prefab homes in Bangalore IndiaPODSCAPE - Brochure 2023_ prefab homes in Bangalore India
PODSCAPE - Brochure 2023_ prefab homes in Bangalore India
 
Kindergarten Assessment Questions Via LessonUp
Kindergarten Assessment Questions Via LessonUpKindergarten Assessment Questions Via LessonUp
Kindergarten Assessment Questions Via LessonUp
 
SD_The MATATAG Curriculum Training Design.pptx
SD_The MATATAG Curriculum Training Design.pptxSD_The MATATAG Curriculum Training Design.pptx
SD_The MATATAG Curriculum Training Design.pptx
 
The_Canvas_of_Creative_Mastery_Newsletter_April_2024_Version.pdf
The_Canvas_of_Creative_Mastery_Newsletter_April_2024_Version.pdfThe_Canvas_of_Creative_Mastery_Newsletter_April_2024_Version.pdf
The_Canvas_of_Creative_Mastery_Newsletter_April_2024_Version.pdf
 
VIP Call Girls Service Kukatpally Hyderabad Call +91-8250192130
VIP Call Girls Service Kukatpally Hyderabad Call +91-8250192130VIP Call Girls Service Kukatpally Hyderabad Call +91-8250192130
VIP Call Girls Service Kukatpally Hyderabad Call +91-8250192130
 
Cheap Rate Call girls Kalkaji 9205541914 shot 1500 night
Cheap Rate Call girls Kalkaji 9205541914 shot 1500 nightCheap Rate Call girls Kalkaji 9205541914 shot 1500 night
Cheap Rate Call girls Kalkaji 9205541914 shot 1500 night
 
The history of music videos a level presentation
The history of music videos a level presentationThe history of music videos a level presentation
The history of music videos a level presentation
 
Kala jadu for love marriage | Real amil baba | Famous amil baba | kala jadu n...
Kala jadu for love marriage | Real amil baba | Famous amil baba | kala jadu n...Kala jadu for love marriage | Real amil baba | Famous amil baba | kala jadu n...
Kala jadu for love marriage | Real amil baba | Famous amil baba | kala jadu n...
 
Best VIP Call Girls Noida Sector 44 Call Me: 8448380779
Best VIP Call Girls Noida Sector 44 Call Me: 8448380779Best VIP Call Girls Noida Sector 44 Call Me: 8448380779
Best VIP Call Girls Noida Sector 44 Call Me: 8448380779
 
Cosumer Willingness to Pay for Sustainable Bricks
Cosumer Willingness to Pay for Sustainable BricksCosumer Willingness to Pay for Sustainable Bricks
Cosumer Willingness to Pay for Sustainable Bricks
 
Cheap Rate ➥8448380779 ▻Call Girls In Iffco Chowk Gurgaon
Cheap Rate ➥8448380779 ▻Call Girls In Iffco Chowk GurgaonCheap Rate ➥8448380779 ▻Call Girls In Iffco Chowk Gurgaon
Cheap Rate ➥8448380779 ▻Call Girls In Iffco Chowk Gurgaon
 
escort service sasti (*~Call Girls in Prasad Nagar Metro❤️9953056974
escort service sasti (*~Call Girls in Prasad Nagar Metro❤️9953056974escort service sasti (*~Call Girls in Prasad Nagar Metro❤️9953056974
escort service sasti (*~Call Girls in Prasad Nagar Metro❤️9953056974
 
VIP Russian Call Girls in Saharanpur Deepika 8250192130 Independent Escort Se...
VIP Russian Call Girls in Saharanpur Deepika 8250192130 Independent Escort Se...VIP Russian Call Girls in Saharanpur Deepika 8250192130 Independent Escort Se...
VIP Russian Call Girls in Saharanpur Deepika 8250192130 Independent Escort Se...
 
Abu Dhabi Call Girls O58993O4O2 Call Girls in Abu Dhabi`
Abu Dhabi Call Girls O58993O4O2 Call Girls in Abu Dhabi`Abu Dhabi Call Girls O58993O4O2 Call Girls in Abu Dhabi`
Abu Dhabi Call Girls O58993O4O2 Call Girls in Abu Dhabi`
 
NO1 Famous Amil Baba In Karachi Kala Jadu In Karachi Amil baba In Karachi Add...
NO1 Famous Amil Baba In Karachi Kala Jadu In Karachi Amil baba In Karachi Add...NO1 Famous Amil Baba In Karachi Kala Jadu In Karachi Amil baba In Karachi Add...
NO1 Famous Amil Baba In Karachi Kala Jadu In Karachi Amil baba In Karachi Add...
 
DragonBall PowerPoint Template for demo.pptx
DragonBall PowerPoint Template for demo.pptxDragonBall PowerPoint Template for demo.pptx
DragonBall PowerPoint Template for demo.pptx
 
Captivating Charm: Exploring Marseille's Hillside Villas with Our 3D Architec...
Captivating Charm: Exploring Marseille's Hillside Villas with Our 3D Architec...Captivating Charm: Exploring Marseille's Hillside Villas with Our 3D Architec...
Captivating Charm: Exploring Marseille's Hillside Villas with Our 3D Architec...
 
CALL ON ➥8923113531 🔝Call Girls Aminabad Lucknow best Night Fun service
CALL ON ➥8923113531 🔝Call Girls Aminabad Lucknow best Night Fun serviceCALL ON ➥8923113531 🔝Call Girls Aminabad Lucknow best Night Fun service
CALL ON ➥8923113531 🔝Call Girls Aminabad Lucknow best Night Fun service
 
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