114
WCAN mini ActionScript Vol.5 GAINER WORKSHOP in 大須 講師:小林茂+アシスタント:柏木恵美子 2008.03.15

WCAN mini ActionScript Vol.5

Embed Size (px)

Citation preview

Page 1: WCAN mini ActionScript Vol.5

WCAN mini ActionScript Vol.5GAINER WORKSHOP in 大須

講師:小林茂+アシスタント:柏木恵美子

2008.03.15

Page 2: WCAN mini ActionScript Vol.5

本日の予定

• 第1部(13:30-14:30):イントロダクション• 第2部(14:30-15:15):パーツの購入• 第3部(15:30-17:30):さまざまな入出力

Page 3: WCAN mini ActionScript Vol.5

第1部:イントロダクション

• フィジカル・コンピューティングとは?• Gainerとは?• Funnelとは?

Page 4: WCAN mini ActionScript Vol.5

フィジカル・コンピューティングとは?

• ニューヨーク大学の ITP*1でTom Igoeが中心となって教えているコースの名前

• PCをブラックボックスとして扱わない• 原理原則を教え「人間がいかにコンピュータとコミュニケーションし得るか?」を考え直す

• デザイナーやアーティストが主な対象

*1 Interactive Telecommunications Program

Page 5: WCAN mini ActionScript Vol.5

フィジカル・コンピューティングとは?

一般的なPCから見た人間は?

• キー情報(ASCIIキーボードから)• マウス情報(1つのマウスから)

Page 6: WCAN mini ActionScript Vol.5

Alto (1973)

出典:http://toastytech.com/guis/

Page 7: WCAN mini ActionScript Vol.5

フィジカル・コンピューティングとは?

• PC+標準入出力デバイスの世界で実現できるインタラクションには限界がある– 人間が直接触れて感じることができない– PCのパラダイムに縛られてしまう

• 統一されたプラットホームならではの良さも勿論ある(例:Flashなどによるウェブ上での表現)

Page 8: WCAN mini ActionScript Vol.5

フィジカル・コンピューティングとは?

• 物理的な入出力を活用することによって表現力は拡大する(例:Nintendo Wii)

• 電子楽器などではずいぶん昔からのテーマ

Page 9: WCAN mini ActionScript Vol.5

フィジカル・コンピューティングの構成要素

• センサー(例:光、圧力、音、温度、加速度など)• アクチュエータ(例:LED、モータ、ソレノイドなど)• プロセッサ(例:マイコン、I/Oモジュール+PCなど)

ものすごく簡単にまとめるとプログラミング+電子工作

Page 10: WCAN mini ActionScript Vol.5

作品紹介1:ゲイナーカイダン

概要

• メディアインスタレーション• 製作期間は約1ヵ月• NTT InterCommunication Center [ICC]で展示中(2008年3月まで)

Page 11: WCAN mini ActionScript Vol.5

作品紹介1:ゲイナーカイダン

CdSセル

レーザーモジュールI/Oモジュール

アクチュエータユニット

ACソレノイド

SSR

AC電源へ

Page 12: WCAN mini ActionScript Vol.5

作品紹介1:ゲイナーカイダン

Page 13: WCAN mini ActionScript Vol.5

作品紹介1:ゲイナーカイダン(拡張版)

写真提供:ICC

Page 14: WCAN mini ActionScript Vol.5

作品紹介1:ゲイナーカイダン(拡張版)

写真提供:ICC

Page 15: WCAN mini ActionScript Vol.5

作品紹介1:ゲイナーカイダン(拡張版)

写真提供:ICC

Page 16: WCAN mini ActionScript Vol.5

作品紹介2:Mountain Guitar

• Ganguプロジェクト:金箱淳一(大学院2年)• 音楽表現のためのギター型インタフェース

– 親しみやすさ– 演奏の奥深さ

• 各種センサ+ I/Oモジュール+PC• IAMAS東京展「いまからだ」などで展示

Page 17: WCAN mini ActionScript Vol.5

作品紹介3:みくまりねその3

• メディアインスタレーション• 水に関するオノマトペが題材• 水道の蛇口がインタフェース• IAMAS東京展「いまからだ」で展示(2007.8.24-26)

Page 18: WCAN mini ActionScript Vol.5

関連:Sketching in Hardware 2

概要:

