10. Techno Walker Inc. All rights reserved. 文書・画像等の無断使用・転載を禁止します。
■イメージの作成
以下の手順でイメージを作成します。
①MonoBrick.dkのサイトからイメージをダウンロード
http://www.monobrick.dk/software/ev3firmware/
②イメージはGZファイルとして圧縮されているので解凍する
③Win32DiskImageを使ってSDカードに書き込む
※間違って他のデバイスに書かない様に注意してください。
ブロックで作るロボットとC#を使ったIoT体験(その1)
8. MonoBrickイメージの作成2
TW社内セミナー ブロックで作るロボットとC#を使ったIoT体験
11. Techno Walker Inc. All rights reserved. 文書・画像等の無断使用・転載を禁止します。
■MonoBrickを起動し、WiFiに接続する
①MicroSDカードをEV3に挿入して電源をONにする
②SettingsからWiFiを選択
・SSIDを入力「Buffalo-G-340E」
・パスワードを入力「(省略)」
・Connectを選択しEnterキーで接続
※適合するUSBのWiFiアダプタが1つしかないため片方ずつ接続をしてください
③メニューのBrickInfoに表示されるIPアドレスを控える
ブロックで作るロボットとC#を使ったIoT体験(その1)
9. EV3のMonoBrick起動とWiFi接続
TW社内セミナー ブロックで作るロボットとC#を使ったIoT体験
正常に接続できると
Unknownのところに
192.168.1.xxx と
表示されます。
12. Techno Walker Inc. All rights reserved. 文書・画像等の無断使用・転載を禁止します。
■WinSCPの設定と接続
9で控えたIPアドレスにSCPで接続します。
接続後、appsディレクトリが表示されるので、作成した
アプリごとにディレクトリを作成し、ファイルを転送します。
ブロックで作るロボットとC#を使ったIoT体験(その1)
10. WinSCPを使った接続確認
TW社内セミナー ブロックで作るロボットとC#を使ったIoT体験
この部分に作成したプログラム
(EXE)とEV3用ライブラリ
「MonoBrickFireware.dll」をコ
ピーします。
13. Techno Walker Inc. All rights reserved. 文書・画像等の無断使用・転載を禁止します。
■あらかじめ用意されたサンプルプロジェクトを利用します
サンプルプロジェクト「Ev3HelloWorld」
①フォルダの中にあるEv3HelloWorld.slnを開く
②ビルド – ソリューションのビルド を選択
③プロジェクトフォルダの中のBinDebugにEXEファイルが生成
ブロックで作るロボットとC#を使ったIoT体験(その1)
11.サンプルプロジェクトの起動1
TW社内セミナー ブロックで作るロボットとC#を使ったIoT体験
14. Techno Walker Inc. All rights reserved. 文書・画像等の無断使用・転載を禁止します。
■プロジェクトのコードの説明
●スピーカーを用意する
var speaker = new Speaker(10); …10の部分はボリューム
PlayPiPo … ピポと音を鳴らす(独自に定義)
●画面に文字を表示する
LcdConsole.WriteLine(“文字列”) … EV3画面に文字列を表示する
●タッチセンサーを利用する
var touchSensor = new EV3TouchSensor(SensorPort.In1);
bool touchFlug = false;
while (!touchFlug) { … タッチされるまで待つ(繰り返す)
touchFlug = touchSensor.IsPressed();
… タッチされたらtouchFlagがtrueになり繰り返し終了
}
ブロックで作るロボットとC#を使ったIoT体験(その1)
11.サンプルプロジェクトの起動2
TW社内セミナー ブロックで作るロボットとC#を使ったIoT体験
15. Techno Walker Inc. All rights reserved. 文書・画像等の無断使用・転載を禁止します。
■WinSCPを使ってファイルを転送
次の手順でファイルをアップします
①WinSCPでEV3に接続し、appsにディレクトリを作成
「Ev3HelloWorld」
②BinDebugの中にある「Ev3HelloWorld.exe」と
「MonoBrickFirmware.dll」をコピーする(ドラッグでOK)
③EV3画面の「Program」をクリックすると
「Ev3HelloWorld」が表示されるので、
選択すると実行する
※サンプルでは1番にタッチセンサーが
接続されていないとその後の処理が
できず終了されません。
ブロックで作るロボットとC#を使ったIoT体験(その1)
12.作成したプログラムの配置と実行
TW社内セミナー ブロックで作るロボットとC#を使ったIoT体験
16. Techno Walker Inc. All rights reserved. 文書・画像等の無断使用・転載を禁止します。
■主な機能
●スピーカー
var speaker = new Speaker(音量0~100);
speaker.PlayTone(周波数, 長さms) ;
speaker.PlaySoundFile(Uploadしたファイル名, 音量0~100);
●タッチセンサー
var touchSensor = new EV3TouchSensor(センサーポート番号);
touchSensor.IsPressed(); タッチされている場合はtrue
●ジャイロセンサー
var gyroSensor = new EV3GyroSensor(センサーポート番号,
モード:GyroMode.Angle);
gyroSensor.Reset(); 傾きをリセット
結果 = gyroSensor.Read(); 現在の傾きを取得
ブロックで作るロボットとC#を使ったIoT体験(その1)
13. MonoBrick EV3用API リファレンス1
TW社内セミナー ブロックで作るロボットとC#を使ったIoT体験
17. Techno Walker Inc. All rights reserved. 文書・画像等の無断使用・転載を禁止します。
■主な機能
●超音波センサー
var sonicSensor = new EV3UltrasonicSensor(センサーポート,
長さ:UltraSonicMode.Centimeter);
結果 = sonicSensor.Read(); … 長さ(mm)を取得
●カラーセンサー
var colorSensor = new EV3ColorSensor(センサーポート,
モード:ColorMode.Reflection);
結果 = colorSensor.Read(); … 色の値(7色の番号)を取得
ブロックで作るロボットとC#を使ったIoT体験(その1)
14. MonoBrick EV3用API リファレンス2
TW社内セミナー ブロックで作るロボットとC#を使ったIoT体験
18. Techno Walker Inc. All rights reserved. 文書・画像等の無断使用・転載を禁止します。
■主な機能
●Lモーター(力の必要な操作に適するモーター)
●Mモーター(細かな操作に適するモーター)
※どちらも同じ処理
var motor = new Motor(モーターポート番号);
motor.SetSpeed(スピード1~100); 動かすスピード
Thread.Sleep(1000); 1秒間プログラム停止(その間動く)
ブロックで作るロボットとC#を使ったIoT体験(その1)
15. MonoBrick EV3用API リファレンス3
TW社内セミナー ブロックで作るロボットとC#を使ったIoT体験
19. Techno Walker Inc. All rights reserved. 文書・画像等の無断使用・転載を禁止します。
■各種プログラムを実行して動作確認し、その後拡張してください。
●音楽を鳴らすサンプル(キラキラ星)
⇒ Ev3PlaySound
●モータを動かすサンプル
⇒ Ev3MMoterSample
⇒ Ev3LMoterSample
●カラーセンサーのサンプル
⇒ Ev3ColorSensorSample
● MoodleMootで利用したWebサーバーにポストするサンプル
⇒ MoodleColorSorter
ブロックで作るロボットとC#を使ったIoT体験(その1)
16.各種プログラム例
TW社内セミナー ブロックで作るロボットとC#を使ったIoT体験