SlideShare a Scribd company logo
1 of 19
Techno Walker Inc. All rights reserved. 文書・画像等の無断使用・転載を禁止します。
ブロックで作るロボットと
C#を使ったIoT体験(その1)
Time: 2016.5.7 09:30-16:00 Room: Tokyo Office
山岡 茂治
TW社内セミナー
ブロックで作るロボットとC#を使ったIoT体験
1. レゴ®マインドストーム®EV3について
2. インテリジェントブロック1
3. インテリジェントブロック2
4. 接続する各部品(ハードウェア)
5. 必要な開発環境について
6. ロボット(ブロック)の組み立て1
7. ロボット(ブロック)の組み立て2
8. MonoBrickイメージの作成
9. EV3のMonoBrick起動とWiFi接続
10. WinSCPを使った接続確認
11. サンプルプロジェクトの起動
12. 作成したプログラムの配置と実行
13. MonoBrick EV3用 API リファレンス
14. 画面への文字列出力と音声出力
15. LモーターとMモーター
16. カラーセンサーとタッチセンター
17. ジャイロセンサーと超音波センサー
18. 各種プログラム例
Techno Walker Inc. All rights reserved. 文書・画像等の無断使用・転載を禁止します。
■レゴ®マインドストーム®EV3とは
頭脳部品=インテリジェントブロックで作成したプログラムを実行し
レゴブロックで組み立てたロボットを自由に制御することができます。
ブロックで作るロボットとC#を使ったIoT体験(その1)
1. レゴ®マインドストーム®EV3について
TW社内セミナー ブロックで作るロボットとC#を使ったIoT体験
参照元: http://www.afrel.co.jp/lineup/mindstorm-ev3#01
【注意事項】レゴ®やマインドストーム®は登録商標であるため、テクノウォーカーで自由に利
用することはできません。また、正規代理店である株式会社アフレル様より購入しています。ビ
ジネスとして活用するには制限がある(許可等が必要)であるため、社内利用や研修でのみの利
用を想定しています。
Techno Walker Inc. All rights reserved. 文書・画像等の無断使用・転載を禁止します。
ブロックで作るロボットとC#を使ったIoT体験(その1)
2. インテリジェントブロック1
TW社内セミナー ブロックで作るロボットとC#を使ったIoT体験
Techno Walker Inc. All rights reserved. 文書・画像等の無断使用・転載を禁止します。
ブロックで作るロボットとC#を使ったIoT体験(その1)
3. インテリジェントブロック2
TW社内セミナー ブロックで作るロボットとC#を使ったIoT体験
Techno Walker Inc. All rights reserved. 文書・画像等の無断使用・転載を禁止します。
ブロックで作るロボットとC#を使ったIoT体験(その1)
4. 接続する各部品(ハードウェア)
TW社内セミナー ブロックで作るロボットとC#を使ったIoT体験
Techno Walker Inc. All rights reserved. 文書・画像等の無断使用・転載を禁止します。
■レゴ®マインドストーム®EV3 の開発に必要な環境
以下の機材と環境が必要です。
・教育版レゴ マインドストームEV3基本セット
http://afrel-shop.com/shop/shopdetail.html?brandcode=000000000380&search=45544
・WiFiを利用する場合はUSBのWiFiアダプタ
一般で売られているWiFiアダプタはほとんど認識しないので注意(ONKYO UWF-1はOK)
・マイクロSDカード
MonoBrick(Linux+Mono Framework)をインストールするために必要
(EV3標準のLinuxでは.NETアプリは動きません)
・Windows7以降のデスクトップorノートPC
・Visual Studio(2013 Express以降を推奨)、Xmarinでも良い
・WinSCP(SCPを使ってEV3にプログラムをアップロードする)
・Win32DiskImageや7Zip・LhaPlusなどのツール
ブロックで作るロボットとC#を使ったIoT体験(その1)
5. 必要な開発環境について
TW社内セミナー ブロックで作るロボットとC#を使ったIoT体験
Techno Walker Inc. All rights reserved. 文書・画像等の無断使用・転載を禁止します。
■チュートリアル用のロボットを組み立てます。
①P.1の1~4、P.6の1~10、11~20、21-28、29~40を組立てる
②EV3を起動し、Demoプログラムを実行する
ブロックで作るロボットとC#を使ったIoT体験(その1)
6. ロボット(ブロック)の組み立て1
TW社内セミナー ブロックで作るロボットとC#を使ったIoT体験
Techno Walker Inc. All rights reserved. 文書・画像等の無断使用・転載を禁止します。
■チュートリアル用のロボットの機能を全て組み込みます。
③P.42の1~7、P.48の1~8、P.54の1~19、P.68の1~5を
組み立て、PortViewとMotorControlを使って動作確認
④チュートリアルと異なり、すべてのパーツを組み合わせる
ブロックで作るロボットとC#を使ったIoT体験(その1)
7. ロボット(ブロック)の組み立て2
TW社内セミナー ブロックで作るロボットとC#を使ったIoT体験
Techno Walker Inc. All rights reserved. 文書・画像等の無断使用・転載を禁止します。
■レゴ®マインドストーム®EV3 の開発に必要な環境
以下の機材と環境が必要です。
・教育版レゴ マインドストームEV3基本セット
http://afrel-shop.com/shop/shopdetail.html?brandcode=000000000380&search=45544
・WiFiを利用する場合はUSBのWiFiアダプタ
一般で売られているWiFiアダプタはほとんど認識しないので注意(ONKYO UWF-1はOK)
・マイクロSDカード
MonoBrick(Linux+Mono Framework)をインストールするために必要
(EV3標準のLinuxでは.NETアプリは動きません)
・Windows7以降のデスクトップorノートPC
・Visual Studio(2013 Express以降を推奨)、Xmarinでも良い
・WinSCP(SCPを使ってEV3にプログラムをアップロードする)
・Win32DiskImageや7Zip・LhaPlusなどのツール
ブロックで作るロボットとC#を使ったIoT体験(その1)
8. MonoBrickイメージの作成1
TW社内セミナー ブロックで作るロボットとC#を使ったIoT体験
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体験
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 と
表示されます。
Techno Walker Inc. All rights reserved. 文書・画像等の無断使用・転載を禁止します。
■WinSCPの設定と接続
9で控えたIPアドレスにSCPで接続します。
接続後、appsディレクトリが表示されるので、作成した
アプリごとにディレクトリを作成し、ファイルを転送します。
ブロックで作るロボットとC#を使ったIoT体験(その1)
10. WinSCPを使った接続確認
TW社内セミナー ブロックで作るロボットとC#を使ったIoT体験
この部分に作成したプログラム
(EXE)とEV3用ライブラリ
「MonoBrickFireware.dll」をコ
ピーします。
Techno Walker Inc. All rights reserved. 文書・画像等の無断使用・転載を禁止します。
■あらかじめ用意されたサンプルプロジェクトを利用します
サンプルプロジェクト「Ev3HelloWorld」
①フォルダの中にあるEv3HelloWorld.slnを開く
②ビルド – ソリューションのビルド を選択
③プロジェクトフォルダの中のBinDebugにEXEファイルが生成
ブロックで作るロボットとC#を使ったIoT体験(その1)
11.サンプルプロジェクトの起動1
TW社内セミナー ブロックで作るロボットとC#を使ったIoT体験
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体験
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体験
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体験
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体験
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体験
Techno Walker Inc. All rights reserved. 文書・画像等の無断使用・転載を禁止します。
■各種プログラムを実行して動作確認し、その後拡張してください。
●音楽を鳴らすサンプル(キラキラ星)
⇒ Ev3PlaySound
●モータを動かすサンプル
⇒ Ev3MMoterSample
⇒ Ev3LMoterSample
●カラーセンサーのサンプル
⇒ Ev3ColorSensorSample
● MoodleMootで利用したWebサーバーにポストするサンプル
⇒ MoodleColorSorter
ブロックで作るロボットとC#を使ったIoT体験(その1)
16.各種プログラム例
TW社内セミナー ブロックで作るロボットとC#を使ったIoT体験

