Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

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

341 vues

Publié le

レゴ®マインドストーム®EV3®とC#を使ったプログラミングのサンプルです。1年半前に作成した社内勉強会用の資料です。1年以上アップロードしていないので、社内勉強会資料をアップしてみました。

※スライドにも記載しておりますが、弊社はレゴ®マインドストーム®EV3®の代理店ではありませんので、ビジネス等には用いておりません。あくまで社内検証・学習用としてアフレル様より購入しております。

Publié dans : Formation
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

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

  1. 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. 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. 3. Techno Walker Inc. All rights reserved. 文書・画像等の無断使用・転載を禁止します。 ブロックで作るロボットとC#を使ったIoT体験(その1) 2. インテリジェントブロック1 TW社内セミナー ブロックで作るロボットとC#を使ったIoT体験
  4. 4. Techno Walker Inc. All rights reserved. 文書・画像等の無断使用・転載を禁止します。 ブロックで作るロボットとC#を使ったIoT体験(その1) 3. インテリジェントブロック2 TW社内セミナー ブロックで作るロボットとC#を使ったIoT体験
  5. 5. Techno Walker Inc. All rights reserved. 文書・画像等の無断使用・転載を禁止します。 ブロックで作るロボットとC#を使ったIoT体験(その1) 4. 接続する各部品(ハードウェア) TW社内セミナー ブロックで作るロボットとC#を使ったIoT体験
  6. 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. 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. 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. 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. 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. 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. 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. 13. Techno Walker Inc. All rights reserved. 文書・画像等の無断使用・転載を禁止します。 ■あらかじめ用意されたサンプルプロジェクトを利用します サンプルプロジェクト「Ev3HelloWorld」 ①フォルダの中にあるEv3HelloWorld.slnを開く ②ビルド – ソリューションのビルド を選択 ③プロジェクトフォルダの中のBinDebugにEXEファイルが生成 ブロックで作るロボットとC#を使ったIoT体験(その1) 11.サンプルプロジェクトの起動1 TW社内セミナー ブロックで作るロボットとC#を使ったIoT体験
  14. 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. 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. 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. 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. 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. 19. Techno Walker Inc. All rights reserved. 文書・画像等の無断使用・転載を禁止します。 ■各種プログラムを実行して動作確認し、その後拡張してください。 ●音楽を鳴らすサンプル(キラキラ星) ⇒ Ev3PlaySound ●モータを動かすサンプル ⇒ Ev3MMoterSample ⇒ Ev3LMoterSample ●カラーセンサーのサンプル ⇒ Ev3ColorSensorSample ● MoodleMootで利用したWebサーバーにポストするサンプル ⇒ MoodleColorSorter ブロックで作るロボットとC#を使ったIoT体験(その1) 16.各種プログラム例 TW社内セミナー ブロックで作るロボットとC#を使ったIoT体験

×