• プロトタイピングにフォーカスした会議• 2007.6.23~24の二日間開催• 参加者は約30名• 全員が発表• 濃密な情報交換とコミュニティ作り• 最後に「Sketching in Hardware」を実践

Page 19: WCAN mini ActionScript Vol.5

関連:Sketching in Hardware 2

Page 20: WCAN mini ActionScript Vol.5

関連:Sketching in Hardware 2

Page 21: WCAN mini ActionScript Vol.5

関連:Sketching in Hardware 2

Page 22: WCAN mini ActionScript Vol.5

関連:Sketching in Hardware 2

Page 23: WCAN mini ActionScript Vol.5

関連:Sketching in Hardware 2

Page 24: WCAN mini ActionScript Vol.5

関連:Sketching in Hardware 2

Page 25: WCAN mini ActionScript Vol.5

関連:Sketching in Hardware 2

Page 26: WCAN mini ActionScript Vol.5

プログラミング+電子工作?

フィジカル・コンピューティングは難しい?

• プログラミングはそれなりのスキルが必要(例:ActionScript、C、C++、Javaなど)• 電子工作にもそれなりのスキルが必要(例:回路設計、実装、検証)• 両方のスキルが必要ということは…

Page 27: WCAN mini ActionScript Vol.5

プログラミング+電子工作?

フィジカル・コンピューティングは難しい?

• 確かに習得するまでにはそれなりの努力が必要• できあがった結果は直接的に人間の感覚に訴えるものになる(はず)

Page 28: WCAN mini ActionScript Vol.5

プログラミング+電子工作?

最近では扱いやすいプラットホームが登場

• プログラミング– Processing– Flash

• 電子回路のプロトタイピング– Gainer– Arduino– Phidgets

Page 29: WCAN mini ActionScript Vol.5

電子工作は大変?

• 誰でもはんだ付けくらいはやったことがある• まずは必要最小限のこと(だけ)を覚えればスタートできる– 電圧~電流~抵抗– 回路図の読み方– オームの法則など– よく使う部品のシンボルと特徴

• 失敗しながら覚えていけばいい• でもUNDOはきかない(=人生と一緒)

Page 30: WCAN mini ActionScript Vol.5

フィジカル・コンピューティングの実現方法

マイコンのみ(例:PIC、AVR)a

b

c

d

A

B

C

D

マイコンmicrocontroller

program

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

Page 31: WCAN mini ActionScript Vol.5

フィジカル・コンピューティングの実現方法

マイコン+PC(例:Arduino)a

b

c

d

A

B

C

D

マイコンmicrocontroller

PC

USB

program

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

program

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

Page 32: WCAN mini ActionScript Vol.5

Arduino

Page 33: WCAN mini ActionScript Vol.5

フィジカル・コンピューティングの実現方法

I/Oモジュール+PC(例:Gainer、Phidgets)a

b

c

d

A

B

C

D

I/OモジュールI/O module

PC

USB

program

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

Page 34: WCAN mini ActionScript Vol.5

Gainerとは?

オープンソース・ハード&ソフトのツールキット

• I/Oモジュール• ソフトウェア・ライブラリ

– ActionScript 2/3– Processing– Max/MSP

Page 35: WCAN mini ActionScript Vol.5

Gainer I/Oモジュール

Page 36: WCAN mini ActionScript Vol.5

I/Oモジュール+ブレッドボード

Page 37: WCAN mini ActionScript Vol.5

さまざまな電子部品

Page 38: WCAN mini ActionScript Vol.5

I/Oモジュール+ブレッドボード+部品

Page 39: WCAN mini ActionScript Vol.5

入力:曲げ

Page 40: WCAN mini ActionScript Vol.5

出力:LEDアレイ

Page 41: WCAN mini ActionScript Vol.5

出力:振動モータ

Page 42: WCAN mini ActionScript Vol.5

Gainerの特徴

• ブレッドボードとの組み合わによりさまざまな構成を自由に試行錯誤できる

• 入出力の設定をある程度自由に選択できる• 特定の目的のための構成も用意されている

– マトリクスLEDの制御

Page 43: WCAN mini ActionScript Vol.5

Gainerの現状

• v1.1.0 RC3をリリース• 書籍「+GAINER」が発売

Page 44: WCAN mini ActionScript Vol.5

Funnelとは?

• Gainerはいわばシンプルなドライバ• 複雑な現実世界を扱うには…→もう少し高次のレベルが必要なのでは?

