Workshop @ Make: Tokyo Meeting 02

51
はじめての Arduino ワークショップ 小林茂(mayfair [at] iamas.ac.jp2008 11 8 日・多摩美術大学情報デザイン学科

Transcript of Workshop @ Make: Tokyo Meeting 02

Page 1: Workshop @ Make: Tokyo Meeting 02

はじめてのArduinoワークショップ

小林茂(mayfair [at] iamas.ac.jp)2008年 11月 8日・多摩美術大学情報デザイン学科

Page 2: Workshop @ Make: Tokyo Meeting 02

自己紹介

• 1970年愛知県名古屋市生まれ• 電子楽器メーカー(1993~2004)

– サウンドデザイナー– 技術研究所– ソフトウェアエンジニア

• IAMAS(2004~)– フィジカルコンピューティング– インタラクションデザイン

Page 3: Workshop @ Make: Tokyo Meeting 02

このセッションの内容

• フィジカルコンピューティングとは?• Arduinoをスタンドアロンで使ってみる• ArduinoをPCとつないで使ってみる

Page 4: Workshop @ Make: Tokyo Meeting 02

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

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

• インタラクションデザインを教えるための方法の1つ

• コンピュータが理解したり反応できる人間のフィジカルな表現の幅をいかに増やすか

• デザインやアート教育の1つの分野として定着

*1 Interactive Telecommunications Program

Page 5: Workshop @ Make: Tokyo Meeting 02

フィジカルコンピューティング関連書籍

Physical ComputingSensing and Controlling the Physical World with Computers

Dan O’Sullivan and Tom Igoe(Course Technology Ptr・2004年)

Page 6: Workshop @ Make: Tokyo Meeting 02

フィジカルコンピューティング関連書籍

Making Things TalkArduinoで作る「会話」するモノたち

Tom Igoe 著・小林 茂監訳・水原文翻訳(オライリー・2008年)

Page 7: Workshop @ Make: Tokyo Meeting 02

フィジカルコンピューティング関連書籍

Getting Started with ArduinoThe open source electronics prototyping platform

Massimo Banzi(O’Reilly Media・2008年)

Page 8: Workshop @ Make: Tokyo Meeting 02

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

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

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

Page 9: Workshop @ Make: Tokyo Meeting 02

Alto (1973)

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

Page 10: Workshop @ Make: Tokyo Meeting 02

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

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

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

Page 11: Workshop @ Make: Tokyo Meeting 02

フィジカルな世界とつなぐ方法

マイコンのみa

b

c

d

A

B

C

D

マイコンmicrocontroller

program

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

Page 12: Workshop @ Make: Tokyo Meeting 02

フィジカルな世界とつなぐ方法

マイコン+PC

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 13: Workshop @ Make: Tokyo Meeting 02

フィジカルな世界とつなぐ方法

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 14: Workshop @ Make: Tokyo Meeting 02

Arduinoとは?

• Hernando Barraganが IDII*2にいた時に開発を始めたWiringがベース

• 電子回路をプロトタイピングするためのオープンソースのプラットフォーム

• IDEとArduino I/Oボードから構成される

*2 Interaction Design Institute Ivrea

Page 15: Workshop @ Make: Tokyo Meeting 02

Wiring

写真:SparkFun Electronics

Page 16: Workshop @ Make: Tokyo Meeting 02

Arduino Duemilanove

写真:SparkFun Electronics

Page 17: Workshop @ Make: Tokyo Meeting 02

Arduino IDE

Page 18: Workshop @ Make: Tokyo Meeting 02

オープンソース・ハードウェアとは?

• ハードウェアのデザインデータがオープン– 回路図– 基板レイアウト

• ライセンスに基づいて自由に改変できる

Page 19: Workshop @ Make: Tokyo Meeting 02

LilyPad Arduino

写真:SparkFun Electronics

Page 20: Workshop @ Make: Tokyo Meeting 02

Arduino Pro Mini

写真:SparkFun Electronics

Page 21: Workshop @ Make: Tokyo Meeting 02

Arduino ProtoShield

写真:SparkFun Electronics

Page 22: Workshop @ Make: Tokyo Meeting 02

Arduino XBee Shield

写真:SparkFun Electronics

Page 23: Workshop @ Make: Tokyo Meeting 02

FIO: Funnel I/O Module v1.0

Page 24: Workshop @ Make: Tokyo Meeting 02

電圧~電流~抵抗

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

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

Page 25: Workshop @ Make: Tokyo Meeting 02

電圧のイメージ図

低高

Page 26: Workshop @ Make: Tokyo Meeting 02

電圧~電流~抵抗

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

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

Page 27: Workshop @ Make: Tokyo Meeting 02

電流のイメージ図

少多

Page 28: Workshop @ Make: Tokyo Meeting 02

電圧~電流~抵抗

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

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

Page 29: Workshop @ Make: Tokyo Meeting 02

抵抗のイメージ図

低 高

Page 30: Workshop @ Make: Tokyo Meeting 02

電圧~電流~抵抗

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

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

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

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

Page 31: Workshop @ Make: Tokyo Meeting 02

回路図ってなに?

Page 32: Workshop @ Make: Tokyo Meeting 02

回路図ってなに?

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

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

Page 33: Workshop @ Make: Tokyo Meeting 02

電源の回路図シンボル

+5V GND

Page 34: Workshop @ Make: Tokyo Meeting 02

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

Page 35: Workshop @ Make: Tokyo Meeting 02

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

Page 36: Workshop @ Make: Tokyo Meeting 02

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

Page 37: Workshop @ Make: Tokyo Meeting 02

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

Page 38: Workshop @ Make: Tokyo Meeting 02

Arduino入門

Make日本語版Volume 04特集「Sketchーハードウェアでスケッチする」

オライリー・ジャパン編(オライリー・ジャパン・2008年)

Page 39: Workshop @ Make: Tokyo Meeting 02

Arduinoの各部紹介

デジタル入出力 x14

アナログ入力 x6GND +5V

GND

Page 40: Workshop @ Make: Tokyo Meeting 02

ハードウェアにおける「Hello World!」

• LEDを一定の間隔で点滅させるExamples/Digital/Blink

• delay()の値を変更して間隔を変えてみる

Page 41: Workshop @ Make: Tokyo Meeting 02

スケッチをアップロードする

Page 42: Workshop @ Make: Tokyo Meeting 02

スイッチでLEDをコントロールする

+ - + -

Page 43: Workshop @ Make: Tokyo Meeting 02

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

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

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

Page 44: Workshop @ Make: Tokyo Meeting 02

ブレッドボードの構造

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

Page 45: Workshop @ Make: Tokyo Meeting 02

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

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

Page 46: Workshop @ Make: Tokyo Meeting 02

もう少しいろいろ試してみよう

• ボリュームの値でLEDの点滅速度を変えるExamples/Analog/AnalogInput

• 光センサの値でLEDを点灯/消灯する

Page 47: Workshop @ Make: Tokyo Meeting 02

ArduinoとPCをつなぐ方法

• 有線– シリアル– USB– Ethernet

• 無線– Bluetooth– IEEE 802.15.4 / ZigBee

どのようにデータをやり取りするかについて取り決め(=プロトコル)が必要

Page 48: Workshop @ Make: Tokyo Meeting 02

プロトコル:Firmata

http://www.arduino.cc/playground/Interfacing/Firmata

• Hans-Christoph Steinerが提案• MIDIを参考にしたプロトコル• Arduino 0012から標準に

Page 49: Workshop @ Make: Tokyo Meeting 02

Firmataに対応したPC側のライブラリ

• Pd (aka Pure Data)• Processing• Funnel• Linux C++• C++/openFrameworks

Page 50: Workshop @ Make: Tokyo Meeting 02

質疑応答など

• Arduinoについて• フィジカルコンピューティングについて• Making Things Talkについて• その他

Page 51: Workshop @ Make: Tokyo Meeting 02

はじめてのArduinoワークショップ

小林茂(mayfair [at] iamas.ac.jp)2008年 11月 8日・多摩美術大学情報デザイン学科