More Related Content

What's hot

Cq tse-fm3セミナー資料
Cq tse-fm3セミナー資料Cq tse-fm3セミナー資料
Cq tse-fm3セミナー資料
Masaki Muranaka
 
node.js koとhtml5とwebsocketsと
node.js koとhtml5とwebsocketsとnode.js koとhtml5とwebsocketsと
node.js koとhtml5とwebsocketsと
scdn
 
Andoird版OpenCVのJavaサンプルを動かす
Andoird版OpenCVのJavaサンプルを動かすAndoird版OpenCVのJavaサンプルを動かす
Andoird版OpenCVのJavaサンプルを動かす
shobomaru
 

What's hot (20)

真Drone入門
真Drone入門真Drone入門
真Drone入門
 
Ss systemdのwslディストロを作る kernelvm探検隊online part 3
Ss systemdのwslディストロを作る kernelvm探検隊online part 3Ss systemdのwslディストロを作る kernelvm探検隊online part 3
Ss systemdのwslディストロを作る kernelvm探検隊online part 3
 
各OSにおいて、OpenCVをpythonから使う方法
各OSにおいて、OpenCVをpythonから使う方法各OSにおいて、OpenCVをpythonから使う方法
各OSにおいて、OpenCVをpythonから使う方法
 
YOLO V3で独自データセットを学習させて物体検出 / Yolo V3 with your own dataset
YOLO V3で独自データセットを学習させて物体検出 / Yolo V3 with your own datasetYOLO V3で独自データセットを学習させて物体検出 / Yolo V3 with your own dataset
YOLO V3で独自データセットを学習させて物体検出 / Yolo V3 with your own dataset
 