Page 45: WCAN mini ActionScript Vol.5

Funnelの特徴

• 疑似コード風のコーディング• 入出力をより簡単に扱うためのフィルタ

– ローパス、ハイパス– アナログ入力を設定した閾値で分割– スケーリング– オシレータ

Page 46: WCAN mini ActionScript Vol.5

Funnelの構成

USB XBeeDongle

GainerI/O Module

Arduino(with Firmata)

USB XBeeDongle

Funnel Server

ActionScript 3 Processing Max/MSPetc.Ruby

AS3 Library Processing Library OSC LibrariesRuby Library

Funnel I/OMaxStreamXBee

Funnel I/OMaxStreamXBee

Page 47: WCAN mini ActionScript Vol.5

デモ:AS3×Funnel×Gainer I/O

ポートイベントの検出

• ボタンが押されたらメッセージを表示• ボタンが押されたら画面描画を変更

Page 48: WCAN mini ActionScript Vol.5

デモ:AS3×Funnel×Gainer I/O

オシレータ

• LEDをチカチカ点滅• LEDをふわふわ点滅• 点滅の周期を変える

Page 49: WCAN mini ActionScript Vol.5

Funnelの特徴

• 複数の I/Oモジュールに対応– Gainer– Arduino– XBee– Funnel I/O(開発中)

• ソフトウェア・ライブラリ– ActionScript 3(FlashまたはFlex)– Processing– Ruby

Page 50: WCAN mini ActionScript Vol.5

Funnel I/O

FTDIFT232RL

MaxStreamXBee

UART

USB XBee Dongle

Funnel I/O Module

MaxStreamXBee

PSoCCY8C27143

IEEE 802.15.4

UART

PC

USB

Funnel I/O Module

MaxStreamXBee

PSoCCY8C27143

IEEE 802.15.4

UART

Page 51: WCAN mini ActionScript Vol.5

Funnel I/O

Page 52: WCAN mini ActionScript Vol.5

Funnel I/O

C1

Page 53: WCAN mini ActionScript Vol.5

IEEE 802.15.4

Point to Point

Point to Multi

Star

802.15.4 Coordinator802.15.4 End Device

Page 54: WCAN mini ActionScript Vol.5

Funnelの現状と今後

• 未踏ソフトウェア創造事業の支援を受けて開発• ビルド004を12/10にリリース• ビルド005を12/17にリリース• ビルド006を12/21にリリース

Page 55: WCAN mini ActionScript Vol.5

関連:ものづくりの新しい流れ

• Makehttp://makezine.com/jp/

• Instructableshttp://www.instructables.com/

Page 56: WCAN mini ActionScript Vol.5

関連:オープンソースハードウェア

• v1.0をベースにSparkFunがリ・デザイン• Creative Commons Attribution-Share Alike

Page 57: WCAN mini ActionScript Vol.5

関連:パーソナルファブリケーション

大量生産→個人が欲しいものを自分で作る時代へ

• 加工機械の低価格化– 切削加工機– 3Dプリンタ– レーザーカッタ– いずれは基板プリンタも…

• マイコンの高性能化&モジュール化• さまざまなツールキットの充実

Page 58: WCAN mini ActionScript Vol.5

第2部:パーツの購入

• 制限時間は45分間• 2つのチームに分かれて行動• 第1アメ横または第2アメ横で購入• 15:30に第3部を開始

Page 59: WCAN mini ActionScript Vol.5

第3部:実習1(15:30~16:00)

• 電子回路の基礎知識• ブレッドボードの使い方• LEDを点灯させてみる

Page 60: WCAN mini ActionScript Vol.5

電圧~電流~抵抗

電気の流れは水の流れのようなもの

• 電圧– 2点間の高度(電位)の違い– 基準点が必要(GND)– 単位はボルト(V)

Page 61: WCAN mini ActionScript Vol.5

電圧のイメージ図

低高

Page 62: WCAN mini ActionScript Vol.5

電圧~電流~抵抗

電気の流れは水の流れのようなもの

• 電流– 電圧の高いところから低いところに流れる– 単位はアンペア(A)

Page 63: WCAN mini ActionScript Vol.5

電流のイメージ図

少多

Page 64: WCAN mini ActionScript Vol.5

電圧~電流~抵抗

電気の流れは水の流れのようなもの

