狠狠撸
Submit Search
Make @ Osaka
?
1 like
?
850 views
Shigeru Kobayashi
Follow
1 of 82
Download now
Download to read offline
More Related Content
Make @ Osaka
1.
Make @ Osaka Making
Things Talk発売記念レクチャー はじめてのArduino 小林茂(kotobuki [at] yapan.org) 2008 年 11 月 22 日:共立電子産業株式会社?セミナールーム
2.
自己紹介 ? 1970年愛知県名古屋市生まれ ? 電子楽器メーカー(1993~2004) –
サウンドデザイナー – 技術研究所 – ソフトウェアエンジニア ? IAMAS(2004~) – フィジカルコンピューティング – インタラクションデザイン
3.
このセッションの内容 ? フィジカルコンピューティングとは? ? Arduinoをスタンドアロンで使ってみる ?
ArduinoをPCとつないで使ってみる ? ArduinoやGainerに関連した話題
4.
フィジカルコンピューティングとは? ? ニューヨーク大学のITP*1 でTom Igoeらが 中心となって教えているコースの名前 ?
インタラクションデザインを教えるための 方法の1つ ? コンピュータが理解したり反応できる人間の フィジカルな表現の幅をいかに増やすか ? デザインやアート教育の1つの分野として定着 *1 Interactive Telecommunications Program
5.
関連:ITP Spring Show
2008 概要: ? ITPで学ぶ学生の展覧会で毎年2回開催 ? 5月12日から13日まで開催 ? http://itp.nyu.edu/shows/spring2008/
6.
フィジカルコンピューティング関連書籍 Physical Computing Sensing and
Controlling the Physical World with Computers Dan O’Sullivan and Tom Igoe(Course Technology Ptr?2004年)
7.
フィジカルコンピューティング関連書籍 Making Things Talk Arduinoで作る「会話」するモノたち Tom
Igoe 著?小林 茂 監訳?水原 文 翻訳(オライリー?2008年)
8.
Making Things Talkの紹介 扱っているテクノロジー ?
Arduino ? Processing / PHP ? Ethernet ? Bluetooth ? IEEE 802.15.4 / ZigBee ? RFID ? 基本的なCV
9.
Making Things Talkの紹介 さまざまなプロジェクト ?
モンスキーポン ? ネットワークに接続された猫 ? ネットワーク大気清浄度計 ? 太陽電池のデータをワイヤレス中継 ? デジタルコンパスを使って進路を知る ? ウェブカムを用いた2次元バーコード認識 ? RFIDを使ったホームオートメーション
10.
フィジカルコンピューティング関連書籍 Getting Started with
Arduino The open source electronics prototyping platform Massimo Banzi(O’Reilly Media?2008年)
11.
フィジカルコンピューティングとは? 一般的なPCから見た人間は? ? キー情報(ASCIIキーボードから) ? マウス情報(1つのマウスから)
12.
Alto (1973) 出典:http://toastytech.com/guis/
13.
フィジカルコンピューティングの構成要素 ? センサ (例:光、圧力、音、温度、加速度など) ? アクチュエータ (例:LED、モータ、ソレノイドなど) ?
プロセッサ (例:マイコン、I/Oモジュール+PCなど) →ものすごく簡単にまとめると ?プログラミング+電子工作
14.
フィジカルな世界とつなぐ方法 マイコンのみ a b c d A B C D マイコン microcontroller program a0]=ain.o; aout.1 = 255;
15.
フィジカルな世界とつなぐ方法 マイコン+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;
16.
フィジカルな世界とつなぐ方法 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;
17.
Arduinoとは? ? Hernando Barrag?anがIDII*2 にいた時に 開発を始めたWiringがベース ?
電子回路をプロトタイピングするための オープンソースのプラットフォーム ? IDEとArduino I/Oボードから構成される *2 Interaction Design Institute Ivrea
18.
Wiring 写真:SparkFun Electronics
19.
Arduino Duemilanove 写真:SparkFun Electronics
20.
Arduino IDE
21.
オープンソース?ハードウェアとは? ? ハードウェアのデザインデータがオープン – 回路図 –
基板レイアウト ? ライセンスに基づいて自由に改変できる
22.
LilyPad Arduino 写真:SparkFun Electronics
23.
Arduino Pro Mini 写真:SparkFun
Electronics
24.
Arduino ProtoShield 写真:SparkFun Electronics
25.
Arduino XBee Shield 写真:SparkFun
Electronics
26.
FIO: Funnel I/O
Module v1.3
27.
FIO: Funnel I/O
Module v1.3
28.
関連:Sketching in Hardware
3 概要: ? フィジカルコンピューティングに関する会議 ? 2008.7.25~27の3日間開催 ? 参加者は約40名 ? 全員が発表 ? 濃密な情報交換とコミュニティ作り ? 最後に「Sketching in Hardware」を実践
29.
電圧~電流~抵抗 電気の流れは水の流れのようなもの ? 電圧 – 2点間の高度(電位)の違い –
基準点が必要(GND) – 単位はボルト(V)
30.
電圧のイメージ図 低高
31.
電圧~電流~抵抗 電気の流れは水の流れのようなもの ? 電流 – 電圧の高いところから低いところに流れる –
単位はアンペア(础)
32.
電流のイメージ図 少多
33.
電圧~電流~抵抗 電気の流れは水の流れのようなもの ? 抵抗 – 電流の流れにくさ –
単位はオーム(?)
34.
抵抗のイメージ図 低 高
35.
電圧~電流~抵抗 よく出てくる補助単位の例 ? 1,000倍を表すキロ(例:1k?) ? 1,000,000倍を表すメガ(例:1M?) ?
1 1,000 を表すミリ(例:1mA) ? 1 1,000,000 を表すマイクロ(例:50?A)
36.
回路図ってなに?
37.
回路図ってなに? 回路図は電子回路の設計図 ? シンボルで表した電子部品の接続を示したもの ? シンボルに若干のバリエーションはあるが、 基本的には全世界共通
38.
電源の回路図シンボル +5V GND
39.
スイッチの回路図シンボルと部品例
40.
抵抗器の回路図シンボルと部品例
41.
可変抵抗器の回路図シンボルと部品例
42.
尝贰顿の回路図シンボルと部品例
43.
Arduino入門 Make日本語版Volume 04 特集「Sketchーハードウェアでスケッチする」 オライリー?ジャパン編(オライリー?ジャパン?2008年)
44.
Arduinoの各部紹介 デジタル入出力 x14 アナログ入力 x6GND+5V GND
45.
比較: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 重点 シンプルさ 拡張性
46.
ハードウェアにおける「Hello World!」 ? LEDを一定の間隔で点滅させる Examples/Digital/Blink ?
诲别濒补测()の値を変更して间隔を変えてみる
47.
Arduinoを用いるメリットは? ? シンプルに記述できる ? 非プログラマでも取り組みやすい ?
多くの利用例が公開されている ? 登場する「おまじない」が少ない
48.
比較:ArduinoでのLED点滅 コード例 1 Arduino言語でのLED点滅 int
ledPin = 13; void setup() { pinMode(ledPin, OUTPUT); } void loop() { digitalWrite(ledPin, HIGH); delay(1000); digitalWrite(ledPin, LOW); delay(1000); }
49.
比較:通常のC言語でのLED点滅 コード例 2 通常の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; }
50.
比較:通常のC言語でのLED点滅 コード例 3 通常の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; }
51.
Arduinoを用いるデメリットは? ? C/C++ベースなのでサイズが大きくなりがち ? 実行速度の面で不利な場合もある ?
デバッガは利用できない
52.
スケッチをアップロードする
53.
スイッチでLEDをコントロールする + ? +
?
54.
ブレッドボードってなに? ? 部品の足を穴にさすことで電子回路を形成 ? はんだ付け不要 –
部品を再利用できる – 回路を組み間違えてもやり直しできる – 耐久性にはやや注意が必要
55.
ブレッドボードの構造 ? 横方向のブロックは背面で接続 ? 縦方向のブロックは未接続 ?
电源用のエリアは専用に用意されている
56.
参考:ジャンプワイヤの色分け ? 赤:電源の+側(+5V) ? 黒:電源のー側(GND) ?
白?青?黄:センサとの接続など
57.
もう少しいろいろ試してみよう ? ボリュームの値でLEDの点滅速度を変える Examples/Analog/AnalogInput ? 光センサの値でLEDを点灯/消灯する
58.
ArduinoとPCをつなぐ方法 ? 有線 – シリアル –
USB – Ethernet ? 無線 – Bluetooth – IEEE 802.15.4 / ZigBee どのようにデータをやり取りするかについて 取り決め(=プロトコル)が必要
59.
プロトコル:Firmata http://www.arduino.cc/playground/Interfacing/Firmata ? Hans-Christoph Steinerが提案 ?
MIDIを参考にしたプロトコル ? Arduino 0012から標準に
60.
Firmataに対応したPC側のライブラリ ? Pd (aka
Pure Data) ? Processing ? Funnel ? Linux C++ ? C++/openFrameworks
61.
Funnelとは?:背景 ? Gainerはいわばシンプルなドライバ →複雑な現実世界を扱うにはもう少し高次の ?レベルが必要なのでは? ? 全ての用途をカバーできるツールキットはない →ツールキットの使い分けは容易ではない ?
有線接続だと体験に制限がでてしまう →簡単に利用できる無線接続が必要
62.
Funnelとは?:コンセプト ? 単純で透明 ? スケッチ~プロトタイプまで使える ?
デザイナーとエンジニアの「共通言语」
63.
Funnelとは?:関連 Sketching User Experiences Getting
the Design Right and the Right Design Bill Buxton(Morgan Kaufmann Pub?2007年)
64.
Funnelとは?:関連 出典:Bill Buxton, Sketching
User Experiences (2008)
65.
Funnelの特徴 ? 入出力をより簡単に扱うためのフィルタ – ローパス、ハイパス –
アナログ入力を設定した閾値で分割 – スケーリング – オシレータ ? 複数のI/Oモジュールに対応
66.
Funnelの構成 USB XBee Dongle Gainer I/O Module Arduino (with
Firmata) USB XBee Dongle Funnel Server ActionScript 3 Processing Max/MSP etc. Ruby AS3 Library Processing Library OSC LibrariesRuby Library Funnel I/O Digi International XBee Funnel I/O Digi International XBee
67.
FIO: Funnel I/O
Module v1.3 ? LilyPad v1.6がベース ? 3.3V動作 ? Arduino互換機(動作速度は8MHz) ? XBee無線モデム(802.15.4またはZigBee) ? 充電器内蔵 ? シールドでさまざまな機能を拡張
68.
贵滨翱:使用例(スタンポロン)
69.
贵滨翱:使用例(スタンポロン)
70.
贵滨翱:使用例(スタンポロン)
71.
FIO:現状について ? FIO v1.0をベースに実際に使用して検証 ?
Nathan Seidle*3 と共同で改良 ? 12月上旬頃SparkFun Electronicsから発売 *3 SparkFun ElectronicsのCEO
72.
さまざまな無線通信の方式とその特徴 Wi-Fi Bluetooth 802.15.4
/ ZigBee IEEE規格 802.11b 802.15.1 802.15.4 通信距離 約100m 約10m 約30m 最大通信速度 11Mbps 1Mbps 250kbps 接続ノード数 32 7 65535 電池寿命 数時間 数日 数年 ネットワーク構成 スター型 スター型 スター型?メッシュ型など 主な用途 無線LAN 携帯電話 セキュリティ機器 表1 代表的な2.4GHz帯無線通信方式の比較
73.
Point to Point Point
to Multi Star 802.15.4 Coordinator 802.15.4 End Device IEEE 802.15.4で可能な構成
74.
IEEE 802.15.4デバイスの種類 ? コーディネータ(1個) ?
エンド?デバイス(复数)
75.
Mesh Coordinator End Device Router ZigBeeで可能となるクラスタツリー/メッシュ構成
76.
ZigBeeデバイスの種類 ? コーディネータ(1個) ? ルータ(複数) ?
エンド?デバイス(复数)
77.
XBeeの特長 ? IEEE 802.15.4とZigBeeの2つのモデル*4 –
XBee 802.15.4 – XBee ZB ZigBee PRO ? 比較的低価格(国内モデルで約3500円) ? 日本国内でも利用できるよう認証取得済み ? 利用方法を解説した書籍がある *4 モデル間での相互接続性はない
78.
その他:Arduinoに関連した話題 ? Propeller ? RAD ?
Instructables
79.
その他:Arduinoの耐久性について ? 過電流などの保護回路は内蔵している ? AVRベースなので比較的丈夫 ?
接続ミスなどでブートローダが壊れることは ある ? FT232RLはベストではないかもしれないが 安定している
80.
Arduinoに関して注目していること ? さまざまな立場からのコミット – ホビーユーザ –
エンジニア – デザイナー – アーティスト – 教育関係者 ? 基礎→応用ではなく応用→基礎 ? 日本独自のマイコン文化との接触と発動? ? Arduinoは現代のApple ][か?
81.
質疑応答など ? Arduinoについて ? フィジカルコンピューティングについて ?
Making Things Talkについて ? その他
82.
Make @ Osaka Making
Things Talk発売記念レクチャー はじめてのArduino 小林茂(kotobuki [at] yapan.org) 2008 年 11 月 22 日:共立電子産業株式会社?セミナールーム
Download now