LibreOffice を Windows 上でビルドする UPDATE2
LibreOffice を Windows 上でビルドする UPDATE2LibreOffice を Windows 上でビルドする UPDATE2
LibreOffice を Windows 上でビルドする UPDATE2
 
Cq tse-fm3セミナー資料
Cq tse-fm3セミナー資料Cq tse-fm3セミナー資料
Cq tse-fm3セミナー資料
 
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
 
node.js koとhtml5とwebsocketsと
node.js koとhtml5とwebsocketsとnode.js koとhtml5とwebsocketsと
node.js koとhtml5とwebsocketsと
 
vscode pipenv docker
vscode pipenv dockervscode pipenv docker
vscode pipenv docker
 
組み込みLinuxでのGolangのススメ(Go con版)
組み込みLinuxでのGolangのススメ(Go con版)組み込みLinuxでのGolangのススメ(Go con版)
組み込みLinuxでのGolangのススメ(Go con版)
 
Linuxのユーザーランドをinitから全てまるごとgolangで書く
Linuxのユーザーランドをinitから全てまるごとgolangで書くLinuxのユーザーランドをinitから全てまるごとgolangで書く
Linuxのユーザーランドをinitから全てまるごとgolangで書く
 
Microsoft azureとdockerとansibleと
Microsoft azureとdockerとansibleとMicrosoft azureとdockerとansibleと
Microsoft azureとdockerとansibleと
 
Symfony2 workshop-1
Symfony2 workshop-1Symfony2 workshop-1
Symfony2 workshop-1
 
書こう! 使おう! 単体テスト
書こう! 使おう! 単体テスト書こう! 使おう! 単体テスト
書こう! 使おう! 単体テスト
 
Unityで使える C# 6.0~と .NET 4.6
Unityで使える C# 6.0~と .NET 4.6Unityで使える C# 6.0~と .NET 4.6
Unityで使える C# 6.0~と .NET 4.6
 
Python toolforvsをインストールをしてみる
Python toolforvsをインストールをしてみるPython toolforvsをインストールをしてみる
Python toolforvsをインストールをしてみる
 
Andoird版OpenCVのJavaサンプルを動かす
Andoird版OpenCVのJavaサンプルを動かすAndoird版OpenCVのJavaサンプルを動かす
Andoird版OpenCVのJavaサンプルを動かす
 
Windows8でOpenCVを使ったAndroid(MOVERIO)開発体験したい
Windows8でOpenCVを使ったAndroid(MOVERIO)開発体験したいWindows8でOpenCVを使ったAndroid(MOVERIO)開発体験したい
Windows8でOpenCVを使ったAndroid(MOVERIO)開発体験したい
 
2017年05月27日 AITCシニア技術者勉強会 第6回「OpenCV入門」
2017年05月27日 AITCシニア技術者勉強会 第6回「OpenCV入門」2017年05月27日 AITCシニア技術者勉強会 第6回「OpenCV入門」
2017年05月27日 AITCシニア技術者勉強会 第6回「OpenCV入門」
 
Javaのログ出力: 道具と考え方
Javaのログ出力: 道具と考え方Javaのログ出力: 道具と考え方
Javaのログ出力: 道具と考え方
 

Similar to レゴブロックとC#を使ったIoT体験

継続的インテグレーション3分クッキング
継続的インテグレーション3分クッキング継続的インテグレーション3分クッキング
継続的インテグレーション3分クッキング
Takayuki Kondou
 

