Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Make: Tokyo Meeting 03

                   Jamming Gear



                     [IAMAS]      [IAMAS]
2009   5   23 24
Pepper                          1
                 EIC-801        1
         150mm                  3

                 33...
Make        Volume 04
   Sketch
                        2008
Make             Volume 05
Sketch / Prototype
                             2008
Make               Volume 06
Prototyping Lab:
                               2009
Make               Volume 07
Prototyping Lab:               Jamming Gear
                                       2009

• Ja...
Making Things Talk
Arduino
Tom Igoe             2008
GAINER
GainerBook Labo   2007   2008
•

•

•
•
•   1 Processing
•   2
•   3
•   4 Jamming Gear
•                          ITP*1    Tom Igoe

•
             1
•

•                               1


    *1   Interactive...
PC
•        ASCII
•         1
Alto (1973)




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

    –
    – PC
•

           Flash
•
           Nintendo Wii
•
• iPhone
•
•

•
    LED
•
          I/O   PC
•
    ActionScript C C++ Java
•

•
•
•
•
    – Flash
    – Processing
    – Max/MSP
•
    – Gainer
    – Arduino
    – Phidgets
•
•

    –
    –
    –
    –
•
•       UNDO
PIC AVR
  program
                  A
  a0]=ain.o;
  aout.1 = 255;


                  B



                  C



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


         ...
Arduino I/O




              SparkFun Electronics
I/O   PC        Gainer Phidgets
                                A



                                B



                ...
Phidgets
Gainer


• I/O
•
  – ActionScript 2/3
  – Processing
  – Max/MSP
Gainer I/O
I/O
I/O
LED
Gainer I/O    Arduino

               Gainer I/O   Arduino Duemilanove
               16           20
        A/D    8 8bi...
Gainer I/O

• SparkFun Electronics PSoC
  – Gainer PSoC Development Board
• Morecat Lab. AVR
  – Pepper
  – Ginger
  – Sug...
Gainer I/O   Pepper
               Gainer I/O     Pepper
               16             4
         A/D   8              3
 ...
HELLO!!
•     2007.12.22-23
•
•         19
•
•     Processing×Funnel×Gainer I/O
Jamming Gear
•       ×
•
    –
    –
•          ×FIO×Max/MSP×PC
• Make: Tokyo Meeting 01-02
  IAMAS Gangu Project
Jamming Gear   1
Jamming Gear   2
Jamming Gear   3
Jamming Gear   4
Jamming Gear   5
Jamming Gear   6
Jamming Gear   6
Funnel
•
•
•
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
•
•
    –                    Convolution
    –                          SetPoint
    –           Scaler
    –      ...
Funnel
Arduino Duemilanove




                SparkFun Electronics
LilyPad Arduino




                  SparkFun Electronics
Arduino Pro Mini




                   SparkFun Electronics
Arduino ProtoShield




                 SparkFun Electronics
Arduino XBee Shield




                SparkFun Electronics
FIO v1.3
XIO: XBee I/O Board v1.0
XIO: XBee I/O Board v1.0
Processing
•
•
•
Built with Processing [   ]
      /
                              2008
Processing
•
•
•
•
Processing
• Processing Development Environment
• Sketch
• Display Window
Processing                                  1

                           1 Hello World!

println(quot;Hello World!quot;);
Processing                         2

                               2

