Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Windows IoT Core and Robot Arm

478 views

Published on

.NETラボ 勉強会 2016年6月 in 仙台 のプレゼン資料
Windows IoT Core on Raspberry Pi and Arduino でロボットアームを制御します。

Published in: Software
  • Be the first to comment

  • Be the first to like this

Windows IoT Core and Robot Arm

  1. 1. Windows IoT Core & Robot Arm Microsoft MVP for Visual Studio and Development Technologies, Windows Development Tomoaki Masuda Moonmile Solutions, h2works
  2. 2. 自己紹介  増田 智明 masuda@moonmile.net, @moonmile  執筆業 & プログラマ VB.NET だけ Windows IoT Core と 対人関係の章が あります。
  3. 3. アジェンダ  Windows IoT Core とは?  Raspberry Pi にインストール  Robot Arm を動かす  ソフトウェア屋さんがハードを触る意味
  4. 4. Windows IoT Core とは?
  5. 5. Windows IoT Core  組み込みボードで Windows が動く 組み込み専用の Windows IoT Core を使う .NET Micro Framework とは違う ハードウェアを直接制御できる
  6. 6. UWPアプリで作成  画面をXAMLで作れる  C#, VB.NET が使える(.NET 言語)  「Windows IoT Extensions for the UWP」を参照設定  PowerShell が使える  Visual Studio でデバッグ実行ができる
  7. 7. UWPアプリの配置/起動  ブラウザで App Manager を利用 パッケージでインストール アプリを起動 アプリの停止
  8. 8. Raspberry Pi にインストール
  9. 9. Raspberry Pi 2/3  Raspberry Pi 2 Model B Wi-Fi, Bluetooth はドングルで  Raspberry Pi 3 Model B Wi-Fi, Bluetooth 内蔵 現時点で Windows IoT Core では Wi-Fi のみ利用可能  本来は Raspbian で動かす 
  10. 10. micro SD カードに焼く  イメージを直接焼く 8GB で十分  NOOBS 経由でインストール ちょっとサイズが大きい。 16 GB が必要
  11. 11. Robot Arm を動かす
  12. 12. Raspberry Pi と Arduino の連携  シリアル通信(UART/RS-232C)を使う  TX/RX を繋ぐ  USB ケーブル経由はダメだった  I2C通信を使う  SCL/SDA を繋ぐ
  13. 13. Windows IoT Core から制御(シリアル通信)  Win IoT 側 (.NET)  DataReader LoadAsync ReadString ReadBytes  DataWriter WriteString WriteBytes  Arduino 側 (C++) Serial.available Serial.read Serail.readBytes Serial.print Serial.write
  14. 14. 制御コマンドを作る “$S1:090” “SV:OK” DataWriter.WriteBytesSerial.readBytes Serial.print DataReader.ReadBytes
  15. 15. Robot Arm Demo
  16. 16. ソフトウェア屋さんがハードに 触れる意味
  17. 17. ハードに触れる機会  ブレッドボードで電子工作  プログラミングっぽく、Try & Error ができる  当たり前に出てくる非同期処理  センサーから非同期で通知される  Arduino側 で Interrupt  物理特性がある(0,1ではない世界)  抵抗値は±10%程度、発振  サーボの原点位置補正、重力加速度、慣性の法則  ミリ秒、マイクロ秒単位の世界  マイコンのクロック数で制御できる
  18. 18. ソフト屋さんの利点を活かす  クラス化、モジュール化  Arduino のモジュールは C++ のクラス  TDDノウハウの活用  Arduino の xUnit がある  .NET の Test Framework の活用  既存UI との接続  スマートフォンの利用(Xamarin)  UWP アプリで配布
  19. 19. 参考文献  Windows IoT Core  https://developer.microsoft.com/ja-jp/windows/iot  Windows IoT Core github  https://github.com/ms-iot/  Raspberry Pi  https://www.raspberrypi.org/  Arduino  http://Arduino.cc  http://Arduino.org  Hackster.io – Windows 10 IoT Core  https://www.hackster.io/microsoft/products/windows-10-iot-core

×