Similar to レゴブロックとC#を使ったIoT体験 (20)

14対話bot発表資料
14対話bot発表資料14対話bot発表資料
14対話bot発表資料
 
BridgePointを使ったモデル駆動開発(ETロボコン環境のご紹介)
BridgePointを使ったモデル駆動開発(ETロボコン環境のご紹介)BridgePointを使ったモデル駆動開発(ETロボコン環境のご紹介)
BridgePointを使ったモデル駆動開発(ETロボコン環境のご紹介)
 
EV3 + MonoBrick + C#
EV3 + MonoBrick + C# EV3 + MonoBrick + C#
EV3 + MonoBrick + C#
 
.NET Coreとツール類の今
.NET Coreとツール類の今.NET Coreとツール類の今
.NET Coreとツール類の今
 
FlexUnit4とMockitoFlex
FlexUnit4とMockitoFlexFlexUnit4とMockitoFlex
FlexUnit4とMockitoFlex
 
はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
 
2015 0227 OSC-Spring Tokyo NETMF
2015 0227 OSC-Spring Tokyo NETMF2015 0227 OSC-Spring Tokyo NETMF
2015 0227 OSC-Spring Tokyo NETMF
 
Intel OpenVINO™ ツールキットのご紹介
Intel OpenVINO™ ツールキットのご紹介Intel OpenVINO™ ツールキットのご紹介
Intel OpenVINO™ ツールキットのご紹介
 
こんなに違う!Unityアプリケーション講座
こんなに違う!Unityアプリケーション講座こんなに違う!Unityアプリケーション講座
こんなに違う!Unityアプリケーション講座
 
tech talk about JS #0
tech talk about JS #0tech talk about JS #0
tech talk about JS #0
 
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~
 
Code igniterでテスト駆動開発 資料作成中
Code igniterでテスト駆動開発 資料作成中Code igniterでテスト駆動開発 資料作成中
Code igniterでテスト駆動開発 資料作成中
 
BricRoboEV3RT開発環境の使い方
BricRoboEV3RT開発環境の使い方BricRoboEV3RT開発環境の使い方
BricRoboEV3RT開発環境の使い方
 
継続的インテグレーション3分クッキング
継続的インテグレーション3分クッキング継続的インテグレーション3分クッキング
継続的インテグレーション3分クッキング
 
Kinect Camp with TMCN / Kinect入門ハンズオン 2015.06.06
Kinect Camp with TMCN/ Kinect入門ハンズオン 2015.06.06Kinect Camp with TMCN/ Kinect入門ハンズオン 2015.06.06
Kinect Camp with TMCN / Kinect入門ハンズオン 2015.06.06
 
LibreOffice を Windows 上でビルドする UPDATE
LibreOffice を Windows 上でビルドする UPDATELibreOffice を Windows 上でビルドする UPDATE
LibreOffice を Windows 上でビルドする UPDATE
 
KinectとC#を用いた 実践的VRアプリ開発 第2回 2015/10/13 Github CLI編
KinectとC#を用いた実践的VRアプリ開発 第2回 2015/10/13 Github CLI編KinectとC#を用いた実践的VRアプリ開発 第2回 2015/10/13 Github CLI編
KinectとC#を用いた 実践的VRアプリ開発 第2回 2015/10/13 Github CLI編
 
Silverlight+COMにチャレンジ
Silverlight+COMにチャレンジSilverlight+COMにチャレンジ
Silverlight+COMにチャレンジ
 
Room metro Tokyo #3 発表資料です。
Room metro Tokyo #3 発表資料です。Room metro Tokyo #3 発表資料です。
Room metro Tokyo #3 発表資料です。
 
13-E-7 クラウドサービスとゲーミフィケーション: 「TwilioQuest 3」を用いた開発者オンボーディング
13-E-7 クラウドサービスとゲーミフィケーション: 「TwilioQuest 3」を用いた開発者オンボーディング13-E-7 クラウドサービスとゲーミフィケーション: 「TwilioQuest 3」を用いた開発者オンボーディング
13-E-7 クラウドサービスとゲーミフィケーション: 「TwilioQuest 3」を用いた開発者オンボーディング
 

More from Shigeharu Yamaoka

開発初心者のためのMoodleプラグインの開発と利用(第二部) for Moodle Moot 2015
開発初心者のためのMoodleプラグインの開発と利用(第二部) for Moodle Moot 2015開発初心者のためのMoodleプラグインの開発と利用(第二部) for Moodle Moot 2015
開発初心者のためのMoodleプラグインの開発と利用(第二部) for Moodle Moot 2015
Shigeharu Yamaoka
 
