SlideShare a Scribd company logo
1 of 56
Download to read offline
Arduino × Unity
2013年4月27日
さいたま勉強会
13年5月4日土曜日
Arduinoとは
13年5月4日土曜日
イタリア製マイコンチップ
入出力ポートを備えた基板、C言語風の
Arduino言語とそれの統合開発環境から構成さ
れるシステム。Arduino はスタンドアロン型
のインタラクティブデバイス開発だけでな
く、ホストコンピュータ上のソフトウェア
(例えば、Adobe Flash、Processing、Max/
MSP、Pure Data、SuperCollider)で制御する
こともできる。組み立て済みの基板を購入す
ることもできるが、オープンソースハードウ
ェアであり、ハードウェア設計情報のEAGLE
ファイルは無料で公開されており、誰でも自
分の手で Arduino を組み立てることができ
る。(Wikiより抜粋)
13年5月4日土曜日
イタリア製マイコンチップ
入出力ポートを備えた基板、C言語風の
Arduino言語とそれの統合開発環境から構成さ
れるシステム。Arduino はスタンドアロン型
のインタラクティブデバイス開発だけでな
く、ホストコンピュータ上のソフトウェア
(例えば、Adobe Flash、Processing、Max/
MSP、Pure Data、SuperCollider)で制御する
こともできる。組み立て済みの基板を購入す
ることもできるが、オープンソースハードウ
ェアであり、ハードウェア設計情報のEAGLE
ファイルは無料で公開されており、誰でも自
分の手で Arduino を組み立てることができ
る。(Wikiより抜粋)
13年5月4日土曜日
電源 5V
デジタルIN∼OUT (5Vの電流でHIGH、LOW)
アナログIN(入力された電圧に対し、値を返す)
PWM出力(パルス幅変調)
主な入出力
13年5月4日土曜日
販売中のArduino
Arduino UNO3
Arduino mini
Arduino Due
LilyPad Arduino USB
13年5月4日土曜日
販売中のArduino
Arduino UNO3
Arduino mini
Arduino Due
LilyPad Arduino USB
13年5月4日土曜日
販売中のArduino
Arduino UNO3
Arduino mini
Arduino Due
LilyPad Arduino USB
Arduino Esplora New!
13年5月4日土曜日
送料180円、3000円以
上無料
支払いは各種クレジッ
トカード、PayPal、振
込、代引き
13年5月4日土曜日
送料180円、3000円以
上無料
支払いは各種クレジッ
トカード、PayPal、振
込、代引き
13年5月4日土曜日
シールド、Gloove
ピン配列を考慮した、カセ
ットのような回路基板。
GROVEは配線済みみの電
子パーツがそのまま使用で
きるシールド。はんだ付け
不要。
13年5月4日土曜日
シールド、Gloove
ピン配列を考慮した、カセ
ットのような回路基板。
GROVEは配線済みみの電
子パーツがそのまま使用で
きるシールド。はんだ付け
不要。
13年5月4日土曜日
Make−Arduino
13年5月4日土曜日
Arduinoでゲーム用コントローラーを作る
ハードとソフトをセットにする
13年5月4日土曜日
ソフト専用コントローラー
ファミコンであった「ハ
イパーオリンピック」の
ような専用コントローラ
ーをArduinoで作る
ゲームの設定のチューニ
ングに外部コントローラ
ーを使用する
13年5月4日土曜日
ソフト専用コントローラー
ファミコンであった「ハ
イパーオリンピック」の
ような専用コントローラ
ーをArduinoで作る
ゲームの設定のチューニ
ングに外部コントローラ
ーを使用する
13年5月4日土曜日
市販のコントローラーと連動
Wiiヌンチャクを
Arduinoを介してゲー
ムに使用(I2C)
Kinectをハッキングし
連動
13年5月4日土曜日
市販のコントローラーと連動
Wiiヌンチャクを
Arduinoを介してゲー
ムに使用(I2C)
Kinectをハッキングし
連動
13年5月4日土曜日
ゲーム設定の
チューニング用コントローラー
ゲーム内の設定(ジャン
プの高さ、動くスピー
ドなど)をゲーム実行
中にリアルタイムで設
定を変更させる。
13年5月4日土曜日
Unityとの連動方法(シリアル通信)
コントローラーからの信号
13年5月4日土曜日
Arduino側設定
13年5月4日土曜日
シリアル通信命令一覧
Serial.begin(通信速度)    
void setup()に記載。初期化と通
信速度設定。
変数 = Serial.read()      
受信済みの1バイトを読込む(int
型)
Serial.print(データ)      
文字列・数値を出力(整数の
み)
Serial.println(データ)  
Serial.print+改行
変数 = Serial.available()    
バッファ中のバイト数(int型)
Serial.flush()         
読み込みバッファのフラッシュ
]
13年5月4日土曜日
シリアル通信命令一覧
Serial.begin(通信速度)    
void setup()に記載。初期化と通
信速度設定。
変数 = Serial.read()      
受信済みの1バイトを読込む(int
型)
Serial.print(データ)      
文字列・数値を出力(整数の
み)
Serial.println(データ)  
Serial.print+改行
変数 = Serial.available()    
バッファ中のバイト数(int型)
Serial.flush()         
読み込みバッファのフラッシュ
]
13年5月4日土曜日
シリアル通信命令一覧
Serial.begin(通信速度)    
void setup()に記載。初期化と通
信速度設定。
変数 = Serial.read()      
受信済みの1バイトを読込む(int
型)
Serial.print(データ)      
文字列・数値を出力(整数の
み)
Serial.println(データ)  
Serial.print+改行
変数 = Serial.available()    
バッファ中のバイト数(int型)
Serial.flush()         
読み込みバッファのフラッシュ
]
13年5月4日土曜日
スケッチ
サンプルスケッチ
のAnalog Inputを
呼び出す
Serial.beginと
Serial.printlnを追記
int sensorPin = A0; //ボリューム
int ledPin = 13; //LED
int sensorValue = 0; //ボリュームから読み取った値
void setup() {
pinMode(ledPin, OUTPUT); //LEDの出力設定
Serial.begin(9600); //シリアルポート設定
}
void loop() {
sensorValue = analogRead(sensorPin);
Serial.println(sensorValue); //値を出力
digitalWrite(ledPin, HIGH);
delay(sensorValue);
digitalWrite(ledPin, LOW);
delay(sensorValue);
}
13年5月4日土曜日
スケッチ
サンプルスケッチ
のAnalog Inputを
呼び出す
Serial.beginと
Serial.printlnを追記
int sensorPin = A0; //ボリューム
int ledPin = 13; //LED
int sensorValue = 0; //ボリュームから読み取った値
void setup() {
pinMode(ledPin, OUTPUT); //LEDの出力設定
Serial.begin(9600); //シリアルポート設定
}
void loop() {
sensorValue = analogRead(sensorPin);
Serial.println(sensorValue); //値を出力
digitalWrite(ledPin, HIGH);
delay(sensorValue);
digitalWrite(ledPin, LOW);
delay(sensorValue);
}
13年5月4日土曜日
スケッチ
サンプルスケッチ
のAnalog Inputを
呼び出す
Serial.beginと
Serial.printlnを追記
int sensorPin = A0; //ボリューム
int ledPin = 13; //LED
int sensorValue = 0; //ボリュームから読み取った値
void setup() {
pinMode(ledPin, OUTPUT); //LEDの出力設定
Serial.begin(9600); //シリアルポート設定
}
void loop() {
sensorValue = analogRead(sensorPin);
Serial.println(sensorValue); //値を出力
digitalWrite(ledPin, HIGH);
delay(sensorValue);
digitalWrite(ledPin, LOW);
delay(sensorValue);
}
13年5月4日土曜日
配線
通常のAnalogInputと同
様A0とD13ポートを使
用
ボリュームのどちらで
もいいので、両端のピ
ンを+とーに接続、真
ん中のピンをA0に接続
13年5月4日土曜日
配線
通常のAnalogInputと同
様A0とD13ポートを使
用
ボリュームのどちらで
もいいので、両端のピ
ンを+とーに接続、真
ん中のピンをA0に接続
13年5月4日土曜日
書き込んだ後シリアルモニターを起動
IDEの右上、虫眼
鏡のボタンをクリ
ック
のような画面が
出てきてArduino
からの値が書き出
されていく
13年5月4日土曜日
書き込んだ後シリアルモニターを起動
IDEの右上、虫眼
鏡のボタンをクリ
ック
のような画面が
出てきてArduino
からの値が書き出
されていく
13年5月4日土曜日
Unity側設定
13年5月4日土曜日
注意事項
C#のSerialPortのイベントハンドラが使えない
シリアルポートにSystem.IO.Portsを使用しているが、
Unity標準の.NET 2.0 Subsetには含まれていない
13年5月4日土曜日
System.IO.Ports設定
Edit->Project Settings->Playerを開きます
Optimization- > Api Compatible Levelを .NET 2.0にし
ます
13年5月4日土曜日
System.IO.Ports設定
Edit->Project Settings->Playerを開きます
Optimization- > Api Compatible Levelを .NET 2.0にし
ます
13年5月4日土曜日
コーディング(C#)
13年5月4日土曜日
コーディング(C#)
編集中
13年5月4日土曜日
Uniduino
AssettStore
13年5月4日土曜日
Uniduinoとは
13年5月4日土曜日
13年5月4日土曜日
UnityとArduinoを簡単に接続!
シリアル値でのやり取
りが安定しない中、ア
セットを介す事で手軽
に接続が可能!
名古屋に出現した4D
映画館がゲームで再
現!
13年5月4日土曜日
Uniduinoでの利便性
13年5月4日土曜日
Uniduinoでの利便性
Firmataを書き込んでし
まうのでArduinoで処
理させたい事がオブジ
ェクトの仕様に依存す
る
既存のArduinoライブ
ラリが使用出来ない
13年5月4日土曜日
Uniduinoデモ映像
13年5月4日土曜日
Uniduinoデモ映像
13年5月4日土曜日
それではUniduino実装
ここでもLチカ!
13年5月4日土曜日
注意事項
アセットストアからリソースを全てダウンロード
System.IO.Portsの設定はこちらでも必要
イベントハンドラの問題もあるので、Arduinoへの命令はコルーチンで
コルーチン内でコーディングするので、Arduinoのスケッチとは形式が
異なる
ArduinoへはStanderdFirmataを書き込むので、Arduino側で設定したい
内容はC#でコーディングが必要。(Arduino標準のライブラリは使えな
い?)
13年5月4日土曜日
Uniduinoの設定
UniduinoAssett内
の、プレハブをヒ
エラルキーへドラ
ッグ&ドロップ
空のオブジェクト
を配置し、C#スク
リプト作成の後オ
ブジェクトへ実装
13年5月4日土曜日
コーディング
3行目でUniduinoを使
用する宣言
11行目でコルーチンの
設定
Arduinoへの命令は18行
目以降の内容になりま
す。
13年5月4日土曜日
実行
通常の実行として、再
生ボタンを押します
例によって13番ポート
に直結した表面実装の
LEDが光りだします
13年5月4日土曜日
Getting Started
Demo Scene
13年5月4日土曜日
Getting Started
EDWONで用意された
テスト用シーン
Uniduino UniduinoTes
tPanel UniduinoTestP
anel.unityを開く
実行ボタン押下
13年5月4日土曜日
Pin設定、配線
今回もAnarogInputの配線を使用
アナログ0番ピンでボリュームの値を取得
実行したUniduinoTestPanel画面のD14/A0ピンのANALOG、
Analogボタンを押下
取得した値が表示
13年5月4日土曜日
今後の課題
13年5月4日土曜日
不安定な部分の検証、利便性向上
シリアルポートの仕様を引き続き調査
Firmataを使用してもArduino側でのライブラリ実装の仕様を
確立
画面上からは読み取れない情報をLCDディスプレイに表示
ゲーム内の設定を左右するスイッチ(レースゲームだとブース
トなど)を設定しゲーム制作
ゲーム内の環境が肌で感じられるハード制作(4Dゲーム)
13年5月4日土曜日
ご清聴、有り難うございました!
13年5月4日土曜日

More Related Content

Similar to 20130427 さいたま勉強会

クラウドコミュニケーションAPI Twilio&sakura.io体験ハンズオン 20180312
クラウドコミュニケーションAPI Twilio&sakura.io体験ハンズオン 20180312クラウドコミュニケーションAPI Twilio&sakura.io体験ハンズオン 20180312
クラウドコミュニケーションAPI Twilio&sakura.io体験ハンズオン 20180312さくらインターネット株式会社
 
Arduino実践 資料1/2 〜【html5j エンタメ技術部】第2回勉強会 公開用
Arduino実践 資料1/2 〜【html5j エンタメ技術部】第2回勉強会 公開用Arduino実践 資料1/2 〜【html5j エンタメ技術部】第2回勉強会 公開用
Arduino実践 資料1/2 〜【html5j エンタメ技術部】第2回勉強会 公開用yo-to
 
Arduinoが拓く「新しいものづくりの世界」120713(robotechセミナー)
Arduinoが拓く「新しいものづくりの世界」120713(robotechセミナー)Arduinoが拓く「新しいものづくりの世界」120713(robotechセミナー)
Arduinoが拓く「新しいものづくりの世界」120713(robotechセミナー)Takayori Takamoto
 
arduino入門 #0
arduino入門 #0arduino入門 #0
arduino入門 #0Ryo Niioka
 
プログラマの為のESP-WROOM-02開発ボード組み立て
プログラマの為のESP-WROOM-02開発ボード組み立てプログラマの為のESP-WROOM-02開発ボード組み立て
プログラマの為のESP-WROOM-02開発ボード組み立てNaoto Miyachi
 
SmartARの使い方(基本編)
SmartARの使い方(基本編)SmartARの使い方(基本編)
SmartARの使い方(基本編)Takashi Yoshinaga
 
Open Design Computer Project - Tsukuba.pm
Open Design Computer Project - Tsukuba.pmOpen Design Computer Project - Tsukuba.pm
Open Design Computer Project - Tsukuba.pmHirotaka Kawata
 
2014 0228 OSC-Spring Tokyo NETMF
2014 0228 OSC-Spring Tokyo NETMF2014 0228 OSC-Spring Tokyo NETMF
2014 0228 OSC-Spring Tokyo NETMFAtomu Hidaka
 
タブレインの3Gシールドを用いてArduinoからツイートする方法 β版
タブレインの3Gシールドを用いてArduinoからツイートする方法 β版タブレインの3Gシールドを用いてArduinoからツイートする方法 β版
タブレインの3Gシールドを用いてArduinoからツイートする方法 β版Katsuhiro Morishita
 
Open design computer project(boost)
Open design computer project(boost)Open design computer project(boost)
Open design computer project(boost)Ito Takahiro
 
2016年11月19日 AITCシニア技術者勉強会 第1回「Arduinoを使ってみる」
2016年11月19日 AITCシニア技術者勉強会 第1回「Arduinoを使ってみる」 2016年11月19日 AITCシニア技術者勉強会 第1回「Arduinoを使ってみる」
2016年11月19日 AITCシニア技術者勉強会 第1回「Arduinoを使ってみる」 aitc_jp
 
2014 1018 OSC-Fall Tokyo NETMF
2014 1018 OSC-Fall Tokyo NETMF2014 1018 OSC-Fall Tokyo NETMF
2014 1018 OSC-Fall Tokyo NETMFAtomu Hidaka
 
マイコンボード色々 2017.03
マイコンボード色々 2017.03マイコンボード色々 2017.03
マイコンボード色々 2017.03Hirokazu Tokuno
 

Similar to 20130427 さいたま勉強会 (20)

クラウドコミュニケーションAPI Twilio&sakura.io体験ハンズオン 20180312
クラウドコミュニケーションAPI Twilio&sakura.io体験ハンズオン 20180312クラウドコミュニケーションAPI Twilio&sakura.io体験ハンズオン 20180312
クラウドコミュニケーションAPI Twilio&sakura.io体験ハンズオン 20180312
 
Arduino実践 資料1/2 〜【html5j エンタメ技術部】第2回勉強会 公開用
Arduino実践 資料1/2 〜【html5j エンタメ技術部】第2回勉強会 公開用Arduino実践 資料1/2 〜【html5j エンタメ技術部】第2回勉強会 公開用
Arduino実践 資料1/2 〜【html5j エンタメ技術部】第2回勉強会 公開用
 
Koedo84
Koedo84Koedo84
Koedo84
 
Arduinoが拓く「新しいものづくりの世界」120713(robotechセミナー)
Arduinoが拓く「新しいものづくりの世界」120713(robotechセミナー)Arduinoが拓く「新しいものづくりの世界」120713(robotechセミナー)
Arduinoが拓く「新しいものづくりの世界」120713(robotechセミナー)
 
arduino入門 #0
arduino入門 #0arduino入門 #0
arduino入門 #0
 
Ide env
Ide envIde env
Ide env
 
LattePandaの紹介
LattePandaの紹介LattePandaの紹介
LattePandaの紹介
 
プログラマの為のESP-WROOM-02開発ボード組み立て
プログラマの為のESP-WROOM-02開発ボード組み立てプログラマの為のESP-WROOM-02開発ボード組み立て
プログラマの為のESP-WROOM-02開発ボード組み立て
 
SmartARの使い方(基本編)
SmartARの使い方(基本編)SmartARの使い方(基本編)
SmartARの使い方(基本編)
 
Open Design Computer Project - Tsukuba.pm
Open Design Computer Project - Tsukuba.pmOpen Design Computer Project - Tsukuba.pm
Open Design Computer Project - Tsukuba.pm
 
2014 0228 OSC-Spring Tokyo NETMF
2014 0228 OSC-Spring Tokyo NETMF2014 0228 OSC-Spring Tokyo NETMF
2014 0228 OSC-Spring Tokyo NETMF
 
タブレインの3Gシールドを用いてArduinoからツイートする方法 β版
タブレインの3Gシールドを用いてArduinoからツイートする方法 β版タブレインの3Gシールドを用いてArduinoからツイートする方法 β版
タブレインの3Gシールドを用いてArduinoからツイートする方法 β版
 
Open design computer project(boost)
Open design computer project(boost)Open design computer project(boost)
Open design computer project(boost)
 
2016年11月19日 AITCシニア技術者勉強会 第1回「Arduinoを使ってみる」
2016年11月19日 AITCシニア技術者勉強会 第1回「Arduinoを使ってみる」 2016年11月19日 AITCシニア技術者勉強会 第1回「Arduinoを使ってみる」
2016年11月19日 AITCシニア技術者勉強会 第1回「Arduinoを使ってみる」
 
Slides AXIS WS2
Slides AXIS WS2Slides AXIS WS2
Slides AXIS WS2
 
2014 1018 OSC-Fall Tokyo NETMF
2014 1018 OSC-Fall Tokyo NETMF2014 1018 OSC-Fall Tokyo NETMF
2014 1018 OSC-Fall Tokyo NETMF
 
マイコンボード色々 2017.03
マイコンボード色々 2017.03マイコンボード色々 2017.03
マイコンボード色々 2017.03
 
Osc2017 nagoya
Osc2017 nagoyaOsc2017 nagoya
Osc2017 nagoya
 
150130 edison-ug
150130 edison-ug150130 edison-ug
150130 edison-ug
 
KOGEI & KAIT Funnel WS
KOGEI & KAIT Funnel WSKOGEI & KAIT Funnel WS
KOGEI & KAIT Funnel WS
 

More from 大介 束田

第1回GameDesign-遊びの体験と文化
第1回GameDesign-遊びの体験と文化第1回GameDesign-遊びの体験と文化
第1回GameDesign-遊びの体験と文化大介 束田
 
WWDC 2015 情報共有会
WWDC 2015 情報共有会WWDC 2015 情報共有会
WWDC 2015 情報共有会大介 束田
 
ゲーム開発におけるバックトラック法
ゲーム開発におけるバックトラック法ゲーム開発におけるバックトラック法
ゲーム開発におけるバックトラック法大介 束田
 
20141218 お・と・なのlt大会
20141218 お・と・なのlt大会20141218 お・と・なのlt大会
20141218 お・と・なのlt大会大介 束田
 
iOS 8/Swift エンジニア勉強会@ヤフー
iOS 8/Swift エンジニア勉強会@ヤフーiOS 8/Swift エンジニア勉強会@ヤフー
iOS 8/Swift エンジニア勉強会@ヤフー大介 束田
 
メンボフェスタ
メンボフェスタ メンボフェスタ
メンボフェスタ 大介 束田
 

More from 大介 束田 (7)

第1回GameDesign-遊びの体験と文化
第1回GameDesign-遊びの体験と文化第1回GameDesign-遊びの体験と文化
第1回GameDesign-遊びの体験と文化
 
WWDC 2015 情報共有会
WWDC 2015 情報共有会WWDC 2015 情報共有会
WWDC 2015 情報共有会
 
Unity testtool
Unity testtoolUnity testtool
Unity testtool
 
ゲーム開発におけるバックトラック法
ゲーム開発におけるバックトラック法ゲーム開発におけるバックトラック法
ゲーム開発におけるバックトラック法
 
20141218 お・と・なのlt大会
20141218 お・と・なのlt大会20141218 お・と・なのlt大会
20141218 お・と・なのlt大会
 
iOS 8/Swift エンジニア勉強会@ヤフー
iOS 8/Swift エンジニア勉強会@ヤフーiOS 8/Swift エンジニア勉強会@ヤフー
iOS 8/Swift エンジニア勉強会@ヤフー
 
メンボフェスタ
メンボフェスタ メンボフェスタ
メンボフェスタ
 

20130427 さいたま勉強会