Workshop at IAMAS 2008-05-24

2,524 views

Published on

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,524
On SlideShare
0
From Embeds
0
Number of Embeds
13
Actions
Shares
0
Downloads
17
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Workshop at IAMAS 2008-05-24

  1. 1. 2008.05.24
  2. 2. • 1 10:00-11:15 • 2 11:30-13:30 13:30-14:30 • 2 14:30-16:15 • 3 16:30-17:45 • 4 17:45-18:30
  3. 3. Gainer I/O 1 SAD-01 1 SPP-100 5 SKS-140 USB 1 330Ω 2 10kΩ 1 10kΩ B 1 CdS 5mm 1 LED 2 KMX52-1050 1
  4. 4. • 1970 • 1993 4 2004 6 – – • IAMAS 2004 7 – –
  5. 5. 1 10:00-11:15 • • Gainer • Funnel
  6. 6. • ITP*1 Tom Igoe • PC • • *1 Interactive Telecommunications Program
  7. 7. ITP Spring Show 2008 • ITP 2 • 5 12 13 • http://itp.nyu.edu/shows/spring2008/
  8. 8. PC • ASCII • 1
  9. 9. Alto (1973) http://toastytech.com/guis/
  10. 10. • PC – – PC • Flash
  11. 11. • Nintendo Wii • • Apple – iPod – iPhone – MacBook Air PC
  12. 12. • • LED • I/O PC
  13. 13. • ActionScript C C++ Java • •
  14. 14. • •
  15. 15. • – Processing – Flash • – Gainer – Arduino – Phidgets
  16. 16. • • – – – – • • UNDO
  17. 17. 1 • • 1 • NTT InterCommunication Center [ICC] 2007.4.19-2008.3.9
  18. 18. 1
  19. 19. 1
  20. 20. 1
  21. 21. 1
  22. 22. 1
  23. 23. 1 ICC
  24. 24. 1 ICC
  25. 25. 1 ICC
  26. 26. 2 Mountain Guitar • 6 • – – • I/O PC • IAMAS • CG
  27. 27. 2 Mountain Guitar
  28. 28. 2 Mountain Guitar 1
  29. 29. 2 Mountain Guitar 2
  30. 30. 2 Mountain Guitar 2
  31. 31. 2 Mountain Guitar 3
  32. 32. 2 Mountain Guitar 4
  33. 33. 2 Mountain Guitar 4
  34. 34. 2 Mountain Guitar 4
  35. 35. 2 Mountain Guitar 5
  36. 36. 2 Mountain Guitar 5
  37. 37. 2 Mountain Guitar • • IAMAS
  38. 38. 2 Mountain Guitar
  39. 39. 2 Mountain Guitar
  40. 40. 3 3 • 11 • • • • IAMAS 2007.8.24-26
  41. 41. PIC AVR program A a0]=ain.o; aout.1 = 255; B C D
  42. 42. PC Arduino program A a0]=ain.o; aout.1 = 255; B C D PC program a0]=ain.o; aout.1 = 255;
  43. 43. Arduino
  44. 44. I/O PC Gainer Phidgets A B C D PC program a0]=ain.o; aout.1 = 255;
  45. 45. Gainer • I/O • – ActionScript 2/3 – Processing – Max/MSP
  46. 46. Gainer I/O
  47. 47. I/O
  48. 48. I/O
  49. 49. LED
  50. 50. Gainer • • • – LED
  51. 51. Funnel • Gainer • •
  52. 52. Funnel • •
  53. 53. Funnel Sketching User Experiences Getting the Design Right and the Right Design Bill Buxton Morgan Kaufmann Pub 2007
  54. 54. Funnel • • – – – – • I/O
  55. 55. Funnel
  56. 56. Funnel • I/O – Gainer – Arduino – XBee – Funnel I/O • – Processing – ActionScript 3 Flash Flex – Ruby
  57. 57. Action-Coding×Funnel×Gainer I/O Action-Coding • • JRuby Processing API •
  58. 58. Action-Coding×Funnel×Gainer I/O •
  59. 59. Action-Coding×Funnel×Gainer I/O • LED • LED •
  60. 60. Action-Coding×Funnel×Gainer I/O • • 3D
  61. 61. • Make http://jp.makezine.com/ • Instructables http://www.instructables.com/
  62. 62. • v1.0 SparkFun • Creative Commons Attribution-Share Alike
  63. 63. 2006
  64. 64. • – – 3D – – • •
  65. 65. Sketching in Hardware 2 • • 2007.6.23 24 • 30 • • • Sketching in Hardware
  66. 66. Sketching in Hardware 2
  67. 67. Sketching in Hardware 2
  68. 68. Sketching in Hardware 2
  69. 69. Sketching in Hardware 2
  70. 70. Sketching in Hardware 2
  71. 71. Sketching in Hardware 2
  72. 72. Sketching in Hardware 2
  73. 73. 2 1 11:30 12:15 • • • LED • LED
  74. 74. • – 2 – GND – V
  75. 75. • – – A
  76. 76. • – – Ω
  77. 77. • 1,000 1kΩ • 1,000,000 1MΩ • 1,000 1 1mA • 1,000,000 1 50µA
  78. 78. • •
  79. 79. +5V GND
  80. 80. LED
  81. 81. • • – – –
  82. 82. • • •
  83. 83. LED
  84. 84. LED • LED 20mA • • •
  85. 85. V =I ×R • V V • I A • R Ω
  86. 86. − LED = LED ×R R − LED R= LED 5.0V LED 1.8V 10mA 5 − 1.8 3.2 R= = = 0.01 0.01
  87. 87. LED
  88. 88. • +5V • GND •
  89. 89. LED NG
  90. 90. LED
  91. 91. LED 7
  92. 92. 2 2 12:15 13:30 Funnel • – I/O LED – I/O LED • – – CdS
  93. 93. Funnel Gainer I/O 2 • dout 0 1 2 – LED – • aout 0 1 256 *2 – LED – *2 PWM
  94. 94. Funnel 1 I/O LED 01 ControlLEDByMouse import processing.funnel.*; Gainer gainer; void setup() { size(200, 200); frameRate(30); gainer = new Gainer(this, Gainer.MODE1); gainer.autoUpdate = true; } void draw() { background(100); }
  95. 95. Funnel 2 I/O LED 01 ControlLEDByMouse void mousePressed() { gainer.led().value = 1.0; } void mouseReleased() { gainer.led().value = 0.0; }
  96. 96. Funnel 3 I/O LED 02 ControlLEDByButton import processing.funnel.*; Gainer gainer; void setup() { size(200, 200); frameRate(30); gainer = new Gainer(this, Gainer.MODE1); gainer.autoUpdate = true; } void draw() { background(100); }
  97. 97. Funnel 4 I/O LED 02 ControlLEDByButton void gainerButtonEvent(boolean pressed) { if (pressed) { gainer.led().value = 1.0; } else { gainer.led().value = 0.0; } }
  98. 98. Funnel aout 0 LED
  99. 99. Funnel aout 0 LED
  100. 100. Funnel 5 aout 0 LED // _02_ControlLEDByButton void gainerButtonEvent(boolean pressed) { if (pressed) { gainer.analogOutput(0).value = 1.0; } else { gainer.analogOutput(0).value = 0.0; } }
  101. 101. Funnel LFO 6 aout 0 LED 03 ControlLEDWithLFOByButton Gainer gainer; Osc osc; void setup() { size(200, 200); frameRate(30); gainer = new Gainer(this, Gainer.MODE1); gainer.autoUpdate = true; // osc = new Osc(this, Osc.SQUARE, 1.0, 0); osc.serviceInterval = 30; osc.addEventListener(Osc.UPDATE, quot;oscUpdatedquot;); }
  102. 102. Funnel LFO 7 aout 0 LED 03 ControlLEDWithLFOByButton // void oscUpdated(Osc osc) { gainer.led().value = osc.value; } // void gainerButtonEvent(boolean pressed) { if (pressed) { osc.reset(); osc.start(); } else { osc.stop(); } }
  103. 103. Funnel
  104. 104. Funnel
  105. 105. Funnel AC dout 0 aout 0
  106. 106. Funnel AC • SSR AC100V LED • AC
  107. 107. Funnel Gainer I/O 2 • din 0 1 2 – – • ain 0 1 256 – –
  108. 108. Funnel din 0
  109. 109. Funnel din 0
  110. 110. Funnel ain 0
  111. 111. Funnel ain 0
  112. 112. Funnel ain 0 • 04 SimpleScope • • ain 1 •
  113. 113. Funnel
  114. 114. Funnel
  115. 115. Funnel • 05 Tree *3 • • Funnel • mouseX ain 0 *3 Topics/Fractals and L-Systems/Tree
  116. 116. Funnel ain 0
  117. 117. Funnel ain 0
  118. 118. Funnel ain 0 • 05 Tree • 04 SimpleScope • Scaler •
  119. 119. Funnel Scaler 8 Scaler 05 Tree import processing.funnel.*; Gainer gainer; void setup() { size(400, 400, P3D); ... gainer = new Gainer(this, Gainer.MODE1); Filter f[] = { new Scaler(0.3, 0.9, 0, 1, Scaler.LINEAR, true) }; gainer.analogInput(0).filters = f; }
  120. 120. Funnel ain 0
  121. 121. Funnel ain 0
  122. 122. Funnel ain 0
  123. 123. Funnel ain 0
  124. 124. Funnel ain 0
  125. 125. Funnel ain 0
  126. 126. 2 3 14:30 16:15 Funnel • – • – –
  127. 127. Funnel ain
  128. 128. Funnel ain
  129. 129. Funnel ain • 04 SimpleScope • 3 • x, y, z – –
  130. 130. Funnel • •
  131. 131. Funnel
  132. 132. Funnel • • 04 SimpleScope • -1 +1 • sin
  133. 133. Funnel • 06 RGBCube Mouse *4 • • *4 3D and OpenGL/Form/RGBCube
  134. 134. Funnel Processing • Libraries Processing 1.0 (BETA) http://processing.org/reference/libraries • Minim http://code.compartmental.net/tools/minim
  135. 135. Funnel Processing 9 import ddf.minim.*; AudioPlayer player; void setup() { size(200, 200); // Minim Minim.start(this); // AudioPlayer 512 player = Minim.loadFile(quot;groove.mp3quot;, 512); }
  136. 136. Funnel Processing 10 // void keyPressed() { // ’p’ if ( key == ’p’ ) player.play(); }
  137. 137. 3 16:30 17:45 • 2 • • OK
  138. 138. Bill Buxton 2006 What Sketches (and Prototypes) Are and Are Not. • Quick • Timely • Inexpensive • Disposable • Constrained Resolution • Suggest & explore rather than confirm
  139. 139. 4 17:45 18:30 • 3 • •
  140. 140. Making Things Talk Practical Methods for Connecting Physical Objects Tom Igoe O’Reilly Media 2007
  141. 141. Built with Processing [ ] / 2008
  142. 142. Processing A Programming Handbook for Visual Designers and Artists Casey Reas + Ben Fry MIT Press 2007
  143. 143. 2007
  144. 144. Gainer 2008
  145. 145. GAINER Physical Computing with Gainer GainerBook Labo 2007
  146. 146. 2008.05.24

×