開発初心者のためのMoodleプラグインの開発と利用(第一部) for Moodle Moot 2015
開発初心者のためのMoodleプラグインの開発と利用(第一部) for Moodle Moot 2015開発初心者のためのMoodleプラグインの開発と利用(第一部) for Moodle Moot 2015
開発初心者のためのMoodleプラグインの開発と利用(第一部) for Moodle Moot 2015
Shigeharu Yamaoka
 

More from Shigeharu Yamaoka (6)

クラウドでの大規模Moodleの構築方法とモデルケース
クラウドでの大規模Moodleの構築方法とモデルケースクラウドでの大規模Moodleの構築方法とモデルケース
クラウドでの大規模Moodleの構築方法とモデルケース
 
運用構築技術者の為のPSプログラミング第2回
運用構築技術者の為のPSプログラミング第2回運用構築技術者の為のPSプログラミング第2回
運用構築技術者の為のPSプログラミング第2回
 
運用構築技術者の為のPSプログラミング第1回
運用構築技術者の為のPSプログラミング第1回運用構築技術者の為のPSプログラミング第1回
運用構築技術者の為のPSプログラミング第1回
 
開発初心者のためのMoodleプラグインの開発と利用(第二部) for Moodle Moot 2015
開発初心者のためのMoodleプラグインの開発と利用(第二部) for Moodle Moot 2015開発初心者のためのMoodleプラグインの開発と利用(第二部) for Moodle Moot 2015
開発初心者のためのMoodleプラグインの開発と利用(第二部) for Moodle Moot 2015
 
開発初心者のためのMoodleプラグインの開発と利用(第一部) for Moodle Moot 2015
開発初心者のためのMoodleプラグインの開発と利用(第一部) for Moodle Moot 2015開発初心者のためのMoodleプラグインの開発と利用(第一部) for Moodle Moot 2015
開発初心者のためのMoodleプラグインの開発と利用(第一部) for Moodle Moot 2015
 
Moodle情報サイトと無償管理ツールの紹介 for Moodle Moot 2014
Moodle情報サイトと無償管理ツールの紹介 for Moodle Moot 2014Moodle情報サイトと無償管理ツールの紹介 for Moodle Moot 2014
Moodle情報サイトと無償管理ツールの紹介 for Moodle Moot 2014
 

Recently uploaded

Recently uploaded (6)

世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム
世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム
世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム
 
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
 
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
 
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
 
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
 
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
 

