SlideShare a Scribd company logo
1 of 90
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
フィジカル・コンピューティング入門
USB-MIDIベースのPepper-Monakaを使う
August, 29, 2015
室蘭工業大学
桑田喜隆
室蘭工業大学 公開講座
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
自己紹介	
2
桑田喜隆(くわたよしたか)	
kuwata[at]mmm.muroran-it.ac.jp	
	
・フィジカルコンピューティング用のプラットフォームを開発。	
 CCライセンスで公開中	
・エレキジャックのWebに記事を執筆中	
・著書:「Gainer互換Pepperでフィジカルコンピューティング」	
ホームページ
http://morecatlab.akiba.coocan.jp/
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
フィジカルコンピューティングとは	
•  フィジカルコンピューティング(Physical Computing)は,「パソ
コンを外部の世界につなぎ,コンピュータと人間とのインタラク
ションのあり方を研究」する研究分野の一つ�
•  これまでのキーボード,マウス,ディスプレイなどを使ったグラ
フィカル・ユーザ・インターフェース(GUI)を越えた新しい形式
のインター フェースを作る取り組み�
•  パソコンと組み合わせた電子工作のプロトタイプ開発環境とし
てもお勧め�
3
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
本日の内容	
•  第一部�導入編�
§  メイカームーブメント�
§  メイカームーブメントの背景�
§  プロトタイピング環境�
•  第二部�実践編�
§  基礎知識�
•  Processing�
•  Pepper�
§  ハンズオン�
§  まとめ�
4
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
メイカームーブメントとその背景を理解する
プロトタイピング環境を理解する	
第一部 導入編	
5
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
Maker movement	
•  だれもがメーカーになれる時代
§  「Makers – 21世紀の産業革命」、クリス・アンダースン
•  デジタルツールを活用したものづくり
§  設計ツール
§  工作機械
§  外注
•  自宅にいながら、インターネットを介して創作活動を共
有することができる。
§  設計情報の共有
§  ノウハウの共有
6
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
メイカームーブメント	
•  国内最大のDIYの展示会
•  2015年8月1日、2日 
•  東京国際展示場西ホールで開催
•  出展者数:380組
•  来場者数:15,000人
•  主催者:オライリージャパン
•  参考:http://makezine.jp/event/mft2015/
7
Maker Faire Tokyo 2015
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
展示物の例 (MTF2014)	
•  morecat_labでOSSとして
公開している 「MocoLUFA」
をArduino Unoに入れると、
パソコンやiPadのDTMソフ
トからケーブル一本でつな
げることのできるUSB-MIDI
デバイスが作れます。	
•  応用例としてミニキーボード、
monomeライクなデバイス、
PSGシンセ等を紹介します。
自分で試したい人向きに、
MocoLUFA入りのArduino
UnoやUSB-MIDI開発キット
も頒布します。	
8
http://morecatlab.akiba.coocan.jp/lab/
index.php/2014/09/mft2014entry/
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
積層型3Dプリンタ
•  プラスチック(PLAやABS)を溶かして積層させて形状を構成する
•  金型が不要で容易に設計した形状の物体が作成できる
•  プロトタイプ作成などに最適
メイカームーブメントの背景
パーソナル(デスクトップ)ファブリケーション
9
RepRapPro Mendel (license: GPL)	
RepRapWiki(reprap.org)より引用
MakerBot Replicator	
 www.makerbot.comより引用
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
メイカームーブメントの背景
パーソナル(デスクトップ)ファブリケーション
10
Shapeoko – Open Source Hardware
Desktop CNC Milling Machine
http://www.shapeoko.com/より引用
KitMill Qt100 オリジナルマインド
http://www.originalmind.co.jp/products/kitmill_qt よ
り引用	
デスクトップCNC
•  パソコンから制御する工作機械
•  金属、木材などの加工が可能
•  手軽に利用できる
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
メイカームーブメントの背景
オープンソースハードウェア	
•  オープンソースソフトウェア(OSS)のハードウェア版
•  ソース、回路図、ファームウェア、ソフトウェア、素材
一覧、パーツリスト、設計図、基板設計ファイルなど
のあらゆる開発情報を公開すると決めたプロジェクト
に対する総称
•  定められたライセンスの下に、中身を調べたり、自由
に変更したり、改善できるようにする。
•  オープンソース・ハードウェア(OSHW)の定義1.0
§  http://www.oshwa.org/definition/japanese/	
11
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
メイカームーブメントの背景
クラウド・ファンディング
•  インターネットを使った資金集めの手段
•  ソーシャル・ファンディングとも呼ばれる。
•  インターネット上で出資を募り、資金集めを実施する。資金集
めが成功した場合、出資者に約束した報酬(初期ロット製品
など)を返す。
•  クラウド・ファンディングを元に企業したスタートアップも多数。
•  大企業のマーケティング手法としても使われる。
例
•  KickStarter (https://www.kickstarter.com/, 米国)
•  Makuake (https://www.makuake.com/, 日本)
12
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
メイカームーブメントの背景
オンライン・コミュニティおよびSNS
•  一般向けだが、メーカ関連でも頻繁に情報交換に使われる
§  Twitter  (電子工作クラスター(?)が存在する)
§  mixi    (一般向けSNSだが、オンラインコミュニティがある)
§  Facebook 
§  ニコニコ動画 (工作物の動画を共有する。ニコニコ技術部はミーティ
ングを開催)
•  開発者向けのオンライン・コミュニティ
§  開発プラットフォームに特化したコミュニティサイト
•  Arduino, mbed,
§  ディストリビュータの提供するコミュニティサイト
•  Adafruit, sparkfun
§  Thingiverse (3Dデータの共有)
§  Github (ソースコードのリポジトリ)
§  Hackaday.io (プロジェクトの共有サイト)
§  Instructables (www.instructables.com/ 作り方を共有するサイト)
13
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
thingiverse	
•  3Dデータの共有サイト
§  データのプレビュー
§  データのダウンロード
§  3Dプリント方法
§  カスタマイズ方法
•  コミュニティ支援機能
§  LIKES
§  COLLECTIONS
§  MAKES
§  マッシュアップ
14
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
thingiverse	
•  統計情報の提供
§  アクセス数
§  ダウンロード数
§  LIKES数
§  WATCH数
§  COLLECTS数
§  コメント数
§  RIMIX数
15
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
メイカームーブメントの背景
市民工房、Fablabなど
•  一般市民が誰でも利用出来る工房。工作のための道具、機
械や場所を提供する。
§  FabLab (ファブラボ)
§  Hackerspace (ハッカースペース)
§  はんだづけカフェ
16
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
メイカームーブメントの背景
市民工房、Fablabなど
FabLab (ファブラボ)
「ファブラボは、デジタルからアナログまでの多様な工作
機械を備えた、実験的な市民工房のネットワークです。個
人による自由なものづくりの可能性を拡げ、「自分たちの
使うものを、使う人自身がつくる文化」を醸成することを目
指しています。」 http://fablabjapan.org/whatsfablab/ 
より引用
国内に13個 
17
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
メイカームーブメントの背景
市民工房、Fablabなど
Hackerspace (ハッカースペース)
「ハッカースペースとは、コミュニティによって運営されて
いる実際のスペース(場所)です。そこでは、いろんな人に
会ったり一緒にプロジェクトに取り組んだりすることがで
きます。東京ハッカースペース(THS)はオープンコミュニ
ティラボで、テクノロジーとか、科学、クッキング、ガーデ
ニング、デジタルアート、ソーイング等々に興 味を持って
いる人たちが同じ趣味を持つ仲間を見つけ、プロジェクト
を開始し作業をすることができるインフラも備え持つ場所
です。」 http://quake.tokyohackerspace.org/ より引用
THSは東京都(乃木坂)日本人以外のメンバーが多いコ
ミュニティ。
  18
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
メイカームーブメントの背景
市民工房、Fablabなど
はんだづけカフェ 
•  はんだづけカフェは、電子工作のための道具や場所をシェア
することができるオープン・スペースです。 LEDを光らせたこ
ともないような初心者から、電子回路を使ったインタラクティブ
な作品を作るアーティスト、 自ら基板を設計してしまうような
ギークまで、様々な人が集まって、そこにいる誰かとちょっとし
た会話をしたり、買ってきたパーツをハンダ付けしたり、そうい
うことができる場所です。 
  http://handazukecafe.com/ より引用
•  SwitchScience社の提供する電子工作のためのオープンス
ペース。秋葉原(東京)。半田ごてやネットワーク環境を提供。
19
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
プロトタイピング環境とその動向	
電子回路のプロトタイプ環境
§  ラグ板
§  ユニバーサル基板
§  ブレッドボード
§  電子ブロック
マイコンベースのプロトタイプ環境
§  Arduino
§  Gainer
§  mbed
§  Raspberry Pi
§  littlebits
§  konashi
§  Scratch + センサーボード
20
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
電子ブロック	
•  学習用に、ブロックに組み込んだ電子部品を組み合わせることで電子回
路を簡単に構成出来るようにしたもの。
•  ラジオや発信機など150種の電子回路が実験出来る。
•  2002年に学研から復刻版が発売された
21
"Gakken EX150". Licensed under CC 表示-継承 3.0 via ウィキメディア・コモンズ - https://commons.wikimedia.org/wiki/
File:Gakken_EX150.jpg#/media/File:Gakken_EX150.jpg
"Denshi blocks". Licensed under CC 表示-継承 3.0 via ウィキメディア・コモンズ - https://commons.wikimedia.org/wiki/
File:Denshi_blocks.jpg#/media/File:Denshi_blocks.jpg
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
プロトタイピング環境
Arduino(アーデュイーノまたはアルデュイーノ)	
•  2005年にイタリアで開始されたロボット制御用のプロトタイピング環境
•  専用マイコンボードと開発環境(IDE)により、ハードウェア詳細を意識せずに簡単
に制御できる。
•  シールドと呼ばれる拡張ボードを接続することで、機能を拡張できる。
•  多くのライブラリや作例がインターネット上に公開されており、参考にできる。
•  各種の互換機が作成されており、◯◯duinoと呼ばれている。	
ファイル:ARDU-03 02.jpg, Arduino Mega2560.jpg クリエイティブ・コモンズ 表示-継承 2.0 一般ライセンス
https://ja.wikipedia.org/wiki/%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB:ARDU-03_02.jpg	
公式ホームページ
https://www.arduino.cc/	
22
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
プロトタイピング環境
Gainer (ゲイナー)	
•  国産のフィジカルコンピューティング環境で、2006年発表
•  PCにつないだセンサーアクチュエータを制御する方式。
•  開発用言語としてProcessing, MAX/MSP, Flashがサポートされた
•  クリエイティブ・コモンズ・ライセンス「表示-非営利-継承 2.1 日本」
公式ホームページ
http://gainer.cc/	
中央:Gainer
左:Gainer mini (互換機)
右:Ginger (互換機)
筆者撮影	
23
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
プロトタイピング環境
mbed(エンベッド)	
•  2005年に英ARM社のエンジニアによって開始されたプロジェクト
•  32ビットのARMプロセッサにより高速処理が可能
•  ブラウザで動作するオンラインIDEによって開発環境をクラウド化。USB
メモリとして認識されるmbedにコンパイル結果を書き込むことで開発が
行われる。
•  2013年に発表されたmbed2.0からオープン化された。
•  各社互換機を提供している。	
“Mbed RapidPrototypingBoard with NXP LPC1768(ARM
Cortex-M3) MCU”. Licensed under CC 表示-継承 3.0 via
ウィキメディア・コモンズ	
公式ホームページ
https://developer.mbed.org/	
24
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
プロトタイピング環境
Raspberry Pi (ラズベリーパイ)	
•  英ラズベリーパイ財団によって学校教育向けに開発されたシ
ングルボードコンピュータ(2012年)
•  25ドルと低価格。最新版のRaspberry Pi2は35ドル。
•  HDMIディスプレイとキーボードマウスをつなぎ、SDカードか
らLinuxを起動することで、パソコンとして使える。	
File:Raspberry Pi 2 Model B v1.1 top new.jpg アップロード者: Multicherry CC 表示-継承 4.0 https://ja.wikipedia.org/wiki/
%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB:Raspberry_Pi_2_Model_B_v1.1_top_new_%28bg_cut_out%29.jpg#/
media/File:Raspberry_Pi_2_Model_B_v1.1_top_new_%28bg_cut_out%29.jpg
公式ホームページ
https://www.raspberrypi.org/	
25
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
プロトタイピング環境
littlebits (リトルビッツ)	
•  電子回路の学習用のキット
•  モジュールを磁石でつなげることで、電子回路を構成する
•  センサー、アクチュエータ。
•  シンセサイザー用のキット等もある。	
写真は公式ホームページより引用	
26
公式ホームページ
http://jp.littlebits.com/
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
•  2013年に発売されたiOSデバイス用のツールキット
•  BLE(無線環境)を使って、iPhoneやiPadから制御可能。
•  専用アプリを利用してJavaScriptでプログラムできる。
•  無線モジュール以外はオープンソース。
プロトタイピング環境
konashi (こなし)	
公式ホームページ http://konashi.ux-xu.com/	
27
写真は公式ホームページより引用
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
•  MITメディアラボで開発された子供向けプログラミング言語
•  視覚的にプログラムを組むことができる、「ビジュアルプログ
ラミング言語」
•  センサーボードを利用たフィジカルコンピューティング環境
プロトタイピング環境
Scratch(スクラッチ) + センサーボード	
28
「なのぼ~ど」 NanoBoard AGを利用した「なのか
~」 http://tiisai.dip.jp/?page_id=935 より引用
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
29
外部の世界
パソコンの世界
センサ
アクチュエータ
フィジカルコン
ピューティング
デバイスPPiinnAA  ==  11  
PPiinnBB  ==  00;;;;  
フィジカルコンピューティングのアーキテクチャ  
フィジカルコンピューティングの構成要素
・ フィジカルコンピューティング・デバイス
・ ファームウエア
・ 関連するライブラリ
・ ソフトウエアの開発環境
開発環境
ライブラリ
ファーム
ウエア
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
30
外部の世界	
パソコン	
ファームウエア	
program
書き込み	
パソコン	
外部の世界	
program
ファームウエア
(共通)	
ファームウエア
変更型
(Arduinoなど)	
外部制御型
(Gainerなど)	
フィジカルコンピューティングデバイスの比較	
よりシンプル、
より簡単	
高い柔軟性
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
31
アーキテクチャの比較	
ファームウエア変更型	
  外部制御型	
 
実行形態	
 
スタンドアロン	
PCとの連携	
 
PCとの連携	
 
実装例	
 
・Arduino	
・Wiring[5]	
 
・Gainer	
・USB Bit Whacker[6]	
・Arduino with Firmata[7]	
 
ファームウエ
ア開発環境	
 
Arduino	
(Processing)	
 
組込み済み(不要)	
 
ホストPC開発
環境	
 
Processing, Adobe
Flash,Max/MSPなど	
 
Processing, Adobe Flash,
Max/MSPなど
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
電気回路の基礎知識
Processingの基礎知識	
基礎知識	
32
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
Processingとは?	
•  UCLAでBen Fryらによって設計された言語処理系(開発環
境)
•  Javaをベースとしてた、オープンソースソフトウエア
•  俗称: Proce55ing, p5
•  プログラマでない、アーティストやデザイナにも使い易いこと
を目指す。
•  対話的に美しいCGを作成したり、データのビジュアライズを
することが出来る。
•  Windows/MacOSX/Linux用アプリケーションとアプレットの
作成が出来ます。
http://processing.org/
参考文献:「Processingをはじめよう」 Casey Reas, Ben Fry
著、船田 巧訳、オライリージャパン	
33
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
メニューバー	
ツールバー	
タブ	
テキストエディタ	
テキストエリア	
メッセージエリア	
Processingのユーザインタフェース	
34
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
Processingのツールバーの動作	
Run: プログラムのコンパイルと実行	
Stop: 実行中プログラムの停止	
New: 新規スケッチ作成	
Open: 既存スケッチを開く	
Save: スケッチを保存	
Export: Applet形式に変換	
35
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
Processingのプログラムの基本構造	
36
/*	
Hello World from pepper	
*/	
import monaka.*;
import themidibus.*;	
monaka pepper;
int on = 0;	
void setup(){	
}
void draw() {
}
Void mousePressed() {
}
	
コメントは
/* */も
//も可能
ライブラリのインポート
大域変数の宣言と初期化
setup()
初期化のための関数
draw()
画面描画などの関数
マウスが押されたとき呼
ばれるコールバック関数
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
Pepper(もなか)について	
•  フィジカルコンピューティング用の世界最小プラット
フォーム(基盤)
•  パソコンからUSB経由で4本のI/Oを制御できます。
•  Pepper(もなか)はMIDIベースで制御するソフトが
入っているバージョンです。
§  無印PepperはGainer互換の別物
•  オープンソースハードウェア(OSHW)として設計情
報はすべて公開されています。
•  Switch Scienceで販売されています。	
37
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
Pepper(もなか)のソフトウェア	
•  Pepperもなかは設計情報を全てgithubで公
開しています。
§  https://github.com/kuwatay/monaka
•  本日使うプログラムも同じ場所からダウンロー
ドできます。
§  https://github.com/kuwatay/monaka/tree/
master/Processing/monaka/Examples	
38
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
Pepper(もなか)の動作モード	
•  Pepper(もなか)には複数の動作モードが存
在します。
•  動作モードによって入出力ピンのしようが変化
します。
•  ホストからコマンドで動作モードを指定します。
•  一度設定した動作モードは電源を切っても保
持されます。
39
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
Pepper(もなか)の動作モード設定	
モード1	
 モード2	
 モード3	
 モード4	
 モード5	
 モード6	
 モード7	
 モード8	
特徴	
デジタ
ル出力	
コンビ
ネー
ション	
トリガ
出力	
アナロ
グ入出
力	
デジタ
ル入力
アナロ
グ入出
力	
マトリク
ス	
サーボ
出力	
アナロ
グ入力	
0	
 0	
 0 2	
 0	
 3	
 0	
 2	
アナロ
グ出力	
0	
 0	
 0	
 2	
 0	
 1	
 0	
 0	
デジタ
ル入力	
0	
 1 0	
 0	
 4	
 0	
 0	
 0	
デジタ
ル出力	
4	
 2	
2(トリ
ガ)	
0	
 0	
 0	
 0	
 0	
その他	
 0	
 TONE	
START/
STOP
CLOCK	
0	
 0	
 0	
2x2 IN
2x2 OUT	
2 x
SERVO	
40
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
動作モードとピンの割り当て	
41
USB	
Tiny85	
6番ピン	
1番ピン	
アナログ、デジタルとも
扱う電圧は5Vです。
それ以上の電圧を扱
いたい場合には別に
電子回路を追加する
必要があります。	
ピン番号	
 モード1	
 モード2	
 モード3	
 モード4	
 モード5	
 モード6	
 モード7	
 モード8	
6	
 GND	
 GND	
 GND	
 GND	
 GND	
 GND	
 GND	
 GND	
5	
D-Out

(D#3)	
D-In

(D#3)	
START/
STOP	
A-In

(CC#23)	
D-In

(D#3)	
A-In

(CC#24)	
COL1	
A-In

(CC#23)	
4	
D-Out

(D3)	
TONE	
MIDI
CLOCK	
A-Out

(CC#23)	
D-In

(D3)	
A-Out

(CC#22)	
COL0	
SERVO

(CC#23)	
3	
D-Out

(C#3)	
D-Out

(C#3)	
Trig-Out

(C#3)	
A-Out

(CC#22)	
D-In

(C#3)	
A-In

(CC#23)	
ROW1	
SERVO

(CC#22)	
2	
D-Out

(C3)	
D-Out

(C3)	
Trig-Out

(C3)	
A-In

(C#22)	
D-In

(C3)	
A-In

(CC#24)	
ROW0	
A-In

(CC#22)	
1	
 +5V	
 +5V	
 +5V	
 +5V	
 +5V	
 +5V	
 +5V	
 +5V
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
アナログ入力について	
•  0Vから5Vの電圧を入力できます。
•  8ビットのアナログーデジタル(AD)変換をします。(128段階)
•  1個のAD変換ユニットを切換えて複数のチャンネルを読み取
ります。このため、全く同じ時刻のデータではありません。	
42
出力データ	
入力電圧(V)	
0	
0	
127	
5
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
アナログ出力について	
•  アナログ出力はPulse Width Modulation (PWM)により得てい
ます。(128段階)
•  十分高い周波数で切換えていますが、雑音が問題になる場合
には、コンデンサなどで平滑化する必要があります。	
43
0の場合	
 63の場合
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
実際にPepperを動かして
フィジカル・コンピューティングを体験しよう	
ハンズオン	
44
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
ハンズオンの実施手順	
1. 部品の確認
2. パソコン接続の確認
3. 音出しによる動作確認
4. 出力
§  Lチカ
5. 入力
§  光センサ
§  加速度センサ
§  距離センサ
45
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
部品名	
 規格	
 数量	
 備考	
 部品名	
 規格	
 数量	
 備考	
Pepper
micro	
もなか版	
 1	
 光センサ
CdSセル
5mmタイプ	
1	
ブレッド
ボード	
小	
 1	
距離セン
サ	
GP2Y0A2
1YK	
1	
ジャンパ
線
(15cm)
赤、青、
白、緑、
黒、各3	
15	
加速度セ
ンサモ
ジュール	
KXR94-20
50	
1	
LED	
 赤、緑	
 各2	
micro-
USBケー
ブル	
Aオス-マ
イクロBオ
ス 1.5m	
1	
抵抗	
470オー
ム	
4	
ジョイス
ティック	
2-Axis
Joystick	
2	
抵抗	
10Kオー
ム	
2	
圧電ス
ピーカー	
SPT15	
 1	
圧力セン
サー	
FSR-40
2	
1	
パーツリスト	
46
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
ブレッドボードのしくみ	
47
14a- 14e
14f – 14j
はそれぞれ内部でつ
ながっています。電源とグランド用にそ
れぞれの列は内部で
つながっています。
・リード線を穴に差し込ん
で回路を構成します。
・新しいBBは差し込みの
際に硬いことがあります。
・なるべく線の下を持って
折れないように真直ぐ差
し込んで下さい。
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
パソコン接続の確認(ケーブルを繋ぐ)	
48
パソコンのUSBポートに接続する
表面の青色
LEDが点灯
する	
注意点
・直接本体のUSBポートにつなぐ
・HUB経由だと認識されない
・基板の裏側が金属でショートしないようにする
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
パソコン接続の確認(Windowsの場合)	
49
「STARTメニュー」→
「コントロールパネル」→
「デバイスマネージャ」選択
「サウンド、ビデオ、およびゲームコントローラー」に「Pepper-Monaka」があることを確認	
Pepper-Monaka
をクリック
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
パソコン接続の確認(MacOSXの場合)	
50
「Appleメニュー」→
「このMacについて」→
「システムレポート…」ボタン押下	
「USB」→
「USB装置ツリー」→
「PEPPER-Monaka」
を確認する
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
パソコン接続確認	
51
うまく行かない場合
・ディスクが動いているあら、しばらく待つ。
 認識に時間がかかる場合があるため。
・パソコン本体のコネクタにつなぐ。
・パソコン本体の別のUSBコネクタを試す。
 (USB2.0, USB3.0)
接続の確認が終わったら、一旦ケーブルを抜いて下さい。
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
Processingの準備 (1)	
52
githubからProcessing用のライブラリをダウンロード。
https://github.com/kuwatay/monaka/tree/master/Processing/dist/libraries.zip	
1. Rawを押してダウンロードする
2. libraries.zipをダウンロード
フォルダに保存する。
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
Processingの準備 (2)	
53
Processing用のフォルダを作成 (既にあれば作成不要)
•  Windowsの場合
「ドキュメント-> Processing」
•  MacOSXの場合
「書類 -> Processing」
Githubからダウンロードしたlibraries.zipをProcessing用のフォルダに移動
libraries.zipを展開
3個のフォルダが作成されていることを確認
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
Processingの起動	
54
Processingが導入済みであることが前提です。
1. WinsowsメニューからProcessingを選択
2. 画面中央にウインドウが出る
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
演習1:音階を出そう	
パソコンからのMIDI出力
55
パソコン
Processing
圧電スピーカ	
波形
(音階)	
Processing
から
プログラム	
Pepper  
MIDIデー
タ	
MIDIを扱える
DTMプログラムで
も大丈夫	
簡易なMIDI音源になります。
(矩形波、単音出力)
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
演習1:音階を出そう(続き)	
56
圧電スピーカをPepperにつなぐ。	
実体配線図	
回路図
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
演習1:音階を出そう(続き)	
57
配線の方法	
 実体配線図	
ブレッドボード上で右の実体配線図よ
うに配線してください。
(1) ブレッドボードにPepperをさしこむ。
(2) 圧電ブザーのケーブルをPepper
の4番ピンと6番ピンにつなぐ。
(極性はないので、どちらでも良い)
(3) micro USBケーブルでPepperを
PCにつなぐ。
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
実行手順
・Processingを立ち上げる
・プログラムを開く
 Processing -> libraries -> monaka ->
Examples -> monaka_mode2.pde
・実行する(▶)
・PCのキーボードを押すと音が出る
(簡単な演奏できます)	
演習1:音階を出そう(続き)	
58
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
演習1:音階を出そう(続き)	
59
ド	
 レ	
 ミ	
 ファ	
 ソ	
 ラ	
 シ	
 ド	
ド#	
 レ#	
 ファ#	
 ソ#	
 ラ#	
パソコンキーボードと鍵盤の対応	
プログラムの中に、対応表を持っています。
プログラムを改造すれば、音程を拡張したり自分の好きな配
置にすることも出来ます。
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
演習1:応用アイデア	
60
もなかはMIDI規格をベースに通信を行います。
DTMソフトから音程を出すことで、プログラムを使わずに制御
することもできます。
WindowsのDominioの例
http://takabosoft.com/domino	
「もなかはMIDIベース」
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
演習2:LEDを点滅しよう	
パソコンからのデータ出力
61
パソコン
Processing
アクチュエータ	
アナログ
電圧	
Processing
から
プログラム	
Pepper  
アナログ
データ	
発光ダイオード
(LED)
ソレノイド
モーター
リレー
ランプ
...
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
62
演習2−1:LEDを点滅しよう 配線図	
足の長い方が
プラス(+)	
Pepper
1番ピン	
Pepper
6番ピン	
実体配線図	
抵抗は足を曲
げる	
Pepper2番ピ
ンにつなぐ	
LEDを1つだけつないで制御します。	
回路図	
【電流制限抵抗】
470オーム
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
Hello World !	
001 //
002 // Pepper-monaka mode:1 test
003 // Four digital out
004 //
005
006 import monaka.*;
007 import themidibus.*
008
009 monaka pepper;
010
011 void setup() {
012 size(400,400);
013 background(0);
014
015 pepper = new monaka(1);
016 }
017
63
Monake_LED1.pde	
018 void draw() {
019
020 if (mousePressed == true) {
021 fill(0);
022 pepper.digitalOutput(0, 1);
023 } else {
024 fill(255);
025 pepper.digitalOutput(0, 0);
026 }
027 }	
pepperを制御するオブジェク
ト(モード1)を設定します。
押されていなければ、
デジタル出力0に値を
出力します。
マウスが押されたら
デジタル出力1に値を
出力します。
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
Hello Worldの実行例	
64
実行時には消灯して
います	
マウス左クリックで
LEDが点灯します
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
65
演習2−2:LEDを点滅しよう 配線図	
回路図	
 実体配線図	
グランドの配
線を追加する	
Pepper3番ピ
ンにつなぐ	
もう一回路追
加する	
1個LEDを増設して、2つのLEDを制御します。
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
001 import monaka.*;
002 import themidibus.*;
003
004 monaka pepper;
005
006 void setup() {
007 size(400,400);
008 background(0);
009
010 pepper = new monaka(1);
011 }
012
013 void draw() {
014 if (mousePressed == true) {
015 background(255);
016 fill(0);
017 if (mouseButton == LEFT)
018 pepper.digitalOutput(0, 1);
019 if (mouseButton == RIGHT)
020 pepper.digitalOutput(1, 1);
021 } else {
022 background(0);
023 fill(255);
024 if (mouseButton == LEFT)
025 pepper.digitalOutput(0, 0);
026 if (mouseButton == RIGHT)
027 pepper.digitalOutput(1, 0);
028 }
029 }
Hello World ! 2.0	
66
monaka_LED2.pde	
マウスのボタン(右)、ボ
タン(左)の状態によって
点灯するLEDを変更す
る
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
Hello World 2.0の動作	
67
実行時には消灯して
います	
マウス左クリックで赤
LEDが点灯します	
マウス右クリックで緑
LEDが点灯します
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
演習2:応用アイデア	
•  ナイトライダー
§  Pepperのモード1はデジタル出力が4個とれます。
§  LEDを4個を使って、ナイトライダーを作れます。
•  ルーレット
§  ナイトライダーの応用です。キーボードから回転を
止めましょう。
•  メールのお知らせアプリ
§  メールが来たらLEDが点灯する
§  メールサーバとの通信が必要になります。
68
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
演習2:センサで測ろう	
パソコンへのデータ取り込み
69
パソコン
Processing	
センサなど	
アナログ
電圧	
Pepper	
アナログ
データ	
光センサ
距離センサ
加速度センサ
温度センサ
ガスセンサ
....	
Processingから
プログラム
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
光センサ(CdS)とは	
70
CdSセル(硫化カドミウムセル)	
■光の量により抵抗値が変わります。	
明るくなると抵抗値が小さくなります。
暗くなると抵抗値が大きくなります。
■価格が安く多用されていましたが、
近年環境への配慮から半導体のセ
ンサに置き換えられています。	
明るい場合	
 暗い場合
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
演習3	
71
実体配線図	
Pepper2番ピ
ンにつなぐ	
USB	
CdSセルを使って明るさを測定します。	
電源:Pepper
1番ピンにつ
なぐ	
CdSセル	
回路図	
10Kオームで分圧して、
アナログ入力に入れる	
・配線をする場合には、必ずパソコンからUSBを抜くこと
・USBを差し込む前に配線を十分確認すること
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
明るさの測定プログラム	
001 import monaka.*;
002 import themidibus.*;
003
004 monaka pepper;
005 PFont myFont;
006
007 void setup() {
008 size(250,250);
009 background(0);
010
011 pepper = new monaka(4);
012 myFont = loadFont("CourierNewPSMT-24.vlw");
013 textFont(myFont, 24);
014
015 frameRate(20);
016 }
017
018 void draw() {
019 background(0);
020 text("Analog[0] = "+ pepper.analogInput(0), 30, 125);
021 text("Analog[1] = "+ pepper.analogInput(1), 30, 145);
022 }
023
72
monaka_analogin2.pde	
アナログ入力で読み込んだ
値を画面に表示する。	
Monakaをモード4に設定	
画面のフィレームレートを20
の設定
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
演習3:明るさの測定	
73
Analog[0]が光センサの値。
明るいほど小さくなる。	
monaka_analohin2.pde
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
光センサの応用	
•  自動調光
§  光センサに応じてLEDの明るさを変える
•  音楽演奏
§  音楽演奏の入力装置として使う
§  テルミン風の楽器
•  データロガー
§  センサの記録を取る
§  インターネットサイトにログデータを送る
§  Twitterで呟く。	
74
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
回路図	
 実体配線図	
Pepper2番ピ
ンにつなぐ	
CdSセルを使って測定した明るさでLEDを制御します。	
光センサの応用:調光器	
75
LED回路を増
設する	
USB	
LED回路を増
設する
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
調光器	
001 import monaka.*;
002 import themidibus.*;
003
004 monaka pepper;
005 PFont myFont;
006
007 void setup() {
008 size(250,250);
009 background(0);
010
011 pepper = new monaka(4);
012 myFont =
loadFont("CourierNewPSMT-24.vlw");
013 textFont(myFont, 24);
014 frameRate(20);
015 }
76
016
017 void draw() {
018 int v = pepper.analogInput(0);
019 background(0);
020 text("Analog[0] = "+
pepper.analogInput(0), 30, 135);
021 text("Analog[1] = "+
pepper.analogInput(1), 30, 155);
022
023 // LED Control
024 pepper.analogOutput(0, v);
025 }
026
アナログ入力で読み込んだ値
をそのままアナログ出力に出
している。	
LEDautolight.pde
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
光センサの応用:SoundDemo	
77
001 /* sound demo with soundclipher */
002
003 import arb.soundcipher.*;
004 import monaka.*;
005 import themidibus.*;
006
007 PFont myFont;
008 monaka pepper;
009 SoundCipher sc = new SoundCipher(this);
010
011 int cnt = 0;
012
013 void setup() {
014 size(250,250);
015 pepper = new monaka(4);
016 myFont = loadFont("CourierNewPSMT-24.vlw");
017 textFont(myFont, 24);
018 frameRate(8);
019 }
020
SoundDemo.pde	
021 void draw() {
022 int v;
023 v = pepper.analogInput(1); // read analog port
024 background(v*2); // Display Control
025 fill(255, 0, 0);
026 text("Analog[0] = " + v ,30, 135);
027 text("Analog[1] = "+ pepper.analogInput(0), 30, 155);
028 if (++cnt >= 8) {
029 sc.instrument(random(80));
030 cnt = 0;
031 }
032 // sc.instrument(1);
033 // sc.playNote(random(40) + 60 - v/2, random(50) +
70, 0.2);
034 // sc.playNote( 60 - v/4, random(50) + 70, 0.2);
035 sc.playNote( 60 - v/4, pepper.analogInput(0)/2 + 70,
0.2);
036
037 }
Soundcipherパッケージを使った簡単なデモ。
センサの値によって、音程が変わります。	
http://explodingart.com/soundcipher/
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
距離センサとは	
78
距離センサは測定した距離を電圧で出力します。	
シャープの測距モジュール。
・赤外線LEDとPSD(position sensitive
detector) を使用して、非接触で距離を検出す
ることができます。
・測定した距離をアナログ電圧で出力します。	
	
■測距範囲:10〜80cm	
■出力:アナログ電圧出力	
■寸法:29.5×13×13.5mm	
■用途:ロボット・アミューズメント等	
■電源:4.5〜5.5V
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
距離センサを使う回路	
79
回路図	
 実体配線図	
付属のケーブ
ルの色に注意	
距離センサを使って、物体までの距離を測定します。	
極性を間違える
と、センサが壊れ
ます!!	
USB	
端子をつなぐだけ。ただ
し、ケーブルの色注意
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
距離センサを使うプログラム	
80
monaka_analogin1.pde	
付属のケーブ
ルの色に注意	
測定結果が表
示される。	
センサに手を
かざすと値
が変わる
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
81
加速度センサ	
加速度センサは、携帯電話やゲーム機などで利
用されています。
X、Y、Zの3軸の加速度が測定できます。
出力はアナログ電圧で、電源電圧の半分のオフ
セットが付きます。
■カイオニクス社 ローノイズ3軸加速度センサ
■XYZ ±2g
■アナログ出力 感度:660mV/G
■オフセット 1.65V(0g:3.3V時)
■電源電圧:3.3〜5V(標準:3.3V)
■周波数範囲:50〜1000Hz
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
回路図	
 実体配線図	
加速度センサの回路図	
82
USB	
1番ピンをこち
らにする	
3軸加速度センサ
モジュール
 KXR94-2050	
1	
 4	
5	
8
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
001 import monaka.*;
002 import themidibus.*;
003
004 monaka pepper;
005 PFont myFont;
006
007 void setup() {
008 size(250,250);
009 background(0);
010
011 pepper = new monaka(6);
012 myFont = loadFont("CourierNewPSMT-24.vlw");
013 textFont(myFont, 24);
014
015 frameRate(20);
016 }
017
018 void draw() {
019 background(0);
020 text("Analog[0] = "+ pepper.analogInput(0), 30, 105);
021 text("Analog[1] = "+ pepper.analogInput(1), 30, 125);
022 text("Analog[2] = "+ pepper.analogInput(2), 30, 145);
023 }
024
加速度センサプログラム	
83
アナログ入力を3個使う
ため、モード6を指定しま
す。	
3個の値を読み込んで
表示します。	
monaka_analogin3.pde
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
加速度センサの実装例	
84
時間軸に沿って、値をプロット
すると面白いです。
Processingのライブラリを使っ
てプロットするのも良いと思い
ます。	
SimpleScope3ch.pde
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
加速度センサの応用	
85
ボールの動きを加速度セン
サーでコントロールできます。	
	
マウスでクリックすると画面中
央にボールが戻ります。	
rolling.pde
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
ジョイスティック	
86
ジョイスティックは、携帯ゲーム機などで利用され
ています。
X、Yの2軸の位置(回転角)が測定できます。
抵抗体なので、片側を電源に片側をアースに接
続して利用します。
■PARALLAX社 2軸ジョイスティック
■電源仕様 0.01W 10VDC最大
■インタフェース 10KΩポテンショメータ(グランド
共通)
■動作温度 0℃から70℃
■大きさ 41.67mm x 25.56mm x 27.94mm
外観	
接続図
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
実体配線図	
ジョイスティック	
87
回路図	
加速度センサーと同じプロ
グラムが動作します。
(但し、2軸の情報のみ)
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
88
圧力センサ	
外観	
特性	
内部構造	
高分子厚膜フィルムを利用したセン
サーで、センサ部に圧力を加えると
抵抗値が減少する。
・厚さ:0.20~1.25mm

・感圧範囲:0.2N~20N

・最小感度:20g~100g
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
圧力センサ	
89
回路図	
CdSと同じプログラムが動
作します。
実体配線図
Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved	
まとめ	
•  フィジカルコンピューティングの概要
•  Pepperの使い方
•  ハンズオン
§  LED制御(Lチカ)
§  光センサ
§  距離センサ
§  加速度センサ
•  次のステップ
§  他の言語処理系から使う(WebMIDI API, Ruby, VB…)
§  オリジナルのアプリケーション作成	
90

More Related Content

What's hot

Unity+ARKitで作る、新しいAR体験
Unity+ARKitで作る、新しいAR体験Unity+ARKitで作る、新しいAR体験
Unity+ARKitで作る、新しいAR体験Masayuki Iwai
 
第1回 【初心者向け】Unity+Oculus Riftで次世代の3Dゲームを作って感じるワークショップ
第1回 【初心者向け】Unity+Oculus Riftで次世代の3Dゲームを作って感じるワークショップ第1回 【初心者向け】Unity+Oculus Riftで次世代の3Dゲームを作って感じるワークショップ
第1回 【初心者向け】Unity+Oculus Riftで次世代の3Dゲームを作って感じるワークショップYuichi Ishii
 
Unity教える先生方注目!ティーチャートレーニングデイを体験しよう
Unity教える先生方注目!ティーチャートレーニングデイを体験しようUnity教える先生方注目!ティーチャートレーニングデイを体験しよう
Unity教える先生方注目!ティーチャートレーニングデイを体験しようUnity Technologies Japan K.K.
 
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]DeNA
 
UnityによるAR/VR/MR 開発体験講座
UnityによるAR/VR/MR 開発体験講座UnityによるAR/VR/MR 開発体験講座
UnityによるAR/VR/MR 開発体験講座Yuichi Ishii
 
AndroidのUI設計で押さえておきたいポイント
AndroidのUI設計で押さえておきたいポイントAndroidのUI設計で押さえておきたいポイント
AndroidのUI設計で押さえておきたいポイントTakayuki Inoue
 
Unity用ビジュアルノベルツール「宴3」開発帰還報告書
Unity用ビジュアルノベルツール「宴3」開発帰還報告書Unity用ビジュアルノベルツール「宴3」開発帰還報告書
Unity用ビジュアルノベルツール「宴3」開発帰還報告書Ryohei Tokimura
 
One Step Effects 解説
One Step Effects 解説One Step Effects 解説
One Step Effects 解説MakotoItoh
 
会津IT秋フォーラム2012での講演資料
会津IT秋フォーラム2012での講演資料会津IT秋フォーラム2012での講演資料
会津IT秋フォーラム2012での講演資料Shigeru Kobayashi
 
Unityで始めるバーチャルプロダクション
Unityで始めるバーチャルプロダクションUnityで始めるバーチャルプロダクション
Unityで始めるバーチャルプロダクションUnity Technologies Japan K.K.
 
IoTハンズオン・レクチャー資料
IoTハンズオン・レクチャー資料IoTハンズオン・レクチャー資料
IoTハンズオン・レクチャー資料Yoshihiro Ochi
 
【Unity道場 名古屋SP】Unityのグラフィックス表現の進化とソリューションでの活用
【Unity道場 名古屋SP】Unityのグラフィックス表現の進化とソリューションでの活用【Unity道場 名古屋SP】Unityのグラフィックス表現の進化とソリューションでの活用
【Unity道場 名古屋SP】Unityのグラフィックス表現の進化とソリューションでの活用Unity Technologies Japan K.K.
 
【Unity道場 幕張スペシャル3】「Playground」を魔改造!? ゲームデザイン授業への活用
【Unity道場 幕張スペシャル3】「Playground」を魔改造!? ゲームデザイン授業への活用【Unity道場 幕張スペシャル3】「Playground」を魔改造!? ゲームデザイン授業への活用
【Unity道場 幕張スペシャル3】「Playground」を魔改造!? ゲームデザイン授業への活用Unity Technologies Japan K.K.
 
Unreal Engine 4 勉強会 福岡 2014/05/25
Unreal Engine 4 勉強会 福岡 2014/05/25Unreal Engine 4 勉強会 福岡 2014/05/25
Unreal Engine 4 勉強会 福岡 2014/05/25Daisuke Nakamura
 
Unityの開発環境が生み出す可能性
Unityの開発環境が生み出す可能性Unityの開発環境が生み出す可能性
Unityの開発環境が生み出す可能性MakotoItoh
 

What's hot (20)

Unity tips
Unity tipsUnity tips
Unity tips
 
Unity+ARKitで作る、新しいAR体験
Unity+ARKitで作る、新しいAR体験Unity+ARKitで作る、新しいAR体験
Unity+ARKitで作る、新しいAR体験
 
UnityのMultiplayサービスの得意な事
UnityのMultiplayサービスの得意な事UnityのMultiplayサービスの得意な事
UnityのMultiplayサービスの得意な事
 
第1回 【初心者向け】Unity+Oculus Riftで次世代の3Dゲームを作って感じるワークショップ
第1回 【初心者向け】Unity+Oculus Riftで次世代の3Dゲームを作って感じるワークショップ第1回 【初心者向け】Unity+Oculus Riftで次世代の3Dゲームを作って感じるワークショップ
第1回 【初心者向け】Unity+Oculus Riftで次世代の3Dゲームを作って感じるワークショップ
 
初めてのVR/AR開発をUnityで
初めてのVR/AR開発をUnityで初めてのVR/AR開発をUnityで
初めてのVR/AR開発をUnityで
 
Unity教える先生方注目!ティーチャートレーニングデイを体験しよう
Unity教える先生方注目!ティーチャートレーニングデイを体験しようUnity教える先生方注目!ティーチャートレーニングデイを体験しよう
Unity教える先生方注目!ティーチャートレーニングデイを体験しよう
 
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
 
UnityによるAR/VR/MR 開発体験講座
UnityによるAR/VR/MR 開発体験講座UnityによるAR/VR/MR 開発体験講座
UnityによるAR/VR/MR 開発体験講座
 
AndroidのUI設計で押さえておきたいポイント
AndroidのUI設計で押さえておきたいポイントAndroidのUI設計で押さえておきたいポイント
AndroidのUI設計で押さえておきたいポイント
 
Unity用ビジュアルノベルツール「宴3」開発帰還報告書
Unity用ビジュアルノベルツール「宴3」開発帰還報告書Unity用ビジュアルノベルツール「宴3」開発帰還報告書
Unity用ビジュアルノベルツール「宴3」開発帰還報告書
 
One Step Effects 解説
One Step Effects 解説One Step Effects 解説
One Step Effects 解説
 
会津IT秋フォーラム2012での講演資料
会津IT秋フォーラム2012での講演資料会津IT秋フォーラム2012での講演資料
会津IT秋フォーラム2012での講演資料
 
Unity2019 注目機能まとめ
Unity2019 注目機能まとめUnity2019 注目機能まとめ
Unity2019 注目機能まとめ
 
多機能ボイチャを簡単に導入する方法
多機能ボイチャを簡単に導入する方法多機能ボイチャを簡単に導入する方法
多機能ボイチャを簡単に導入する方法
 
Unityで始めるバーチャルプロダクション
Unityで始めるバーチャルプロダクションUnityで始めるバーチャルプロダクション
Unityで始めるバーチャルプロダクション
 
IoTハンズオン・レクチャー資料
IoTハンズオン・レクチャー資料IoTハンズオン・レクチャー資料
IoTハンズオン・レクチャー資料
 
【Unity道場 名古屋SP】Unityのグラフィックス表現の進化とソリューションでの活用
【Unity道場 名古屋SP】Unityのグラフィックス表現の進化とソリューションでの活用【Unity道場 名古屋SP】Unityのグラフィックス表現の進化とソリューションでの活用
【Unity道場 名古屋SP】Unityのグラフィックス表現の進化とソリューションでの活用
 
【Unity道場 幕張スペシャル3】「Playground」を魔改造!? ゲームデザイン授業への活用
【Unity道場 幕張スペシャル3】「Playground」を魔改造!? ゲームデザイン授業への活用【Unity道場 幕張スペシャル3】「Playground」を魔改造!? ゲームデザイン授業への活用
【Unity道場 幕張スペシャル3】「Playground」を魔改造!? ゲームデザイン授業への活用
 
Unreal Engine 4 勉強会 福岡 2014/05/25
Unreal Engine 4 勉強会 福岡 2014/05/25Unreal Engine 4 勉強会 福岡 2014/05/25
Unreal Engine 4 勉強会 福岡 2014/05/25
 
Unityの開発環境が生み出す可能性
Unityの開発環境が生み出す可能性Unityの開発環境が生み出す可能性
Unityの開発環境が生み出す可能性
 

Viewers also liked

Pepper用課金ボックス「ロボコイン」
Pepper用課金ボックス「ロボコイン」Pepper用課金ボックス「ロボコイン」
Pepper用課金ボックス「ロボコイン」Nishida Kansuke
 
「初めてのWatson」ハンズオン
「初めてのWatson」ハンズオン「初めてのWatson」ハンズオン
「初めてのWatson」ハンズオンKenichi Inoue
 
Experimental Mobile Music - Pd/iOS Workshop
Experimental Mobile Music - Pd/iOS WorkshopExperimental Mobile Music - Pd/iOS Workshop
Experimental Mobile Music - Pd/iOS WorkshopMasayuki Akamatsu
 
Mobius from Maplesoft
Mobius from MaplesoftMobius from Maplesoft
Mobius from MaplesoftEduserv
 
Pepper tech festival_2014_技術セッション応用
Pepper tech festival_2014_技術セッション応用Pepper tech festival_2014_技術セッション応用
Pepper tech festival_2014_技術セッション応用Atelier Akihabara
 
ロボット介護機器設計支援ツール、中坊嘉宏(産総研)
ロボット介護機器設計支援ツール、中坊嘉宏(産総研)ロボット介護機器設計支援ツール、中坊嘉宏(産総研)
ロボット介護機器設計支援ツール、中坊嘉宏(産総研)robotcare
 
Pepper DAYS ☆ -Pepperのいる世界-
Pepper DAYS ☆ -Pepperのいる世界-Pepper DAYS ☆ -Pepperのいる世界-
Pepper DAYS ☆ -Pepperのいる世界-tomomi_pepper
 
Pepperって実際何モノ?
Pepperって実際何モノ?Pepperって実際何モノ?
Pepperって実際何モノ?tomomi_pepper
 
ニンニンPepperアプリ概要と技術説明
ニンニンPepperアプリ概要と技術説明ニンニンPepperアプリ概要と技術説明
ニンニンPepperアプリ概要と技術説明chong song
 
Wo!42号|海外のチャットボットツール事例集
Wo!42号|海外のチャットボットツール事例集Wo!42号|海外のチャットボットツール事例集
Wo!42号|海外のチャットボットツール事例集thinkjam.Inc.
 
Pepperのアプリ開発について - ABC2015 Summer -
Pepperのアプリ開発について - ABC2015 Summer -Pepperのアプリ開発について - ABC2015 Summer -
Pepperのアプリ開発について - ABC2015 Summer -Hirokazu Egashira
 
ArduinoでMidiコントローラーを作ろう
ArduinoでMidiコントローラーを作ろうArduinoでMidiコントローラーを作ろう
ArduinoでMidiコントローラーを作ろうtadfmac
 
AWS Cognitoを実際のアプリで導入してハマったこと
AWS Cognitoを実際のアプリで導入してハマったことAWS Cognitoを実際のアプリで導入してハマったこと
AWS Cognitoを実際のアプリで導入してハマったこと洋一郎 櫻井
 
Wo! vol.38 ロボットの「iPhone」になるか?Pepperの概要
Wo! vol.38 ロボットの「iPhone」になるか?Pepperの概要Wo! vol.38 ロボットの「iPhone」になるか?Pepperの概要
Wo! vol.38 ロボットの「iPhone」になるか?Pepperの概要thinkjam.Inc.
 
IBM Blluemix を Pepper とつないでみよう
IBM Blluemix を Pepper とつないでみようIBM Blluemix を Pepper とつないでみよう
IBM Blluemix を Pepper とつないでみようTakuji Kawata
 
Pepper アプリデベロッパーのための NAO アプリ開発講座1
Pepper アプリデベロッパーのための NAO アプリ開発講座1Pepper アプリデベロッパーのための NAO アプリ開発講座1
Pepper アプリデベロッパーのための NAO アプリ開発講座1Takuji Kawata
 
ロボットのいる生活@enPiT
ロボットのいる生活@enPiTロボットのいる生活@enPiT
ロボットのいる生活@enPiTtomomi_pepper
 

Viewers also liked (20)

Pepper用課金ボックス「ロボコイン」
Pepper用課金ボックス「ロボコイン」Pepper用課金ボックス「ロボコイン」
Pepper用課金ボックス「ロボコイン」
 
Hacking Robotics
Hacking RoboticsHacking Robotics
Hacking Robotics
 
Arduino MIDI Hack
Arduino MIDI HackArduino MIDI Hack
Arduino MIDI Hack
 
Design Implications of the Experience API (Tin Can API)
Design Implications of the Experience API (Tin Can API)Design Implications of the Experience API (Tin Can API)
Design Implications of the Experience API (Tin Can API)
 
「初めてのWatson」ハンズオン
「初めてのWatson」ハンズオン「初めてのWatson」ハンズオン
「初めてのWatson」ハンズオン
 
Experimental Mobile Music - Pd/iOS Workshop
Experimental Mobile Music - Pd/iOS WorkshopExperimental Mobile Music - Pd/iOS Workshop
Experimental Mobile Music - Pd/iOS Workshop
 
Mobius from Maplesoft
Mobius from MaplesoftMobius from Maplesoft
Mobius from Maplesoft
 
Pepper tech festival_2014_技術セッション応用
Pepper tech festival_2014_技術セッション応用Pepper tech festival_2014_技術セッション応用
Pepper tech festival_2014_技術セッション応用
 
ロボット介護機器設計支援ツール、中坊嘉宏(産総研)
ロボット介護機器設計支援ツール、中坊嘉宏(産総研)ロボット介護機器設計支援ツール、中坊嘉宏(産総研)
ロボット介護機器設計支援ツール、中坊嘉宏(産総研)
 
Pepper DAYS ☆ -Pepperのいる世界-
Pepper DAYS ☆ -Pepperのいる世界-Pepper DAYS ☆ -Pepperのいる世界-
Pepper DAYS ☆ -Pepperのいる世界-
 
Pepperって実際何モノ?
Pepperって実際何モノ?Pepperって実際何モノ?
Pepperって実際何モノ?
 
ニンニンPepperアプリ概要と技術説明
ニンニンPepperアプリ概要と技術説明ニンニンPepperアプリ概要と技術説明
ニンニンPepperアプリ概要と技術説明
 
Wo!42号|海外のチャットボットツール事例集
Wo!42号|海外のチャットボットツール事例集Wo!42号|海外のチャットボットツール事例集
Wo!42号|海外のチャットボットツール事例集
 
Pepperのアプリ開発について - ABC2015 Summer -
Pepperのアプリ開発について - ABC2015 Summer -Pepperのアプリ開発について - ABC2015 Summer -
Pepperのアプリ開発について - ABC2015 Summer -
 
ArduinoでMidiコントローラーを作ろう
ArduinoでMidiコントローラーを作ろうArduinoでMidiコントローラーを作ろう
ArduinoでMidiコントローラーを作ろう
 
AWS Cognitoを実際のアプリで導入してハマったこと
AWS Cognitoを実際のアプリで導入してハマったことAWS Cognitoを実際のアプリで導入してハマったこと
AWS Cognitoを実際のアプリで導入してハマったこと
 
Wo! vol.38 ロボットの「iPhone」になるか?Pepperの概要
Wo! vol.38 ロボットの「iPhone」になるか?Pepperの概要Wo! vol.38 ロボットの「iPhone」になるか?Pepperの概要
Wo! vol.38 ロボットの「iPhone」になるか?Pepperの概要
 
IBM Blluemix を Pepper とつないでみよう
IBM Blluemix を Pepper とつないでみようIBM Blluemix を Pepper とつないでみよう
IBM Blluemix を Pepper とつないでみよう
 
Pepper アプリデベロッパーのための NAO アプリ開発講座1
Pepper アプリデベロッパーのための NAO アプリ開発講座1Pepper アプリデベロッパーのための NAO アプリ開発講座1
Pepper アプリデベロッパーのための NAO アプリ開発講座1
 
ロボットのいる生活@enPiT
ロボットのいる生活@enPiTロボットのいる生活@enPiT
ロボットのいる生活@enPiT
 

Similar to フィジカルコンピューティング入門 USB-MIDIベースのPepper-Monakaを使う

ゆうMUG講演「きれいなマイクロソフトは好きですか?」
ゆうMUG講演「きれいなマイクロソフトは好きですか?」ゆうMUG講演「きれいなマイクロソフトは好きですか?」
ゆうMUG講演「きれいなマイクロソフトは好きですか?」Tomokazu Kizawa
 
Microsoft Copilot Studio.pdf
Microsoft Copilot Studio.pdfMicrosoft Copilot Studio.pdf
Microsoft Copilot Studio.pdfTomokazu Kizawa
 
さくらのIoT Platformを使ってみよう ~OSC大阪編~
さくらのIoT Platformを使ってみよう ~OSC大阪編~さくらのIoT Platformを使ってみよう ~OSC大阪編~
さくらのIoT Platformを使ってみよう ~OSC大阪編~法林浩之
 
Free Hardware and Open Processes | フリー・ハードウェアとオープン・プロセス
Free Hardware and Open Processes | フリー・ハードウェアとオープン・プロセスFree Hardware and Open Processes | フリー・ハードウェアとオープン・プロセス
Free Hardware and Open Processes | フリー・ハードウェアとオープン・プロセスChen Dominique
 
さくらのIoT Platformを使ってみよう ~Developers in KOBE編~
さくらのIoT Platformを使ってみよう ~Developers in KOBE編~さくらのIoT Platformを使ってみよう ~Developers in KOBE編~
さくらのIoT Platformを使ってみよう ~Developers in KOBE編~法林浩之
 
AI搭載の新しいBingとEdge
AI搭載の新しいBingとEdgeAI搭載の新しいBingとEdge
AI搭載の新しいBingとEdgeTomokazu Kizawa
 
ソニーのディープラーニングツールで簡単エッジコンピューティング
ソニーのディープラーニングツールで簡単エッジコンピューティングソニーのディープラーニングツールで簡単エッジコンピューティング
ソニーのディープラーニングツールで簡単エッジコンピューティングRyohei Kamiya
 
はじめてのAzure Sphere
はじめてのAzure SphereはじめてのAzure Sphere
はじめてのAzure SphereTomokazu Kizawa
 
GTMF 2016:「KiQ」が拓くゲームサーバの未来 株式会社アトミテック
GTMF 2016:「KiQ」が拓くゲームサーバの未来 株式会社アトミテックGTMF 2016:「KiQ」が拓くゲームサーバの未来 株式会社アトミテック
GTMF 2016:「KiQ」が拓くゲームサーバの未来 株式会社アトミテックGame Tools & Middleware Forum
 
PukiWiki と Raspberry Pi と Arduino を連携させてIoT システムを作ってみた話
PukiWiki と Raspberry Pi と Arduino を連携させてIoT システムを作ってみた話PukiWiki と Raspberry Pi と Arduino を連携させてIoT システムを作ってみた話
PukiWiki と Raspberry Pi と Arduino を連携させてIoT システムを作ってみた話Takashi Yamanoue
 
Microsoft Teamsのライブイベントによるオンライン勉強会 -.NETラボオンライン勉強会の舞台裏-
Microsoft Teamsのライブイベントによるオンライン勉強会 -.NETラボオンライン勉強会の舞台裏-Microsoft Teamsのライブイベントによるオンライン勉強会 -.NETラボオンライン勉強会の舞台裏-
Microsoft Teamsのライブイベントによるオンライン勉強会 -.NETラボオンライン勉強会の舞台裏-Tomokazu Kizawa
 
リコーUCSの開発をリーンスタートアップ的視点でふりかえる
リコーUCSの開発をリーンスタートアップ的視点でふりかえるリコーUCSの開発をリーンスタートアップ的視点でふりかえる
リコーUCSの開発をリーンスタートアップ的視点でふりかえるYohei Yamamoto
 
Windows Subsystem for Linux 2
Windows Subsystem for Linux 2Windows Subsystem for Linux 2
Windows Subsystem for Linux 2Tomokazu Kizawa
 
Project 15 - Algyan May 2022.pdf
Project 15 - Algyan May 2022.pdfProject 15 - Algyan May 2022.pdf
Project 15 - Algyan May 2022.pdfYasuhiroHanda2
 
Unity開発で週イチ呑み会を支える技術
Unity開発で週イチ呑み会を支える技術Unity開発で週イチ呑み会を支える技術
Unity開発で週イチ呑み会を支える技術kazuya noshiro
 
プロトタイピングの潮流とデザイナーへの提言
プロトタイピングの潮流とデザイナーへの提言プロトタイピングの潮流とデザイナーへの提言
プロトタイピングの潮流とデザイナーへの提言Shigeru Kobayashi
 
ソフトウェア開発30年史を振り返りつつ考えるプログラマにとって変わらないもの
ソフトウェア開発30年史を振り返りつつ考えるプログラマにとって変わらないものソフトウェア開発30年史を振り返りつつ考えるプログラマにとって変わらないもの
ソフトウェア開発30年史を振り返りつつ考えるプログラマにとって変わらないものJun Hosokawa
 

Similar to フィジカルコンピューティング入門 USB-MIDIベースのPepper-Monakaを使う (20)

ゆうMUG講演「きれいなマイクロソフトは好きですか?」
ゆうMUG講演「きれいなマイクロソフトは好きですか?」ゆうMUG講演「きれいなマイクロソフトは好きですか?」
ゆうMUG講演「きれいなマイクロソフトは好きですか?」
 
Microsoft Copilot Studio.pdf
Microsoft Copilot Studio.pdfMicrosoft Copilot Studio.pdf
Microsoft Copilot Studio.pdf
 
Azure IoT Edge入門
Azure IoT Edge入門Azure IoT Edge入門
Azure IoT Edge入門
 
さくらのIoT Platformを使ってみよう ~OSC大阪編~
さくらのIoT Platformを使ってみよう ~OSC大阪編~さくらのIoT Platformを使ってみよう ~OSC大阪編~
さくらのIoT Platformを使ってみよう ~OSC大阪編~
 
Free Hardware and Open Processes | フリー・ハードウェアとオープン・プロセス
Free Hardware and Open Processes | フリー・ハードウェアとオープン・プロセスFree Hardware and Open Processes | フリー・ハードウェアとオープン・プロセス
Free Hardware and Open Processes | フリー・ハードウェアとオープン・プロセス
 
さくらのIoT Platformを使ってみよう ~Developers in KOBE編~
さくらのIoT Platformを使ってみよう ~Developers in KOBE編~さくらのIoT Platformを使ってみよう ~Developers in KOBE編~
さくらのIoT Platformを使ってみよう ~Developers in KOBE編~
 
AI搭載の新しいBingとEdge
AI搭載の新しいBingとEdgeAI搭載の新しいBingとEdge
AI搭載の新しいBingとEdge
 
ソニーのディープラーニングツールで簡単エッジコンピューティング
ソニーのディープラーニングツールで簡単エッジコンピューティングソニーのディープラーニングツールで簡単エッジコンピューティング
ソニーのディープラーニングツールで簡単エッジコンピューティング
 
はじめてのAzure Sphere
はじめてのAzure SphereはじめてのAzure Sphere
はじめてのAzure Sphere
 
GTMF 2016:「KiQ」が拓くゲームサーバの未来 株式会社アトミテック
GTMF 2016:「KiQ」が拓くゲームサーバの未来 株式会社アトミテックGTMF 2016:「KiQ」が拓くゲームサーバの未来 株式会社アトミテック
GTMF 2016:「KiQ」が拓くゲームサーバの未来 株式会社アトミテック
 
PukiWiki と Raspberry Pi と Arduino を連携させてIoT システムを作ってみた話
PukiWiki と Raspberry Pi と Arduino を連携させてIoT システムを作ってみた話PukiWiki と Raspberry Pi と Arduino を連携させてIoT システムを作ってみた話
PukiWiki と Raspberry Pi と Arduino を連携させてIoT システムを作ってみた話
 
Microsoft Teamsのライブイベントによるオンライン勉強会 -.NETラボオンライン勉強会の舞台裏-
Microsoft Teamsのライブイベントによるオンライン勉強会 -.NETラボオンライン勉強会の舞台裏-Microsoft Teamsのライブイベントによるオンライン勉強会 -.NETラボオンライン勉強会の舞台裏-
Microsoft Teamsのライブイベントによるオンライン勉強会 -.NETラボオンライン勉強会の舞台裏-
 
WebとIoTとMake
WebとIoTとMakeWebとIoTとMake
WebとIoTとMake
 
リコーUCSの開発をリーンスタートアップ的視点でふりかえる
リコーUCSの開発をリーンスタートアップ的視点でふりかえるリコーUCSの開発をリーンスタートアップ的視点でふりかえる
リコーUCSの開発をリーンスタートアップ的視点でふりかえる
 
Windows Subsystem for Linux 2
Windows Subsystem for Linux 2Windows Subsystem for Linux 2
Windows Subsystem for Linux 2
 
Project 15 - Algyan May 2022.pdf
Project 15 - Algyan May 2022.pdfProject 15 - Algyan May 2022.pdf
Project 15 - Algyan May 2022.pdf
 
Unity開発で週イチ呑み会を支える技術
Unity開発で週イチ呑み会を支える技術Unity開発で週イチ呑み会を支える技術
Unity開発で週イチ呑み会を支える技術
 
Winows 365登場
Winows 365登場Winows 365登場
Winows 365登場
 
プロトタイピングの潮流とデザイナーへの提言
プロトタイピングの潮流とデザイナーへの提言プロトタイピングの潮流とデザイナーへの提言
プロトタイピングの潮流とデザイナーへの提言
 
ソフトウェア開発30年史を振り返りつつ考えるプログラマにとって変わらないもの
ソフトウェア開発30年史を振り返りつつ考えるプログラマにとって変わらないものソフトウェア開発30年史を振り返りつつ考えるプログラマにとって変わらないもの
ソフトウェア開発30年史を振り返りつつ考えるプログラマにとって変わらないもの
 

フィジカルコンピューティング入門 USB-MIDIベースのPepper-Monakaを使う

  • 1. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved フィジカル・コンピューティング入門 USB-MIDIベースのPepper-Monakaを使う August, 29, 2015 室蘭工業大学 桑田喜隆 室蘭工業大学 公開講座
  • 2. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved 自己紹介 2 桑田喜隆(くわたよしたか) kuwata[at]mmm.muroran-it.ac.jp ・フィジカルコンピューティング用のプラットフォームを開発。  CCライセンスで公開中 ・エレキジャックのWebに記事を執筆中 ・著書:「Gainer互換Pepperでフィジカルコンピューティング」 ホームページ http://morecatlab.akiba.coocan.jp/
  • 3. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved フィジカルコンピューティングとは •  フィジカルコンピューティング(Physical Computing)は,「パソ コンを外部の世界につなぎ,コンピュータと人間とのインタラク ションのあり方を研究」する研究分野の一つ� •  これまでのキーボード,マウス,ディスプレイなどを使ったグラ フィカル・ユーザ・インターフェース(GUI)を越えた新しい形式 のインター フェースを作る取り組み� •  パソコンと組み合わせた電子工作のプロトタイプ開発環境とし てもお勧め� 3
  • 4. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved 本日の内容 •  第一部�導入編� §  メイカームーブメント� §  メイカームーブメントの背景� §  プロトタイピング環境� •  第二部�実践編� §  基礎知識� •  Processing� •  Pepper� §  ハンズオン� §  まとめ� 4
  • 5. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved メイカームーブメントとその背景を理解する プロトタイピング環境を理解する 第一部 導入編 5
  • 6. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved Maker movement •  だれもがメーカーになれる時代 §  「Makers – 21世紀の産業革命」、クリス・アンダースン •  デジタルツールを活用したものづくり §  設計ツール §  工作機械 §  外注 •  自宅にいながら、インターネットを介して創作活動を共 有することができる。 §  設計情報の共有 §  ノウハウの共有 6
  • 7. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved メイカームーブメント •  国内最大のDIYの展示会 •  2015年8月1日、2日  •  東京国際展示場西ホールで開催 •  出展者数:380組 •  来場者数:15,000人 •  主催者:オライリージャパン •  参考:http://makezine.jp/event/mft2015/ 7 Maker Faire Tokyo 2015
  • 8. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved 展示物の例 (MTF2014) •  morecat_labでOSSとして 公開している 「MocoLUFA」 をArduino Unoに入れると、 パソコンやiPadのDTMソフ トからケーブル一本でつな げることのできるUSB-MIDI デバイスが作れます。 •  応用例としてミニキーボード、 monomeライクなデバイス、 PSGシンセ等を紹介します。 自分で試したい人向きに、 MocoLUFA入りのArduino UnoやUSB-MIDI開発キット も頒布します。 8 http://morecatlab.akiba.coocan.jp/lab/ index.php/2014/09/mft2014entry/
  • 9. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved 積層型3Dプリンタ •  プラスチック(PLAやABS)を溶かして積層させて形状を構成する •  金型が不要で容易に設計した形状の物体が作成できる •  プロトタイプ作成などに最適 メイカームーブメントの背景 パーソナル(デスクトップ)ファブリケーション 9 RepRapPro Mendel (license: GPL) RepRapWiki(reprap.org)より引用 MakerBot Replicator  www.makerbot.comより引用
  • 10. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved メイカームーブメントの背景 パーソナル(デスクトップ)ファブリケーション 10 Shapeoko – Open Source Hardware Desktop CNC Milling Machine http://www.shapeoko.com/より引用 KitMill Qt100 オリジナルマインド http://www.originalmind.co.jp/products/kitmill_qt よ り引用 デスクトップCNC •  パソコンから制御する工作機械 •  金属、木材などの加工が可能 •  手軽に利用できる
  • 11. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved メイカームーブメントの背景 オープンソースハードウェア •  オープンソースソフトウェア(OSS)のハードウェア版 •  ソース、回路図、ファームウェア、ソフトウェア、素材 一覧、パーツリスト、設計図、基板設計ファイルなど のあらゆる開発情報を公開すると決めたプロジェクト に対する総称 •  定められたライセンスの下に、中身を調べたり、自由 に変更したり、改善できるようにする。 •  オープンソース・ハードウェア(OSHW)の定義1.0 §  http://www.oshwa.org/definition/japanese/ 11
  • 12. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved メイカームーブメントの背景 クラウド・ファンディング •  インターネットを使った資金集めの手段 •  ソーシャル・ファンディングとも呼ばれる。 •  インターネット上で出資を募り、資金集めを実施する。資金集 めが成功した場合、出資者に約束した報酬(初期ロット製品 など)を返す。 •  クラウド・ファンディングを元に企業したスタートアップも多数。 •  大企業のマーケティング手法としても使われる。 例 •  KickStarter (https://www.kickstarter.com/, 米国) •  Makuake (https://www.makuake.com/, 日本) 12
  • 13. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved メイカームーブメントの背景 オンライン・コミュニティおよびSNS •  一般向けだが、メーカ関連でも頻繁に情報交換に使われる §  Twitter  (電子工作クラスター(?)が存在する) §  mixi    (一般向けSNSだが、オンラインコミュニティがある) §  Facebook  §  ニコニコ動画 (工作物の動画を共有する。ニコニコ技術部はミーティ ングを開催) •  開発者向けのオンライン・コミュニティ §  開発プラットフォームに特化したコミュニティサイト •  Arduino, mbed, §  ディストリビュータの提供するコミュニティサイト •  Adafruit, sparkfun §  Thingiverse (3Dデータの共有) §  Github (ソースコードのリポジトリ) §  Hackaday.io (プロジェクトの共有サイト) §  Instructables (www.instructables.com/ 作り方を共有するサイト) 13
  • 14. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved thingiverse •  3Dデータの共有サイト §  データのプレビュー §  データのダウンロード §  3Dプリント方法 §  カスタマイズ方法 •  コミュニティ支援機能 §  LIKES §  COLLECTIONS §  MAKES §  マッシュアップ 14
  • 15. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved thingiverse •  統計情報の提供 §  アクセス数 §  ダウンロード数 §  LIKES数 §  WATCH数 §  COLLECTS数 §  コメント数 §  RIMIX数 15
  • 16. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved メイカームーブメントの背景 市民工房、Fablabなど •  一般市民が誰でも利用出来る工房。工作のための道具、機 械や場所を提供する。 §  FabLab (ファブラボ) §  Hackerspace (ハッカースペース) §  はんだづけカフェ 16
  • 17. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved メイカームーブメントの背景 市民工房、Fablabなど FabLab (ファブラボ) 「ファブラボは、デジタルからアナログまでの多様な工作 機械を備えた、実験的な市民工房のネットワークです。個 人による自由なものづくりの可能性を拡げ、「自分たちの 使うものを、使う人自身がつくる文化」を醸成することを目 指しています。」 http://fablabjapan.org/whatsfablab/  より引用 国内に13個  17
  • 18. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved メイカームーブメントの背景 市民工房、Fablabなど Hackerspace (ハッカースペース) 「ハッカースペースとは、コミュニティによって運営されて いる実際のスペース(場所)です。そこでは、いろんな人に 会ったり一緒にプロジェクトに取り組んだりすることがで きます。東京ハッカースペース(THS)はオープンコミュニ ティラボで、テクノロジーとか、科学、クッキング、ガーデ ニング、デジタルアート、ソーイング等々に興 味を持って いる人たちが同じ趣味を持つ仲間を見つけ、プロジェクト を開始し作業をすることができるインフラも備え持つ場所 です。」 http://quake.tokyohackerspace.org/ より引用 THSは東京都(乃木坂)日本人以外のメンバーが多いコ ミュニティ。   18
  • 19. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved メイカームーブメントの背景 市民工房、Fablabなど はんだづけカフェ  •  はんだづけカフェは、電子工作のための道具や場所をシェア することができるオープン・スペースです。 LEDを光らせたこ ともないような初心者から、電子回路を使ったインタラクティブ な作品を作るアーティスト、 自ら基板を設計してしまうような ギークまで、様々な人が集まって、そこにいる誰かとちょっとし た会話をしたり、買ってきたパーツをハンダ付けしたり、そうい うことができる場所です。    http://handazukecafe.com/ より引用 •  SwitchScience社の提供する電子工作のためのオープンス ペース。秋葉原(東京)。半田ごてやネットワーク環境を提供。 19
  • 20. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved プロトタイピング環境とその動向 電子回路のプロトタイプ環境 §  ラグ板 §  ユニバーサル基板 §  ブレッドボード §  電子ブロック マイコンベースのプロトタイプ環境 §  Arduino §  Gainer §  mbed §  Raspberry Pi §  littlebits §  konashi §  Scratch + センサーボード 20
  • 21. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved 電子ブロック •  学習用に、ブロックに組み込んだ電子部品を組み合わせることで電子回 路を簡単に構成出来るようにしたもの。 •  ラジオや発信機など150種の電子回路が実験出来る。 •  2002年に学研から復刻版が発売された 21 "Gakken EX150". Licensed under CC 表示-継承 3.0 via ウィキメディア・コモンズ - https://commons.wikimedia.org/wiki/ File:Gakken_EX150.jpg#/media/File:Gakken_EX150.jpg "Denshi blocks". Licensed under CC 表示-継承 3.0 via ウィキメディア・コモンズ - https://commons.wikimedia.org/wiki/ File:Denshi_blocks.jpg#/media/File:Denshi_blocks.jpg
  • 22. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved プロトタイピング環境 Arduino(アーデュイーノまたはアルデュイーノ) •  2005年にイタリアで開始されたロボット制御用のプロトタイピング環境 •  専用マイコンボードと開発環境(IDE)により、ハードウェア詳細を意識せずに簡単 に制御できる。 •  シールドと呼ばれる拡張ボードを接続することで、機能を拡張できる。 •  多くのライブラリや作例がインターネット上に公開されており、参考にできる。 •  各種の互換機が作成されており、◯◯duinoと呼ばれている。 ファイル:ARDU-03 02.jpg, Arduino Mega2560.jpg クリエイティブ・コモンズ 表示-継承 2.0 一般ライセンス https://ja.wikipedia.org/wiki/%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB:ARDU-03_02.jpg 公式ホームページ https://www.arduino.cc/ 22
  • 23. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved プロトタイピング環境 Gainer (ゲイナー) •  国産のフィジカルコンピューティング環境で、2006年発表 •  PCにつないだセンサーアクチュエータを制御する方式。 •  開発用言語としてProcessing, MAX/MSP, Flashがサポートされた •  クリエイティブ・コモンズ・ライセンス「表示-非営利-継承 2.1 日本」 公式ホームページ http://gainer.cc/ 中央:Gainer 左:Gainer mini (互換機) 右:Ginger (互換機) 筆者撮影 23
  • 24. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved プロトタイピング環境 mbed(エンベッド) •  2005年に英ARM社のエンジニアによって開始されたプロジェクト •  32ビットのARMプロセッサにより高速処理が可能 •  ブラウザで動作するオンラインIDEによって開発環境をクラウド化。USB メモリとして認識されるmbedにコンパイル結果を書き込むことで開発が 行われる。 •  2013年に発表されたmbed2.0からオープン化された。 •  各社互換機を提供している。 “Mbed RapidPrototypingBoard with NXP LPC1768(ARM Cortex-M3) MCU”. Licensed under CC 表示-継承 3.0 via ウィキメディア・コモンズ 公式ホームページ https://developer.mbed.org/ 24
  • 25. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved プロトタイピング環境 Raspberry Pi (ラズベリーパイ) •  英ラズベリーパイ財団によって学校教育向けに開発されたシ ングルボードコンピュータ(2012年) •  25ドルと低価格。最新版のRaspberry Pi2は35ドル。 •  HDMIディスプレイとキーボードマウスをつなぎ、SDカードか らLinuxを起動することで、パソコンとして使える。 File:Raspberry Pi 2 Model B v1.1 top new.jpg アップロード者: Multicherry CC 表示-継承 4.0 https://ja.wikipedia.org/wiki/ %E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB:Raspberry_Pi_2_Model_B_v1.1_top_new_%28bg_cut_out%29.jpg#/ media/File:Raspberry_Pi_2_Model_B_v1.1_top_new_%28bg_cut_out%29.jpg 公式ホームページ https://www.raspberrypi.org/ 25
  • 26. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved プロトタイピング環境 littlebits (リトルビッツ) •  電子回路の学習用のキット •  モジュールを磁石でつなげることで、電子回路を構成する •  センサー、アクチュエータ。 •  シンセサイザー用のキット等もある。 写真は公式ホームページより引用 26 公式ホームページ http://jp.littlebits.com/
  • 27. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved •  2013年に発売されたiOSデバイス用のツールキット •  BLE(無線環境)を使って、iPhoneやiPadから制御可能。 •  専用アプリを利用してJavaScriptでプログラムできる。 •  無線モジュール以外はオープンソース。 プロトタイピング環境 konashi (こなし) 公式ホームページ http://konashi.ux-xu.com/ 27 写真は公式ホームページより引用
  • 28. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved •  MITメディアラボで開発された子供向けプログラミング言語 •  視覚的にプログラムを組むことができる、「ビジュアルプログ ラミング言語」 •  センサーボードを利用たフィジカルコンピューティング環境 プロトタイピング環境 Scratch(スクラッチ) + センサーボード 28 「なのぼ~ど」 NanoBoard AGを利用した「なのか ~」 http://tiisai.dip.jp/?page_id=935 より引用
  • 29. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved 29 外部の世界 パソコンの世界 センサ アクチュエータ フィジカルコン ピューティング デバイスPPiinnAA == 11 PPiinnBB == 00;;;; フィジカルコンピューティングのアーキテクチャ フィジカルコンピューティングの構成要素 ・ フィジカルコンピューティング・デバイス ・ ファームウエア ・ 関連するライブラリ ・ ソフトウエアの開発環境 開発環境 ライブラリ ファーム ウエア
  • 30. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved 30 外部の世界 パソコン ファームウエア program 書き込み パソコン 外部の世界 program ファームウエア (共通) ファームウエア 変更型 (Arduinoなど) 外部制御型 (Gainerなど) フィジカルコンピューティングデバイスの比較 よりシンプル、 より簡単 高い柔軟性
  • 31. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved 31 アーキテクチャの比較 ファームウエア変更型 外部制御型 実行形態 スタンドアロン PCとの連携 PCとの連携 実装例 ・Arduino ・Wiring[5] ・Gainer ・USB Bit Whacker[6] ・Arduino with Firmata[7] ファームウエ ア開発環境 Arduino (Processing) 組込み済み(不要) ホストPC開発 環境 Processing, Adobe Flash,Max/MSPなど Processing, Adobe Flash, Max/MSPなど
  • 32. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved 電気回路の基礎知識 Processingの基礎知識 基礎知識 32
  • 33. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved Processingとは? •  UCLAでBen Fryらによって設計された言語処理系(開発環 境) •  Javaをベースとしてた、オープンソースソフトウエア •  俗称: Proce55ing, p5 •  プログラマでない、アーティストやデザイナにも使い易いこと を目指す。 •  対話的に美しいCGを作成したり、データのビジュアライズを することが出来る。 •  Windows/MacOSX/Linux用アプリケーションとアプレットの 作成が出来ます。 http://processing.org/ 参考文献:「Processingをはじめよう」 Casey Reas, Ben Fry 著、船田 巧訳、オライリージャパン 33
  • 34. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved メニューバー ツールバー タブ テキストエディタ テキストエリア メッセージエリア Processingのユーザインタフェース 34
  • 35. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved Processingのツールバーの動作 Run: プログラムのコンパイルと実行 Stop: 実行中プログラムの停止 New: 新規スケッチ作成 Open: 既存スケッチを開く Save: スケッチを保存 Export: Applet形式に変換 35
  • 36. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved Processingのプログラムの基本構造 36 /* Hello World from pepper */ import monaka.*; import themidibus.*; monaka pepper; int on = 0; void setup(){ } void draw() { } Void mousePressed() { } コメントは /* */も //も可能 ライブラリのインポート 大域変数の宣言と初期化 setup() 初期化のための関数 draw() 画面描画などの関数 マウスが押されたとき呼 ばれるコールバック関数
  • 37. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved Pepper(もなか)について •  フィジカルコンピューティング用の世界最小プラット フォーム(基盤) •  パソコンからUSB経由で4本のI/Oを制御できます。 •  Pepper(もなか)はMIDIベースで制御するソフトが 入っているバージョンです。 §  無印PepperはGainer互換の別物 •  オープンソースハードウェア(OSHW)として設計情 報はすべて公開されています。 •  Switch Scienceで販売されています。 37
  • 38. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved Pepper(もなか)のソフトウェア •  Pepperもなかは設計情報を全てgithubで公 開しています。 §  https://github.com/kuwatay/monaka •  本日使うプログラムも同じ場所からダウンロー ドできます。 §  https://github.com/kuwatay/monaka/tree/ master/Processing/monaka/Examples 38
  • 39. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved Pepper(もなか)の動作モード •  Pepper(もなか)には複数の動作モードが存 在します。 •  動作モードによって入出力ピンのしようが変化 します。 •  ホストからコマンドで動作モードを指定します。 •  一度設定した動作モードは電源を切っても保 持されます。 39
  • 40. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved Pepper(もなか)の動作モード設定 モード1 モード2 モード3 モード4 モード5 モード6 モード7 モード8 特徴 デジタ ル出力 コンビ ネー ション トリガ 出力 アナロ グ入出 力 デジタ ル入力 アナロ グ入出 力 マトリク ス サーボ 出力 アナロ グ入力 0 0 0 2 0 3 0 2 アナロ グ出力 0 0 0 2 0 1 0 0 デジタ ル入力 0 1 0 0 4 0 0 0 デジタ ル出力 4 2 2(トリ ガ) 0 0 0 0 0 その他 0 TONE START/ STOP CLOCK 0 0 0 2x2 IN 2x2 OUT 2 x SERVO 40
  • 41. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved 動作モードとピンの割り当て 41 USB Tiny85 6番ピン 1番ピン アナログ、デジタルとも 扱う電圧は5Vです。 それ以上の電圧を扱 いたい場合には別に 電子回路を追加する 必要があります。 ピン番号 モード1 モード2 モード3 モード4 モード5 モード6 モード7 モード8 6 GND GND GND GND GND GND GND GND 5 D-Out
 (D#3) D-In
 (D#3) START/ STOP A-In
 (CC#23) D-In
 (D#3) A-In
 (CC#24) COL1 A-In
 (CC#23) 4 D-Out
 (D3) TONE MIDI CLOCK A-Out
 (CC#23) D-In
 (D3) A-Out
 (CC#22) COL0 SERVO
 (CC#23) 3 D-Out
 (C#3) D-Out
 (C#3) Trig-Out
 (C#3) A-Out
 (CC#22) D-In
 (C#3) A-In
 (CC#23) ROW1 SERVO
 (CC#22) 2 D-Out
 (C3) D-Out
 (C3) Trig-Out
 (C3) A-In
 (C#22) D-In
 (C3) A-In
 (CC#24) ROW0 A-In
 (CC#22) 1 +5V +5V +5V +5V +5V +5V +5V +5V
  • 42. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved アナログ入力について •  0Vから5Vの電圧を入力できます。 •  8ビットのアナログーデジタル(AD)変換をします。(128段階) •  1個のAD変換ユニットを切換えて複数のチャンネルを読み取 ります。このため、全く同じ時刻のデータではありません。 42 出力データ 入力電圧(V) 0 0 127 5
  • 43. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved アナログ出力について •  アナログ出力はPulse Width Modulation (PWM)により得てい ます。(128段階) •  十分高い周波数で切換えていますが、雑音が問題になる場合 には、コンデンサなどで平滑化する必要があります。 43 0の場合 63の場合
  • 44. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved 実際にPepperを動かして フィジカル・コンピューティングを体験しよう ハンズオン 44
  • 45. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved ハンズオンの実施手順 1. 部品の確認 2. パソコン接続の確認 3. 音出しによる動作確認 4. 出力 §  Lチカ 5. 入力 §  光センサ §  加速度センサ §  距離センサ 45
  • 46. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved 部品名 規格 数量 備考 部品名 規格 数量 備考 Pepper micro もなか版 1 光センサ CdSセル 5mmタイプ 1 ブレッド ボード 小 1 距離セン サ GP2Y0A2 1YK 1 ジャンパ 線 (15cm) 赤、青、 白、緑、 黒、各3 15 加速度セ ンサモ ジュール KXR94-20 50 1 LED 赤、緑 各2 micro- USBケー ブル Aオス-マ イクロBオ ス 1.5m 1 抵抗 470オー ム 4 ジョイス ティック 2-Axis Joystick 2 抵抗 10Kオー ム 2 圧電ス ピーカー SPT15 1 圧力セン サー FSR-40 2 1 パーツリスト 46
  • 47. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved ブレッドボードのしくみ 47 14a- 14e 14f – 14j はそれぞれ内部でつ ながっています。電源とグランド用にそ れぞれの列は内部で つながっています。 ・リード線を穴に差し込ん で回路を構成します。 ・新しいBBは差し込みの 際に硬いことがあります。 ・なるべく線の下を持って 折れないように真直ぐ差 し込んで下さい。
  • 48. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved パソコン接続の確認(ケーブルを繋ぐ) 48 パソコンのUSBポートに接続する 表面の青色 LEDが点灯 する 注意点 ・直接本体のUSBポートにつなぐ ・HUB経由だと認識されない ・基板の裏側が金属でショートしないようにする
  • 49. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved パソコン接続の確認(Windowsの場合) 49 「STARTメニュー」→ 「コントロールパネル」→ 「デバイスマネージャ」選択 「サウンド、ビデオ、およびゲームコントローラー」に「Pepper-Monaka」があることを確認 Pepper-Monaka をクリック
  • 50. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved パソコン接続の確認(MacOSXの場合) 50 「Appleメニュー」→ 「このMacについて」→ 「システムレポート…」ボタン押下 「USB」→ 「USB装置ツリー」→ 「PEPPER-Monaka」 を確認する
  • 51. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved パソコン接続確認 51 うまく行かない場合 ・ディスクが動いているあら、しばらく待つ。  認識に時間がかかる場合があるため。 ・パソコン本体のコネクタにつなぐ。 ・パソコン本体の別のUSBコネクタを試す。  (USB2.0, USB3.0) 接続の確認が終わったら、一旦ケーブルを抜いて下さい。
  • 52. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved Processingの準備 (1) 52 githubからProcessing用のライブラリをダウンロード。 https://github.com/kuwatay/monaka/tree/master/Processing/dist/libraries.zip 1. Rawを押してダウンロードする 2. libraries.zipをダウンロード フォルダに保存する。
  • 53. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved Processingの準備 (2) 53 Processing用のフォルダを作成 (既にあれば作成不要) •  Windowsの場合 「ドキュメント-> Processing」 •  MacOSXの場合 「書類 -> Processing」 Githubからダウンロードしたlibraries.zipをProcessing用のフォルダに移動 libraries.zipを展開 3個のフォルダが作成されていることを確認
  • 54. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved Processingの起動 54 Processingが導入済みであることが前提です。 1. WinsowsメニューからProcessingを選択 2. 画面中央にウインドウが出る
  • 55. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved 演習1:音階を出そう パソコンからのMIDI出力 55 パソコン Processing 圧電スピーカ 波形 (音階) Processing から プログラム Pepper MIDIデー タ MIDIを扱える DTMプログラムで も大丈夫 簡易なMIDI音源になります。 (矩形波、単音出力)
  • 56. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved 演習1:音階を出そう(続き) 56 圧電スピーカをPepperにつなぐ。 実体配線図 回路図
  • 57. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved 演習1:音階を出そう(続き) 57 配線の方法 実体配線図 ブレッドボード上で右の実体配線図よ うに配線してください。 (1) ブレッドボードにPepperをさしこむ。 (2) 圧電ブザーのケーブルをPepper の4番ピンと6番ピンにつなぐ。 (極性はないので、どちらでも良い) (3) micro USBケーブルでPepperを PCにつなぐ。
  • 58. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved 実行手順 ・Processingを立ち上げる ・プログラムを開く  Processing -> libraries -> monaka -> Examples -> monaka_mode2.pde ・実行する(▶) ・PCのキーボードを押すと音が出る (簡単な演奏できます) 演習1:音階を出そう(続き) 58
  • 59. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved 演習1:音階を出そう(続き) 59 ド レ ミ ファ ソ ラ シ ド ド# レ# ファ# ソ# ラ# パソコンキーボードと鍵盤の対応 プログラムの中に、対応表を持っています。 プログラムを改造すれば、音程を拡張したり自分の好きな配 置にすることも出来ます。
  • 60. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved 演習1:応用アイデア 60 もなかはMIDI規格をベースに通信を行います。 DTMソフトから音程を出すことで、プログラムを使わずに制御 することもできます。 WindowsのDominioの例 http://takabosoft.com/domino 「もなかはMIDIベース」
  • 61. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved 演習2:LEDを点滅しよう パソコンからのデータ出力 61 パソコン Processing アクチュエータ アナログ 電圧 Processing から プログラム Pepper アナログ データ 発光ダイオード (LED) ソレノイド モーター リレー ランプ ...
  • 62. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved 62 演習2−1:LEDを点滅しよう 配線図 足の長い方が プラス(+) Pepper 1番ピン Pepper 6番ピン 実体配線図 抵抗は足を曲 げる Pepper2番ピ ンにつなぐ LEDを1つだけつないで制御します。 回路図 【電流制限抵抗】 470オーム
  • 63. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved Hello World ! 001 // 002 // Pepper-monaka mode:1 test 003 // Four digital out 004 // 005 006 import monaka.*; 007 import themidibus.* 008 009 monaka pepper; 010 011 void setup() { 012 size(400,400); 013 background(0); 014 015 pepper = new monaka(1); 016 } 017 63 Monake_LED1.pde 018 void draw() { 019 020 if (mousePressed == true) { 021 fill(0); 022 pepper.digitalOutput(0, 1); 023 } else { 024 fill(255); 025 pepper.digitalOutput(0, 0); 026 } 027 } pepperを制御するオブジェク ト(モード1)を設定します。 押されていなければ、 デジタル出力0に値を 出力します。 マウスが押されたら デジタル出力1に値を 出力します。
  • 64. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved Hello Worldの実行例 64 実行時には消灯して います マウス左クリックで LEDが点灯します
  • 65. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved 65 演習2−2:LEDを点滅しよう 配線図 回路図 実体配線図 グランドの配 線を追加する Pepper3番ピ ンにつなぐ もう一回路追 加する 1個LEDを増設して、2つのLEDを制御します。
  • 66. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved 001 import monaka.*; 002 import themidibus.*; 003 004 monaka pepper; 005 006 void setup() { 007 size(400,400); 008 background(0); 009 010 pepper = new monaka(1); 011 } 012 013 void draw() { 014 if (mousePressed == true) { 015 background(255); 016 fill(0); 017 if (mouseButton == LEFT) 018 pepper.digitalOutput(0, 1); 019 if (mouseButton == RIGHT) 020 pepper.digitalOutput(1, 1); 021 } else { 022 background(0); 023 fill(255); 024 if (mouseButton == LEFT) 025 pepper.digitalOutput(0, 0); 026 if (mouseButton == RIGHT) 027 pepper.digitalOutput(1, 0); 028 } 029 } Hello World ! 2.0 66 monaka_LED2.pde マウスのボタン(右)、ボ タン(左)の状態によって 点灯するLEDを変更す る
  • 67. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved Hello World 2.0の動作 67 実行時には消灯して います マウス左クリックで赤 LEDが点灯します マウス右クリックで緑 LEDが点灯します
  • 68. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved 演習2:応用アイデア •  ナイトライダー §  Pepperのモード1はデジタル出力が4個とれます。 §  LEDを4個を使って、ナイトライダーを作れます。 •  ルーレット §  ナイトライダーの応用です。キーボードから回転を 止めましょう。 •  メールのお知らせアプリ §  メールが来たらLEDが点灯する §  メールサーバとの通信が必要になります。 68
  • 69. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved 演習2:センサで測ろう パソコンへのデータ取り込み 69 パソコン Processing センサなど アナログ 電圧 Pepper アナログ データ 光センサ 距離センサ 加速度センサ 温度センサ ガスセンサ .... Processingから プログラム
  • 70. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved 光センサ(CdS)とは 70 CdSセル(硫化カドミウムセル) ■光の量により抵抗値が変わります。 明るくなると抵抗値が小さくなります。 暗くなると抵抗値が大きくなります。 ■価格が安く多用されていましたが、 近年環境への配慮から半導体のセ ンサに置き換えられています。 明るい場合 暗い場合
  • 71. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved 演習3 71 実体配線図 Pepper2番ピ ンにつなぐ USB CdSセルを使って明るさを測定します。 電源:Pepper 1番ピンにつ なぐ CdSセル 回路図 10Kオームで分圧して、 アナログ入力に入れる ・配線をする場合には、必ずパソコンからUSBを抜くこと ・USBを差し込む前に配線を十分確認すること
  • 72. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved 明るさの測定プログラム 001 import monaka.*; 002 import themidibus.*; 003 004 monaka pepper; 005 PFont myFont; 006 007 void setup() { 008 size(250,250); 009 background(0); 010 011 pepper = new monaka(4); 012 myFont = loadFont("CourierNewPSMT-24.vlw"); 013 textFont(myFont, 24); 014 015 frameRate(20); 016 } 017 018 void draw() { 019 background(0); 020 text("Analog[0] = "+ pepper.analogInput(0), 30, 125); 021 text("Analog[1] = "+ pepper.analogInput(1), 30, 145); 022 } 023 72 monaka_analogin2.pde アナログ入力で読み込んだ 値を画面に表示する。 Monakaをモード4に設定 画面のフィレームレートを20 の設定
  • 73. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved 演習3:明るさの測定 73 Analog[0]が光センサの値。 明るいほど小さくなる。 monaka_analohin2.pde
  • 74. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved 光センサの応用 •  自動調光 §  光センサに応じてLEDの明るさを変える •  音楽演奏 §  音楽演奏の入力装置として使う §  テルミン風の楽器 •  データロガー §  センサの記録を取る §  インターネットサイトにログデータを送る §  Twitterで呟く。 74
  • 75. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved 回路図 実体配線図 Pepper2番ピ ンにつなぐ CdSセルを使って測定した明るさでLEDを制御します。 光センサの応用:調光器 75 LED回路を増 設する USB LED回路を増 設する
  • 76. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved 調光器 001 import monaka.*; 002 import themidibus.*; 003 004 monaka pepper; 005 PFont myFont; 006 007 void setup() { 008 size(250,250); 009 background(0); 010 011 pepper = new monaka(4); 012 myFont = loadFont("CourierNewPSMT-24.vlw"); 013 textFont(myFont, 24); 014 frameRate(20); 015 } 76 016 017 void draw() { 018 int v = pepper.analogInput(0); 019 background(0); 020 text("Analog[0] = "+ pepper.analogInput(0), 30, 135); 021 text("Analog[1] = "+ pepper.analogInput(1), 30, 155); 022 023 // LED Control 024 pepper.analogOutput(0, v); 025 } 026 アナログ入力で読み込んだ値 をそのままアナログ出力に出 している。 LEDautolight.pde
  • 77. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved 光センサの応用:SoundDemo 77 001 /* sound demo with soundclipher */ 002 003 import arb.soundcipher.*; 004 import monaka.*; 005 import themidibus.*; 006 007 PFont myFont; 008 monaka pepper; 009 SoundCipher sc = new SoundCipher(this); 010 011 int cnt = 0; 012 013 void setup() { 014 size(250,250); 015 pepper = new monaka(4); 016 myFont = loadFont("CourierNewPSMT-24.vlw"); 017 textFont(myFont, 24); 018 frameRate(8); 019 } 020 SoundDemo.pde 021 void draw() { 022 int v; 023 v = pepper.analogInput(1); // read analog port 024 background(v*2); // Display Control 025 fill(255, 0, 0); 026 text("Analog[0] = " + v ,30, 135); 027 text("Analog[1] = "+ pepper.analogInput(0), 30, 155); 028 if (++cnt >= 8) { 029 sc.instrument(random(80)); 030 cnt = 0; 031 } 032 // sc.instrument(1); 033 // sc.playNote(random(40) + 60 - v/2, random(50) + 70, 0.2); 034 // sc.playNote( 60 - v/4, random(50) + 70, 0.2); 035 sc.playNote( 60 - v/4, pepper.analogInput(0)/2 + 70, 0.2); 036 037 } Soundcipherパッケージを使った簡単なデモ。 センサの値によって、音程が変わります。 http://explodingart.com/soundcipher/
  • 78. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved 距離センサとは 78 距離センサは測定した距離を電圧で出力します。 シャープの測距モジュール。 ・赤外線LEDとPSD(position sensitive detector) を使用して、非接触で距離を検出す ることができます。 ・測定した距離をアナログ電圧で出力します。 ■測距範囲:10〜80cm ■出力:アナログ電圧出力 ■寸法:29.5×13×13.5mm ■用途:ロボット・アミューズメント等 ■電源:4.5〜5.5V
  • 79. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved 距離センサを使う回路 79 回路図 実体配線図 付属のケーブ ルの色に注意 距離センサを使って、物体までの距離を測定します。 極性を間違える と、センサが壊れ ます!! USB 端子をつなぐだけ。ただ し、ケーブルの色注意
  • 80. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved 距離センサを使うプログラム 80 monaka_analogin1.pde 付属のケーブ ルの色に注意 測定結果が表 示される。 センサに手を かざすと値 が変わる
  • 81. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved 81 加速度センサ 加速度センサは、携帯電話やゲーム機などで利 用されています。 X、Y、Zの3軸の加速度が測定できます。 出力はアナログ電圧で、電源電圧の半分のオフ セットが付きます。 ■カイオニクス社 ローノイズ3軸加速度センサ ■XYZ ±2g ■アナログ出力 感度:660mV/G ■オフセット 1.65V(0g:3.3V時) ■電源電圧:3.3〜5V(標準:3.3V) ■周波数範囲:50〜1000Hz
  • 82. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved 回路図 実体配線図 加速度センサの回路図 82 USB 1番ピンをこち らにする 3軸加速度センサ モジュール  KXR94-2050 1 4 5 8
  • 83. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved 001 import monaka.*; 002 import themidibus.*; 003 004 monaka pepper; 005 PFont myFont; 006 007 void setup() { 008 size(250,250); 009 background(0); 010 011 pepper = new monaka(6); 012 myFont = loadFont("CourierNewPSMT-24.vlw"); 013 textFont(myFont, 24); 014 015 frameRate(20); 016 } 017 018 void draw() { 019 background(0); 020 text("Analog[0] = "+ pepper.analogInput(0), 30, 105); 021 text("Analog[1] = "+ pepper.analogInput(1), 30, 125); 022 text("Analog[2] = "+ pepper.analogInput(2), 30, 145); 023 } 024 加速度センサプログラム 83 アナログ入力を3個使う ため、モード6を指定しま す。 3個の値を読み込んで 表示します。 monaka_analogin3.pde
  • 84. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved 加速度センサの実装例 84 時間軸に沿って、値をプロット すると面白いです。 Processingのライブラリを使っ てプロットするのも良いと思い ます。 SimpleScope3ch.pde
  • 85. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved 加速度センサの応用 85 ボールの動きを加速度セン サーでコントロールできます。 マウスでクリックすると画面中 央にボールが戻ります。 rolling.pde
  • 86. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved ジョイスティック 86 ジョイスティックは、携帯ゲーム機などで利用され ています。 X、Yの2軸の位置(回転角)が測定できます。 抵抗体なので、片側を電源に片側をアースに接 続して利用します。 ■PARALLAX社 2軸ジョイスティック ■電源仕様 0.01W 10VDC最大 ■インタフェース 10KΩポテンショメータ(グランド 共通) ■動作温度 0℃から70℃ ■大きさ 41.67mm x 25.56mm x 27.94mm 外観 接続図
  • 87. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved 実体配線図 ジョイスティック 87 回路図 加速度センサーと同じプロ グラムが動作します。 (但し、2軸の情報のみ)
  • 88. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved 88 圧力センサ 外観 特性 内部構造 高分子厚膜フィルムを利用したセン サーで、センサ部に圧力を加えると 抵抗値が減少する。 ・厚さ:0.20~1.25mm
 ・感圧範囲:0.2N~20N
 ・最小感度:20g~100g
  • 89. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved 圧力センサ 89 回路図 CdSと同じプログラムが動 作します。 実体配線図
  • 90. Copyright (C) 2015 by Yoshitaka Kuwata All Rights Reserved まとめ •  フィジカルコンピューティングの概要 •  Pepperの使い方 •  ハンズオン §  LED制御(Lチカ) §  光センサ §  距離センサ §  加速度センサ •  次のステップ §  他の言語処理系から使う(WebMIDI API, Ruby, VB…) §  オリジナルのアプリケーション作成 90