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.

組込みシステムでIoTへの扉を開こう! mruby on LEGO Mindstorms EV3 (R)

LEGO Mindstorms EV3をmrubyで制御

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all
  • Be the first to comment

組込みシステムでIoTへの扉を開こう! mruby on LEGO Mindstorms EV3 (R)

  1. 1. 組込みシステムで IoTへの扉を開こう! mruby on LEGO Mindstorms EV3 ® Takehiko YOSHIDA @chihayafuru 1
  2. 2. アジェンダ 自己紹介 レゴマインドストームとは ◦標準プログラミング環境 ◦拡張プログライング環境(ev3dev) 組込みシステムにmrubyを採用できる か? ◦マインドストームRCX用光センサーの例 ◦mrubyにて実装したEV3用カラーセンサー のAPI まとめ "RUBY神社"のデモンストレーション 2
  3. 3. 自己紹介 長野県松本市在住 情報関連機器メーカーにおいて プログラマーとして勤務 Takehiko YOSHIDA @chihayafuru 3
  4. 4. 国内メーカーのヒエラルキー 士 農 工 商 メカ屋 エレキ屋 ソフト屋 4
  5. 5. レゴマインドストームとは 教材>玩具 STEM教育 ◦科学(Science) ◦技術(Technology) ◦工学(Engineering) ◦数学(Mathematics) 5
  6. 6. レゴマインドストームの歴史 初代 MindstormsRCX 二代目 MindstormsNXT 三代目 MindstormsEV3 発売時期 1998年 2006年 2013年 CPU H816MHz ARM7 48 MHz ARM9 300 MHz RAM 32 KB 64 KB 16 MB 6
  7. 7. ビジュアルプログラミング環境 EV3ソフトウェア 7
  8. 8. リモートコントロール Mindstorms EV3 8
  9. 9. 標準ファームウェアアーキテクチャ OS (Linux) システム プログラム デバイスドライバー(kernel module) VM (仮想マシン) ユーザー プログラム ダイレクト コマンド 9
  10. 10. 拡張ファームウェア ev3dev ◦フルDebian7 (wheezy) Linux ディストリビュー ション ◦レゴマインドストー ムEV3 コントローラ向 けカスタマイズ ◦microSD/SDHC カード から起動 利用可能な プログラミング言語 C / C++ Python JavaScript (Node.js) Lua Go Ruby 10
  11. 11. mrubyとは? mruby is the lightweight implementation of Ruby language complying to (part of) the ISO standard. Its syntax is Ruby 1.9 compatible. mruby can be linked and embedded into your application. https://github.com/mruby/mruby 11
  12. 12. 組込みシステムに"mruby"を採用できるか? リアルタイム制約 •mrubyはデッドラインを守れるか? •GC (Garbege Collection)処理は 他の割込処理を禁止する 12
  13. 13. 初代マインドストームRCXの 光センサーの例 LEDライト 光検出器 13
  14. 14. 一般的な光センサーの回路図 信号線 電源線 共通線 出力 入力 LED フォト ダイオード 14
  15. 15. マインドストームRCXのコネクタ 15
  16. 16. RCXの光センサーの回路図 信号線 電源線 共通線 出力 入力 16
  17. 17. RCX用光センサーの信号波形 オシロスコープ 反射光:強 反射光:弱 17
  18. 18. 制御サイクルの遅延 18
  19. 19. mrubyによるマインドストーム EV3用カラーセンサーAPI 19
  20. 20. カラーセンサーのイニシャライザー Ev3Color.new(port) port : "in1", "in2", "in3" , "in4" 20
  21. 21. マインドストームEV3のコネクター 21
  22. 22. カラーセンサーの3種のモード Ev3Color#mode=(mode) EV3Color.Mode.COL-REFLECT EV3Color.Mode.COL-AMBIENT EV3Color.Mode.RGB-RAW 22
  23. 23. マインドストームの進化 インテリジェント ブロック 光 センサ 初代 マインドストームRCX 二代目 マインドストームNXT 三代目 マインドストームEV3 アナログ アナログ デジタル 23
  24. 24. まとめ mrubyはどんな分野に適するか? mrubyはどんな分野に適さないか? 24
  25. 25. mrubyが適さない分野 ソフトウェア制御で ハードウェア性能の 限界まで引き出す。 C/C++やアセンブラ と格闘して、メカや エレキを支える縁の 下の力持ちとして頑 張りましょう! 25
  26. 26. mrubyが適する分野 高機能/多機能な電子デバイス 日進月歩のクラウドサービスと連携し て新しい価値を創造 26
  27. 27. リファレンス LEGO Mindstorms® http://www.lego.com/en-us/mindstorms/ ev3dev http://www.ev3dev.org/ mruby https://github.com/mruby/mruby mruby-ev3dev https://github.com/chihayafuru/mruby-ev3dev 27

×