レゴブロックとC#を使ったIoT体験

  • 1. Techno Walker Inc. All rights reserved. 文書・画像等の無断使用・転載を禁止します。 ブロックで作るロボットと C#を使ったIoT体験(その1) Time: 2016.5.7 09:30-16:00 Room: Tokyo Office 山岡 茂治 TW社内セミナー ブロックで作るロボットとC#を使ったIoT体験 1. レゴ®マインドストーム®EV3について 2. インテリジェントブロック1 3. インテリジェントブロック2 4. 接続する各部品(ハードウェア) 5. 必要な開発環境について 6. ロボット(ブロック)の組み立て1 7. ロボット(ブロック)の組み立て2 8. MonoBrickイメージの作成 9. EV3のMonoBrick起動とWiFi接続 10. WinSCPを使った接続確認 11. サンプルプロジェクトの起動 12. 作成したプログラムの配置と実行 13. MonoBrick EV3用 API リファレンス 14. 画面への文字列出力と音声出力 15. LモーターとMモーター 16. カラーセンサーとタッチセンター 17. ジャイロセンサーと超音波センサー 18. 各種プログラム例
  • 2. Techno Walker Inc. All rights reserved. 文書・画像等の無断使用・転載を禁止します。 ■レゴ®マインドストーム®EV3とは 頭脳部品=インテリジェントブロックで作成したプログラムを実行し レゴブロックで組み立てたロボットを自由に制御することができます。 ブロックで作るロボットとC#を使ったIoT体験(その1) 1. レゴ®マインドストーム®EV3について TW社内セミナー ブロックで作るロボットとC#を使ったIoT体験 参照元: http://www.afrel.co.jp/lineup/mindstorm-ev3#01 【注意事項】レゴ®やマインドストーム®は登録商標であるため、テクノウォーカーで自由に利 用することはできません。また、正規代理店である株式会社アフレル様より購入しています。ビ ジネスとして活用するには制限がある(許可等が必要)であるため、社内利用や研修でのみの利 用を想定しています。
  • 3. Techno Walker Inc. All rights reserved. 文書・画像等の無断使用・転載を禁止します。 ブロックで作るロボットとC#を使ったIoT体験(その1) 2. インテリジェントブロック1 TW社内セミナー ブロックで作るロボットとC#を使ったIoT体験
  • 4. Techno Walker Inc. All rights reserved. 文書・画像等の無断使用・転載を禁止します。 ブロックで作るロボットとC#を使ったIoT体験(その1) 3. インテリジェントブロック2 TW社内セミナー ブロックで作るロボットとC#を使ったIoT体験
  • 5. Techno Walker Inc. All rights reserved. 文書・画像等の無断使用・転載を禁止します。 ブロックで作るロボットとC#を使ったIoT体験(その1) 4. 接続する各部品(ハードウェア) TW社内セミナー ブロックで作るロボットとC#を使ったIoT体験
  • 6. Techno Walker Inc. All rights reserved. 文書・画像等の無断使用・転載を禁止します。 ■レゴ®マインドストーム®EV3 の開発に必要な環境 以下の機材と環境が必要です。 ・教育版レゴ マインドストームEV3基本セット http://afrel-shop.com/shop/shopdetail.html?brandcode=000000000380&search=45544 ・WiFiを利用する場合はUSBのWiFiアダプタ 一般で売られているWiFiアダプタはほとんど認識しないので注意(ONKYO UWF-1はOK) ・マイクロSDカード MonoBrick(Linux+Mono Framework)をインストールするために必要 (EV3標準のLinuxでは.NETアプリは動きません) ・Windows7以降のデスクトップorノートPC ・Visual Studio(2013 Express以降を推奨)、Xmarinでも良い ・WinSCP(SCPを使ってEV3にプログラムをアップロードする) ・Win32DiskImageや7Zip・LhaPlusなどのツール ブロックで作るロボットとC#を使ったIoT体験(その1) 5. 必要な開発環境について TW社内セミナー ブロックで作るロボットとC#を使ったIoT体験
  • 7. Techno Walker Inc. All rights reserved. 文書・画像等の無断使用・転載を禁止します。 ■チュートリアル用のロボットを組み立てます。 ①P.1の1~4、P.6の1~10、11~20、21-28、29~40を組立てる ②EV3を起動し、Demoプログラムを実行する ブロックで作るロボットとC#を使ったIoT体験(その1) 6. ロボット(ブロック)の組み立て1 TW社内セミナー ブロックで作るロボットとC#を使ったIoT体験
  • 8. Techno Walker Inc. All rights reserved. 文書・画像等の無断使用・転載を禁止します。 ■チュートリアル用のロボットの機能を全て組み込みます。 ③P.42の1~7、P.48の1~8、P.54の1~19、P.68の1~5を 組み立て、PortViewとMotorControlを使って動作確認 ④チュートリアルと異なり、すべてのパーツを組み合わせる ブロックで作るロボットとC#を使ったIoT体験(その1) 7. ロボット(ブロック)の組み立て2 TW社内セミナー ブロックで作るロボットとC#を使ったIoT体験
  • 9. Techno Walker Inc. All rights reserved. 文書・画像等の無断使用・転載を禁止します。 ■レゴ®マインドストーム®EV3 の開発に必要な環境 以下の機材と環境が必要です。 ・教育版レゴ マインドストームEV3基本セット http://afrel-shop.com/shop/shopdetail.html?brandcode=000000000380&search=45544 ・WiFiを利用する場合はUSBのWiFiアダプタ 一般で売られているWiFiアダプタはほとんど認識しないので注意(ONKYO UWF-1はOK) ・マイクロSDカード MonoBrick(Linux+Mono Framework)をインストールするために必要 (EV3標準のLinuxでは.NETアプリは動きません) ・Windows7以降のデスクトップorノートPC ・Visual Studio(2013 Express以降を推奨)、Xmarinでも良い ・WinSCP(SCPを使ってEV3にプログラムをアップロードする) ・Win32DiskImageや7Zip・LhaPlusなどのツール ブロックで作るロボットとC#を使ったIoT体験(その1) 8. MonoBrickイメージの作成1 TW社内セミナー ブロックで作るロボットとC#を使ったIoT体験
  • 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体験