• 抵抗– 電流の流れにくさ– 単位はオーム(Ω)

Page 65: WCAN mini ActionScript Vol.5

抵抗のイメージ図

低 高

Page 66: WCAN mini ActionScript Vol.5

電圧~電流~抵抗

よく出てくる補助単位の例

• 1,000倍を表すキロ(例:1kΩ)• 1,000,000倍を表すメガ(例:1MΩ)• 1

1,000を表すミリ(例:1mA)• 1

1,000,000を表すマイクロ(例:50µA)

Page 67: WCAN mini ActionScript Vol.5

回路図ってなに?

Page 68: WCAN mini ActionScript Vol.5

回路図ってなに?

回路図は電子回路の設計図

• シンボルで表した電子部品の接続を示したもの• シンボルに若干のバリエーションはあるが、基本的には全世界共通

Page 69: WCAN mini ActionScript Vol.5

電源の回路図シンボル

+5V GND

Page 70: WCAN mini ActionScript Vol.5

スイッチの回路図シンボルと部品例

Page 71: WCAN mini ActionScript Vol.5

抵抗器の回路図シンボルと部品例

Page 72: WCAN mini ActionScript Vol.5

可変抵抗器の回路図シンボルと部品例

Page 73: WCAN mini ActionScript Vol.5

LEDの回路図シンボルと部品例

Page 74: WCAN mini ActionScript Vol.5

ブレッドボードってなに?

• 部品の足を穴にさすことで電子回路を形成• はんだ付け不要

– 部品を再利用できる– 回路を組み間違えてもやり直しできる– 耐久性にはやや注意が必要

Page 75: WCAN mini ActionScript Vol.5

ブレッドボードの構造

• 横方向のブロックは背面で接続• 縦方向のブロックは未接続• 電源用のエリアは専用に用意されている

Page 76: WCAN mini ActionScript Vol.5

ブレッドボードの構造(内部)

• ピンを穴に差し込むと接触して導通• 適切な太さのピンだけを利用する

Page 77: WCAN mini ActionScript Vol.5

実習:LEDを点灯させてみよう

Page 78: WCAN mini ActionScript Vol.5

LEDを点灯させてみよう

どうして抵抗器が必要なの?

• LEDには適切な電流の範囲がある(例:20mA)• その範囲を超えると簡単に焼き切れてしまう• 適切な値の抵抗器を用いて電流を制限する• 適切な抵抗値はどうやって求める?→オームの法則を用いて計算する

※抵抗器で電流を制限する方法が全てではありません

Page 79: WCAN mini ActionScript Vol.5

オームの法則

電圧~電流~抵抗の関係

V = I × R

• Vは電圧で単位はV(ボルト)• Iは電流で単位はA(アンペア)• Rは抵抗で単位はΩ(オーム)

Page 80: WCAN mini ActionScript Vol.5

オームの法則

電源電圧− LEDの電圧 = LEDに流したい電流× R

Rを求めるためにこの式を変形

R =電源電圧− LEDの電圧LEDに流したい電流

例:電源電圧が5.0V、LEDの電圧が1.8V、電流が10mA

R =5 − 1.8

0.01=

3.2

0.01= ?

※実際には計算結果に近い値の抵抗器を用いる

Page 81: WCAN mini ActionScript Vol.5

例:LEDを点灯させてみる

Page 82: WCAN mini ActionScript Vol.5

参考:ジャンプワイヤの色分け

• 赤:電源の+側(+5V)• 黒:電源のー側(GND)• 白・青・黄:センサとの接続など

Page 83: WCAN mini ActionScript Vol.5

例:LEDを点灯させてみる(NG)

の方向が違うワイヤをさす位置が違う

にささっていない

Page 84: WCAN mini ActionScript Vol.5

実習:LEDをスイッチでオン/オフさせてみる

Page 85: WCAN mini ActionScript Vol.5

実習:LEDをスイッチでオン/オフさせてみる

7

Page 86: WCAN mini ActionScript Vol.5

第3部:実習2(16:00~17:30)

Funnel入門

• Gainer I/Oを使う• マウス→ボタンによる制御• LEDの制御• さまざまなセンサ

Page 87: WCAN mini ActionScript Vol.5

Funnel入門:Gainer I/Oを使う

• Funnel Serverの起動• マウスで I/Oモジュール上のLEDを制御• I/Oモジュール上のボタンでLEDを制御