//       1
void setup() {
  // Display Window
  si...
Processing                    3

                          3

void setup() {
  size(200, 200);
}

void draw() {
  backgrou...
Processing                                                4

                               4

int brightness = 0; //

voi...
•
•
•
•
    – 2
    –     GND
    –     V
•
    –
    –   A
•
    –
    –   Ω
• 1,000        1kΩ
• 1,000,000          1MΩ
• 1,000
    1
              1mA
• 1,000,000
      1
                     50µA
•
•
+5V   GND
LED
•
•
    –
    –
    –
•
•
•
LED
LED


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

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

R

                   − LED
      R=
            LED

    5.0V LED        1.8V    10mA
...
LED
•
    –   LED
    –         LED
•
    –
Gainer I/O

            2
•                     dout 0   1     2
    – LED
    –
•                     aout 0 1     256   ...
aout 0   LED
aout 0   LED
1

                 5         LED                 01 ControlLEDByMouse

import processing.funnel.*;

Gainer gainer;

void ...
1

             6         LED              01 ControlLEDByMouse

void mousePressed() {
  gainer.analogOutput(0).value = 1....
2

                  7         LED                02 ControlLEDByMouseX

import processing.funnel.*;

Gainer gainer;

void...
Gainer I/O

        2
•           din 0   1      2
    –
    –
•           ain 0 1      256
    –
    –
ain 0
ain 0
ain 0
• 03 SimpleScope
•
•
• 04 Tree     *3

• Funnel                                    import
• mouseX ain 0




  *3   Topics/Fractals and L-Syste...
8 SetPoint             0   1          05 SetPoint

import processing.funnel.*;

Gainer gainer;
int brightness = 0;

void s...
9 SetPoint               0   1          05 SetPoint

//            0    0
void risingEdge(PinEvent event) {
  //
  if (eve...
Jamming Gear
•       LED        IC
• LED         IC

•
Voltage regulator
3                                2
    (15kΩ)
4




                         Amp

5                     ...
Jamming Gear
• 1
• 2
• 2
1   1
Jamming Gear

                  10 1                          06 RotaryEncoder1

import processing.funnel.*;

Gainer peppe...
1   2
1   2
Jamming Gear

                  11 2                          07 RotaryEncoder2

void setup() {
  ...
  pepper = new Gaine...
Jamming Gear

             12 2                                       08 RotaryEncoder3

// ain 0                         ...
•
    –
    –
    – USB
•                  Pepper

•           2000
•                  mtm03@funnel.cc
Make: Tokyo Meeting 03

                   Jamming Gear



                     [IAMAS]      [IAMAS]
2009   5   23 24
Make: Tokyo Meeting 03
Make: Tokyo Meeting 03
Make: Tokyo Meeting 03
Make: Tokyo Meeting 03
Make: Tokyo Meeting 03
Make: Tokyo Meeting 03
Make: Tokyo Meeting 03
Make: Tokyo Meeting 03
Make: Tokyo Meeting 03
Make: Tokyo Meeting 03
Make: Tokyo Meeting 03
Make: Tokyo Meeting 03
Make: Tokyo Meeting 03
Upcoming SlideShare
Loading in …5
×

Make: Tokyo Meeting 03

2,363 views

Published on

Slides for workshops at Make: Tokyo Meeting 03.

Published in: Design, Technology, Business
  • Be the first to comment

Make: Tokyo Meeting 03

  1. 1. Make: Tokyo Meeting 03 Jamming Gear [IAMAS] [IAMAS] 2009 5 23 24
  2. 2. Pepper 1 EIC-801 1 150mm 3 330Ω 2 10kΩ B 1 LED 1 GP1A53HRJ00F 2 1 20mm×20mm 8
  3. 3. Make Volume 04 Sketch 2008
  4. 4. Make Volume 05 Sketch / Prototype 2008
  5. 5. Make Volume 06 Prototyping Lab: 2009
  6. 6. Make Volume 07 Prototyping Lab: Jamming Gear 2009 • Jamming Gear • • Jamming Gear
  7. 7. Making Things Talk Arduino Tom Igoe 2008
  8. 8. GAINER GainerBook Labo 2007 2008
  9. 9. • • •
  10. 10. • • 1 Processing • 2 • 3 • 4 Jamming Gear
  11. 11. • ITP*1 Tom Igoe • 1 • • 1 *1 Interactive Telecommunications Program
  12. 12. PC • ASCII • 1
  13. 13. Alto (1973) http://toastytech.com/guis/
  14. 14. • PC – – PC • Flash
  15. 15. • Nintendo Wii • • iPhone •
  16. 16. • • LED • I/O PC
  17. 17. • ActionScript C C++ Java • •
  18. 18. • •
  19. 19. • – Flash – Processing – Max/MSP • – Gainer – Arduino – Phidgets
  20. 20. • • – – – – • • UNDO
  21. 21. PIC AVR program A a0]=ain.o; aout.1 = 255; B C D
  22. 22. PC Arduino Wiring program A a0]=ain.o; aout.1 = 255; B C D PC program a0]=ain.o; aout.1 = 255;
  23. 23. Arduino I/O SparkFun Electronics
  24. 24. I/O PC Gainer Phidgets A B C D PC program a0]=ain.o; aout.1 = 255;
  25. 25. Phidgets
  26. 26. Gainer • I/O • – ActionScript 2/3 – Processing – Max/MSP
  27. 27. Gainer I/O
  28. 28. I/O
  29. 29. I/O
  30. 30. LED
  31. 31. Gainer I/O Arduino Gainer I/O Arduino Duemilanove 16 20 A/D 8 8bit 6 10bit PWM 8 8bit 6 8bit 1 0 LED 1 1 D13 Yes Yes No Yes
  32. 32. Gainer I/O • SparkFun Electronics PSoC – Gainer PSoC Development Board • Morecat Lab. AVR – Pepper – Ginger – Sugar • RT PIC – Gainer mini
  33. 33. Gainer I/O Pepper Gainer I/O Pepper 16 4 A/D 8 3 PWM 8 2 1 0 LED 1 0 Yes Yes PSoC AVR USB FTDI FT232RL V-USB 28mm×75mm 11mm×31mm
  34. 34. HELLO!! • 2007.12.22-23 • • 19 • • Processing×Funnel×Gainer I/O
  35. 35. Jamming Gear • × • – – • ×FIO×Max/MSP×PC • Make: Tokyo Meeting 01-02 IAMAS Gangu Project
  36. 36. Jamming Gear 1
  37. 37. Jamming Gear 2
  38. 38. Jamming Gear 3
  39. 39. Jamming Gear 4
  40. 40. Jamming Gear 5
  41. 41. Jamming Gear 6
  42. 42. Jamming Gear 6
  43. 43. Funnel • • •
  44. 44. Funnel Gainer • Gainer – – Gainer I/O 1:1 – • Funnel – – Arduino XBee –
  45. 45. Funnel Sketching User Experiences Getting the Design Right and the Right Design Bill Buxton Morgan Kaufmann Pub 2007
  46. 46. Funnel Bill Buxton, Sketching User Experiences (2008)
  47. 47. Funnel • • – Convolution – SetPoint – Scaler – Osc • I/O
  48. 48. Funnel
  49. 49. Arduino Duemilanove SparkFun Electronics
  50. 50. LilyPad Arduino SparkFun Electronics
  51. 51. Arduino Pro Mini SparkFun Electronics
  52. 52. Arduino ProtoShield SparkFun Electronics
  53. 53. Arduino XBee Shield SparkFun Electronics
  54. 54. FIO v1.3
  55. 55. XIO: XBee I/O Board v1.0
  56. 56. XIO: XBee I/O Board v1.0
  57. 57. Processing • • •
  58. 58. Built with Processing [ ] / 2008
  59. 59. Processing • • • •
  60. 60. Processing • Processing Development Environment • Sketch • Display Window
  61. 61. Processing 1 1 Hello World! println(quot;Hello World!quot;);
  62. 62. Processing 2 2 // 1 void setup() { // Display Window size(200, 200); } // void draw() { // background(255, 255, 255); }
  63. 63. Processing 3 3 void setup() { size(200, 200); } void draw() { background(0); stroke(255); line(0, 0, 199, 199); }
  64. 64. Processing 4 4 int brightness = 0; // void setup() { ... void draw() { background(brightness); // brightness } void mousePressed() { brightness = 255; // 255 } void mouseReleased() { brightness = 0; // 0 }
  65. 65. • • •
  66. 66. • – 2 – GND – V
  67. 67. • – – A
  68. 68. • – – Ω
  69. 69. • 1,000 1kΩ • 1,000,000 1MΩ • 1,000 1 1mA • 1,000,000 1 50µA
  70. 70. • •
  71. 71. +5V GND
  72. 72. LED
  73. 73. • • – – –
  74. 74. • • •
  75. 75. LED
  76. 76. LED • LED 20mA • • •
  77. 77. V =I ×R • V V • I A • R Ω
  78. 78. − LED = LED ×R R − LED R= LED 5.0V LED 1.8V 10mA 5 − 1.8 3.2 R= = = 0.01 0.01
  79. 79. LED
  80. 80. • – LED – LED • –
  81. 81. Gainer I/O 2 • dout 0 1 2 – LED – • aout 0 1 256 *2 – LED – *2 PWM
  82. 82. aout 0 LED
  83. 83. aout 0 LED
  84. 84. 1 5 LED 01 ControlLEDByMouse import processing.funnel.*; Gainer gainer; void setup() { size(200, 200); gainer = new Gainer(this, Gainer.MODE1); } void draw() { background(100); }
  85. 85. 1 6 LED 01 ControlLEDByMouse void mousePressed() { gainer.analogOutput(0).value = 1.0; } void mouseReleased() { gainer.analogOutput(0).value = 0.0; }
  86. 86. 2 7 LED 02 ControlLEDByMouseX import processing.funnel.*; Gainer gainer; void setup() { size(200, 200); gainer = new Gainer(this, Gainer.MODE1); } void draw() { float val = (float)mouseX / (width - 1); background(255 * val); gainer.analogOutput(0).value = val; }
  87. 87. Gainer I/O 2 • din 0 1 2 – – • ain 0 1 256 – –
  88. 88. ain 0
  89. 89. ain 0
  90. 90. ain 0 • 03 SimpleScope • •
  91. 91. • 04 Tree *3 • Funnel import • mouseX ain 0 *3 Topics/Fractals and L-Systems/Tree
  92. 92. 8 SetPoint 0 1 05 SetPoint import processing.funnel.*; Gainer gainer; int brightness = 0; void setup() { size(200, 200); gainer = new Gainer(this, Gainer.MODE1); // 0 SetPoint gainer.analogInput(0).addFilter(new SetPoint(0.5, 0.1)); } void draw() { background(brightness); }
  93. 93. 9 SetPoint 0 1 05 SetPoint // 0 0 void risingEdge(PinEvent event) { // if (event.target.number == gainer.analogInput[0]) { // brightness = 255; } } // 0 0 void fallingEdge(PinEvent event) { // if (event.target.number == gainer.analogInput[0]) { // brightness = 0; } }
  94. 94. Jamming Gear
  95. 95. • LED IC • LED IC •
  96. 96. Voltage regulator 3 2 (15kΩ) 4 Amp 5 1 GP1A53HRJ00F
  97. 97. Jamming Gear • 1 • 2 • 2
  98. 98. 1 1
  99. 99. Jamming Gear 10 1 06 RotaryEncoder1 import processing.funnel.*; Gainer pepper; int count = 0; void setup() { ... pepper = new Gainer(this, Gainer.MODE1); pepper.analogInput(0).addFilter(new SetPoint(0.5, 0.1)); } void fallingEdge(PinEvent event) { if (event.target.number == pepper.analogInput[0]) { count++; } }
  100. 100. 1 2
  101. 101. 1 2
  102. 102. Jamming Gear 11 2 07 RotaryEncoder2 void setup() { ... pepper = new Gainer(this, Gainer.MODE1); pepper.analogInput(0).addFilter(new SetPoint(0.5, 0.1)); pepper.analogInput(1).addFilter(new SetPoint(0.5, 0.1)); } void fallingEdge(PinEvent event) { if (event.target.number == pepper.analogInput[0]) { if (pepper.analogInput(1).value == 1) { count--; } else { count++; } } }
  103. 103. Jamming Gear 12 2 08 RotaryEncoder3 // ain 0 ain 1 // void ridingEdge(PinEvent event) { if (event.target.number == pepper.analogInput[0]) { if (pepper.analogInput(1).value == 0) { count--; } else { count++; } } }
  104. 104. • – – – USB • Pepper • 2000 • mtm03@funnel.cc
  105. 105. Make: Tokyo Meeting 03 Jamming Gear [IAMAS] [IAMAS] 2009 5 23 24

×