狠狠撸

狠狠撸Share a Scribd company logo
2013年4月30日?5月2日/情報科学芸術大学院大学[IAMAS]
小林 茂(情報科学芸術大学院大学[IAMAS]産業文化研究センター 教授)
情報学基礎
エレクトロニクスをはじめよう?
Getting started with electronics
ものをつくる=なぜ? なにを? どうやって?
What? How?Why?Making Things
↑アイデアスケッチ
↑ハードウェアスケッチ
つくりながら考え、考えながらつくり、
実際のフィールドでためす
ハードウェアスケッチ#1(littleBits)
Hardware sketching #1 (littleBits)
情报学基础:エレクトロニクスをはじめよう
ハードウェアスケッチ#1
配布物一覧
? littleBits? Deluxe 碍颈迟:1个
情报学基础:エレクトロニクスをはじめよう
ハードウェアスケッチ#1
littleBitsをはじめよう
? littleBitsとは
? littleBitsの基本
? littleBitsで遊んでみよう
? littleBitsで小さなプロジェクトをつくってみよう
? テーマ:自分たちの身近な人々をちょびっと愉快にしよう
? 30分間の制限時間内にアイデアを具現化する
? 最後に各チーム1分間で発表
情报学基础:エレクトロニクス
情报学基础:エレクトロニクスをはじめよう
ハードウェアスケッチ#1
littleBitsをはじめよう
? littleBitsとは
? littleBitsの基本
? littleBitsで遊んでみよう
? littleBitsで小さなプロジェクトをつくってみよう
? テーマ:自分たちの身近な人々をちょびっと愉快にしよう
? 30分間の制限時間内にアイデアを具現化する
? 最後に各チーム1分間で発表
情报学基础:エレクトロニクスをはじめよう
ハードウェアスケッチ#1
littleBitsをはじめよう
? littleBitsとは
? littleBitsの基本
? littleBitsで遊んでみよう
? littleBitsで小さなプロジェクトをつくってみよう
? テーマ:自分たちの身近な人々をちょびっと愉快にしよう
? 30分間の制限時間内にアイデアを具現化する
? 最後に各チーム1分間で発表
情报学基础:エレクトロニクスをはじめよう
ハードウェアスケッチ#1
littleBitsをはじめよう
? littleBitsとは
? littleBitsの基本
? littleBitsで遊んでみよう
? littleBitsで小さなプロジェクトをつくってみよう
? テーマ:自分たちの身近な人々をちょびっと愉快にしよう
? 30分間の制限時間内にアイデアを具現化する
? 最後に各チーム1分間で発表
ハードウェアスケッチ#2(konashi)
Hardware sketching #2 (konashi)
情报学基础:エレクトロニクスをはじめよう
ハードウェアスケッチ#2
配布物一覧
? konashiキット
? konashi:1個
? konashi説明書:1枚
? Grove拡張ボード:1個
? Grove拡張ボード説明書:1枚
? マイクロUSBケーブル:1本
? 電池:1個
? Grove ? Starter Kit Plus
情报学基础:エレクトロニクスをはじめよう
ハードウェアスケッチ#2
konashiとは
? ユカイ工学が開発、販売するツールキット?
http://konashi.ux-xu.com
? 8つのデジタル入出力ピン、3つのアナログ入出力ピン、I2C?
(デジタル入出力ピン6および7と兼用)、1つのシリアルポート
? 外部電源、コイン形電池(CR2032)、バッテリ端子から?
電源を供給できる
? ファームウェアが固定のI/Oモジュールであるため、プログラ
ミングをiOSデバイス上で完結できる
? 必要に応じてArduinoなどと組合わせることができる
? 技術的にはBluetooth Low Energyを採用
情报学基础:エレクトロニクスをはじめよう
ハードウェアスケッチ#2
konashiとは
電子回路外装
スマートフォ
ンアプリ
ウェブ?
サービス
konashi
情报学基础:エレクトロニクスをはじめよう
ハードウェアスケッチ#2
konashiのピン配列
konashiマニュアルより転載(http://konashi.ux-xu.com/documents/)
USB-microB
(USB-Bus power)
DC 5.0V
コイン型バッテリ
(CR2032type)
DC 3.0V
バッテリ電圧
(S2B-PH-K-S / JST)
DC 3.2 ~12.0V
USART通信端子
デジタルI / O (PIO 0 5)
(PWM端子と兼用)
デジタルI / O (PIO 6,7)
(PWM端子. I2C通信端子と兼用)
各種電圧端子
(バッテリ電圧, DC5.0V,
DC3.0V)
アナログ入力 (AIO 0~2)
(リファレンス電圧 1.3V)
オンボード入力端子
(PIO 0)
オンボード出力端子
(PIO 1~4)
オンボード入出力
切換え端子
情报学基础:エレクトロニクスをはじめよう
ハードウェアスケッチ#2
konashiの個体を識別する方法
この場合には
konashi#4-0958?
と表示される
konashiマニュアルより転載(http://konashi.ux-xu.com/documents/)
情报学基础:エレクトロニクスをはじめよう
ハードウェアスケッチ#2
準備(JavaScript編)
1. konashi.jsをAppStoreからダウンロードして起動
2. マイクロUSBケーブルでkonashiボードをPCに接続(電源)
3. User→kotobuki→Digital IOを開く
4. 実行してkonashiボード上のボタンとLEDで動作を確認
情报学基础:エレクトロニクスをはじめよう
ハードウェアスケッチ#2
konashi.jsとは
http://konashi.ux-xu.com/documents/
情报学基础:エレクトロニクスをはじめよう
ハードウェアスケッチ#2
konashi.jsとは
http://konashi.ux-xu.com/documents/
情报学基础:エレクトロニクスをはじめよう
ハードウェアスケッチ#2
ブレッドボードとは
情报学基础:エレクトロニクスをはじめよう
ハードウェアスケッチ#2
電圧の概念図
電位差
電位A
電位B
グラウンド(GND)
情报学基础:エレクトロニクスをはじめよう
ハードウェアスケッチ#2
電圧/電流/抵抗の関係
多 少
←同じ圧力→
←同じ量→
←圧力低 ←圧力高
情报学基础:エレクトロニクスをはじめよう
ハードウェアスケッチ#2
LEDを点灯させてみる
情报学基础:エレクトロニクスをはじめよう
ハードウェアスケッチ#2
デジタル入出力を試してみる:Digital IO
?接続
? Digital IO 0:タクトスイッチ
? Digital IO 1:LED
?どうなるか
? ブレッドボード上のタクトスイッチを操作すると画面上の
Digital IO 0が変化する
? 画面上のDigital IO 1をオン/オフするとブレッドボード上
のLEDがオン/オフする
情报学基础:エレクトロニクスをはじめよう
ハードウェアスケッチ#2
DigitalInOut:デジタル入出力
これらのジャンパピンは外す
情报学基础:エレクトロニクスをはじめよう
ハードウェアスケッチ#2
GroveとGrove拡張ボードとは
http://yukaishop.base.ec/items/219896
情报学基础:エレクトロニクスをはじめよう
ハードウェアスケッチ#2
Grove拡張ボードを使うための準備
? konashiボードのジャンパピンを全て外す(紛失しない!)
? konashiのIDを記録する
? Grove拡張ボードをkonashiボードにのせる
? konashiのロゴの向きを合わせる
? ピンを曲げないように気をつけつつ最後まできっちり押し
込む
? 注意点:回路を変更する時は必ずkonashiボードの電源を切る
(マイクロUSBケーブルを抜き差しすると簡単)
情报学基础:エレクトロニクスをはじめよう
ハードウェアスケッチ#2
デジタル入出力を試してみる:Digital IO
?接続
? Digital IO 0:ボタン
? Digital IO 1:LED
?どうなるか
? Grove拡張ボードに接続したボタンを操作すると画面上の
Digital IO 0が変化する
? 画面上のDigital IO 1をオン/オフするとGrove拡張ボード
に接続したLEDがオン/オフする
?試してみよう
? ボタンをタッチセンサと交換する
? LEDを振動モータと交換する
情报学基础:エレクトロニクスをはじめよう
ハードウェアスケッチ#2
アナログ入力の値を読み取る:Analog IO
?接続
? Analog IO 0:ボリューム
? Digital IO 1:LED
?どうなるか
? Grove拡張ボードに接続したボリュームを操作すると画面
上のAnalog IO 0の値が変化する
? Analog IO 0の値に応じてDigital IO 1に接続したLEDの明
るさが変化する
?試してみよう
? ボリュームを光センサと交換する
情报学基础:エレクトロニクスをはじめよう
ハードウェアスケッチ#2
受信信号強度を読み取る:Read RSSI
?接続
? 特になし
?どうなるか
? iPod touchとkonashiの距離を変えると画面上のRSSI(受
信信号強度)の表示が変化する
?試してみよう
? 手でkonashiを覆ったり、部屋の中の様々な場所に移動し
てどんな変化があるかをみる
情报学基础:エレクトロニクスをはじめよう
ハードウェアスケッチ#2
jsdo.itのサンプルをforkしてみる
? jsdo.itのアカウントを作成する(自分のGoogleアカウントな
どを使う)
? 元にしたいサンプルを開く
? forkボタンを押してforkする
? 変更を加える
? konashi.jsで実行する
情报学基础:エレクトロニクスをはじめよう
ハードウェアスケッチ#2
konashi.jsとiOS SDKの比較
iOS SDK konashi.js
プログラミング言語 Objective-C JavaScript
iOSデバイス内センサの利用 ○
バックグラウンド実行 ○
iOS Developerライセンス 必要 不要
開発用のMac OS X 必要 不要
オンラインIDE ○(jsdo.it)
Webコンテンツとの連携 可能 容易
低消費電力での動作 非対応(コイン電池では1日程度)
情报学基础:エレクトロニクスをはじめよう
ハードウェアスケッチ#2
iOSで利用する場合
1. konashi iOS SDKをダウンロード?
http://goo.gl/8drNQ
2. ワークショップのサンプルをダウンロード?
http://goo.gl/rqghCw
3. iOSデバイスをPCに接続
4. マイクロUSBケーブルでkonashiをPCに接続(電源用)
5. Xcodeでサンプル「DigitalInOut」をビルドして実機に転送
6. konashiとiOSデバイスの画面上で動作確認
1. konashiのSW1をオン/オフ→画面上のスイッチが反応
2. 画面上のスイッチをオン/オフ→konashiのLED2がオン/オフ
情报学基础:エレクトロニクスをはじめよう
ハードウェアスケッチ#2
konashi iOS SDKとは
http://konashi.ux-xu.com/documents/
情报学基础:エレクトロニクスをはじめよう
ハードウェアスケッチ#2
BareMinimum:最小限のサンプル
- (void)viewDidLoad
{
????[super viewDidLoad];
????
????// 初期化
????[Konashi initialize];
????
????// KONASHI_EVENT_READYに対するオブザーバを追加する
????[Konashi addObserver:self selector:@selector(setup) name:KONASHI_EVENT_READY];
????
????// BLEデバイスのリストを表示してユーザにkonashiモジュールを選択してもらう
????[Konashi find];
}
!
- (void)didReceiveMemoryWarning
{
????[super didReceiveMemoryWarning];
}
!
- (void)setup
{
????// konashiモジュールに接続が完了した後のセットアップを行う
}
情报学基础:エレクトロニクスをはじめよう
ハードウェアスケッチ#2
DigitalInOut:デジタル入出力
?接続
? PIO 0:ボタン(ボード上)
? PIO 1:LED(ボード上)
?どうなるか
? ボタンのオン/オフ→画面上のスイッチがオン/オフ
? 画面上のスイッチをオン/オフ→LEDがオン/オフ
?試してみよう
? ボタンを外部に接続したものに変更する
? LEDを外部に接続したものに変更する
情报学基础:エレクトロニクスをはじめよう
ハードウェアスケッチ#2
AnalogInPwmOut:アナログ入出力
? 接続
? AIO 0:ボリューム
? PIO 1:LED
? どうなるか
? ボリュームを操作→画面上のスライダーが反応
? 画面上のスライダーを操作→LEDの明るさが変化
? 試してみよう
? ボリュームを光センサに変更してみる
情报学基础:エレクトロニクスをはじめよう
ハードウェアスケッチ#2
AnalogEvent:アナログ入力の変化を捉える
? 接続
? AIO 0:光センサ
? PIO 1:LED
? どうなるか
? 光センサにあたる光を変える→画面上のスライダーが反応
? 2つの閾値を変更
? 暗くするとLEDが点灯/明るくするとLEDが消灯
? 試してみよう
? 環境に応じて適切に反応するように閾値を変更してみる
情报学基础:エレクトロニクスをはじめよう
ハードウェアスケッチ#2
ReadSignalStrength:信号強度
?接続
? 特になし
?どうなるか
? konashiボードとiOSデバイスの距離を変える→信号強度を
示す画面上のスライダーが変化
?試してみよう
? konashiボードを手で覆う、iOSデバイスの向きを変える?
など、条件を変えて信号強度がどう変化するか確認する
情报学基础:エレクトロニクスをはじめよう
ハードウェアスケッチ#2
ControlByShaking:ジェスチャで制御
?接続
? PIO 1:LED(ボード上)
?どうなるか
? iOSデバイスをシェイク→LEDがオン/オフ
?試してみよう
? iOSデバイスの振り方とシェイクイベントの関係を調べてみる
情报学基础:エレクトロニクスをはじめよう
ハードウェアスケッチ#2
RememberThePreviouslyConnectedDevice
?接続
? PIO 1:LED(ボード上)
?どうなるか
? konashiボードを選択する→LEDが点滅
? アプリを終了
? アプリを再度起動する→前回接続したデバイスに自動的に
接続されLEDが点滅
?試してみよう
? 一度デバイスを記憶した後、konashiの電源を切ってから
アプリを起動してみる
情报学基础:エレクトロニクスをはじめよう
ハードウェアスケッチ#2
AddMapAnnotationsByPhysicalEvents
?接続
? PIO 0:ボタン(ボード上)
?どうなるか
? ボタンを押す→現在地のピンを地図上にドロップ
? ホームボタンを押す
? ボタンを押す→バックグラウンドでもピンがドロップされる
?試してみよう
? 実際に街中を歩いてみてどの程度正確に位置が記録されるか
調べてみる
情报学基础:エレクトロニクスをはじめよう
ハードウェアスケッチ#2
さらに詳しく知りたい時は?
? konashiの製品ウェブサイトのドキュメント?
http://konashi.ux-xu.com/documents/
? LEDの制御や電波強度計測、サンプルを動かしてみよう?
http://itpro.nikkeibp.co.jp/article/COLUMN/20130812/
497867/
? konashiとSoundCloudを連携、カスタムプレーヤーを
konashiで制御?
http://itpro.nikkeibp.co.jp/article/COLUMN/20130812/
497868/
? Engadget電子工作部のレポート?
http://japanese.engadget.com/2013/09/17/engadget-
konashi/

More Related Content

情报学基础:エレクトロニクス