Page 88: WCAN mini ActionScript Vol.5

Funnel入門:Gainer I/Oの出力について

出力には2種類ある

• デジタル出力(dout:0か1の2段階)– LED、モータなど– 状態がシンプルで取扱が簡単

• アナログ出力(aout:0~255の256段階)– LED、モータなど– 連続変化を扱うことができる

Page 89: WCAN mini ActionScript Vol.5

Funnel入門:デジタル出力

Page 90: WCAN mini ActionScript Vol.5

Funnel入門:デジタル出力

Page 91: WCAN mini ActionScript Vol.5

Funnel入門:アナログ出力

Page 92: WCAN mini ActionScript Vol.5

Funnel入門:アナログ出力

Page 93: WCAN mini ActionScript Vol.5

Funnel入門:Gainer I/Oの入力について

入力には2種類ある

• デジタル入力(din:0か1の2段階)– スイッチなど– 状態がシンプルで取扱が簡単

• アナログ入力(ain:0~255の256段階)– 出力電圧が変化するセンサなど– 連続変化を扱うことができる

Page 94: WCAN mini ActionScript Vol.5

Funnel入門:din 0にスイッチを接続

Page 95: WCAN mini ActionScript Vol.5

Funnel入門:din 0にスイッチを接続

Page 96: WCAN mini ActionScript Vol.5

Funnel入門:ain 0にボリュームを接続

Page 97: WCAN mini ActionScript Vol.5

Funnel入門:ain 0にボリュームを接続

Page 98: WCAN mini ActionScript Vol.5

Funnel入門:ain 0にボリュームを接続

• SimpleScopeTestを開いて実行• ボリュームを回して変化を確認• ain 1が不安定なのはなぜ?• どうしてボリュームを回すと電圧が変わるの?

Page 99: WCAN mini ActionScript Vol.5

Funnel入門:抵抗分圧

Page 100: WCAN mini ActionScript Vol.5

Funnel入門:抵抗分圧

Page 101: WCAN mini ActionScript Vol.5

Funnel入門:ain 0に光センサを接続

Page 102: WCAN mini ActionScript Vol.5

Funnel入門:ain 0に光センサを接続

Page 103: WCAN mini ActionScript Vol.5

Funnel入門:ainに加速度センサを接続

Page 104: WCAN mini ActionScript Vol.5

Funnel入門:ainに加速度センサを接続

Page 105: WCAN mini ActionScript Vol.5

Funnel入門:ainに加速度センサを接続

• SimpleScopeTestを開く• 表示するチャンネル数を3に増やす• x, y, zそれぞれの軸の動きを確認

– 傾けてみる– 振ってみる

Page 106: WCAN mini ActionScript Vol.5

Funnel入門:加速度センサの用途

• 動きの検出• 傾きの検出→なぜ加速度センサで傾きが検出できるの?

Page 107: WCAN mini ActionScript Vol.5

Funnel入門:傾きを検出する原理

Page 108: WCAN mini ActionScript Vol.5

Funnel入門:センサの出力から角度を求める

• フィルタで細かい動きを取り除く• SimpleScopeTestで変化幅を確認する• -1から+1までにスケーリングする• 逆sin関数を用いて角度に変換する

Page 109: WCAN mini ActionScript Vol.5

参考書籍

Built with Processing [改訂版]前川峻志+田中孝太郎(2008年・BNN)

Page 110: WCAN mini ActionScript Vol.5

参考書籍

ProcessingA Programming Handbook for Visual Designers and Artists

Casey Reas + Ben Fry(2007年・MIT Press)

Page 111: WCAN mini ActionScript Vol.5

参考書籍

ものづくり革命パーソナル・ファブリケーションの夜明け

ニール・ガーシェンフェルド(2006年・ソフトバンククリエイティブ)

Page 112: WCAN mini ActionScript Vol.5

参考書籍

デザイン思考の道具箱イノベーションを生む会社のつくり方

奥出直人(2007・早川書房)

Page 113: WCAN mini ActionScript Vol.5

参考書籍

+GAINERPhysical Computing with Gainer

GainerBook Labo+くるくる研究室(2007年・九天社)

Page 114: WCAN mini ActionScript Vol.5

WCAN mini ActionScript Vol.5GAINER WORKSHOP in 大須

講師:小林茂+アシスタント:柏木恵美子

2008.03.15