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.
Upcoming SlideShare
LEGO Mindstorms ev3 ハンズオン資料 (2014年3月版)
Next
Download to read offline and view in fullscreen.

Share

C#/Java & Linux で始める ET ロボコン(leJOS編)

Download to read offline

6/13(土)の OSC 2015 Hokkaido で行った ET ロボコンの紹介セミナーの中でleJOS説明に使ったスライド。

Related Books

Free with a 30 day trial from Scribd

See all

C#/Java & Linux で始める ET ロボコン(leJOS編)

  1. 1. OSC2015 Hokkaidoセミナー資料/ETロボコン北海道地区実行委員会 C♯/Java & Linuxで始める (leJOS編) ETロボコン 北海道地区実行委員会
  2. 2. OSC2015 Hokkaidoセミナー資料/ETロボコン北海道地区実行委員会 leJOS EV3 2
  3. 3. OSC2015 Hokkaidoセミナー資料/ETロボコン北海道地区実行委員会 leJOS EV3 3 LEGO Mindstormsシリーズ用に代々提供され てきたJava実行環境 http://www.lejos.org
  4. 4. OSC2015 Hokkaidoセミナー資料/ETロボコン北海道地区実行委員会 leJOS EV3実行環境 4 EV3ハードウェア Ångström Linux leJOS 基本クラス leJOS アプリケーション EV3用デバイスドライバ Oracle JRE 標準ファームウェア のものを流用 標準ファームウェア のものを流用 microSDから起動 leJOS メニュー
  5. 5. OSC2015 Hokkaidoセミナー資料/ETロボコン北海道地区実行委員会 leJOS EV3アプリケーション開発 5 ①JDKで開発 ・Windows ・OS X ・Linux … ②scpでjarを転送 ・USB (RNDIS) ・Bluetooth PAN ・Wi-Fi ③実行 ・leJOSのメニュー ・EV3 Control Center ・sshからリモートで
  6. 6. OSC2015 Hokkaidoセミナー資料/ETロボコン北海道地区実行委員会 Eclipse + leJOS EV3プラグイン 6
  7. 7. OSC2015 Hokkaidoセミナー資料/ETロボコン北海道地区実行委員会 センサ値の取得方法  次の5ステップ ①センサポートを指定して、センサオブジェクトの作成 ②サンプルプロバイダの取得 ③センサ値の数を取得&センサー値取得用配列の用意 ④センサの有効化 ⑤サンプルプロバイダを使ってセンサー値取得 7 // ①超音波センサ オブジェクト作成 EV3UltrasonicSensor sonar = new EV3UltrasonicSensor(SensorPort.S2); SampleProvider distanceMode = sonar.getDistanceMode(); // ②サンプルプロバイダ取得 float[] sampleDistance = new float[distanceMode.sampleSize()]; // ③センサ値取得用配列 sonar.enable(); // ④超音波センサを有効化 // ⑤等音波センサーから障害物までの距離を得る distanceMode.fetchSample(sampleDistance, 0); float distance = sampleDistance[0]; 超音波センサーの例
  8. 8. OSC2015 Hokkaidoセミナー資料/ETロボコン北海道地区実行委員会 モータの制御(RPM)  次の3ステップ ①モータポートを指定してモータオブジェクトを作成 ②モータのスピード(RPM)を指定 ③前進か後進かを指定してモータを動かす 8 // ①モータオブジェクト作成 EV3LargeRegulatedMotor motor = new EV3LargeRegulatedMotor(MotorPort.B); // ②モータのスピード(RPM)を指定 motor.setSpeed(50); // ③前進か後進 motor.forward(); // 前進 motor.backward(); // 後進
  9. 9. OSC2015 Hokkaidoセミナー資料/ETロボコン北海道地区実行委員会 モータの制御(PWM)  次の2ステップ ①PWM制御用のモータポートオブジェクトを取得 ②モータポートオブジェクトにPWMを指定してモータを動かす 9 // ①モータポートオブジェクトを取得 TachoMotorPort motorPort = MotorPort.B.open(TachoMotorPort.class); // ②モータのPWMを指定 motorPort.controlMotor(50, 1);
  10. 10. OSC2015 Hokkaidoセミナー資料/ETロボコン北海道地区実行委員会 デモ  超音波センサの値にしたがった簡単なモータ制御  超音波センサから値を取得  デフォルトは前進  前方 30 cm 以内に障害物を検知したら後進  上記を繰り返す 10
  11. 11. OSC2015 Hokkaidoセミナー資料/ETロボコン北海道地区実行委員会 デモプログラム(抜粋) 11 // モータ制御オブジェクト作成 EV3LargeRegulatedMotor motorL = new EV3LargeRegulatedMotor(MotorPort.C); // 左モータ EV3LargeRegulatedMotor motorR = new EV3LargeRegulatedMotor(MotorPort.B); // 右モータ // モータのスピード(RPM)を設定 motorL.setSpeed(50); motorR.setSpeed(50); // 超音波センサ オブジェクト作成 EV3UltrasonicSensor sonar = new EV3UltrasonicSensor(SensorPort.S2); SampleProvider distanceMode = sonar.getDistanceMode(); // 距離検出モード float[] sampleDistance = new float[distanceMode.sampleSize()]; sonar.enable(); // 超音波センサを有効化
  12. 12. OSC2015 Hokkaidoセミナー資料/ETロボコン北海道地区実行委員会 デモプログラム(抜粋続き) 12 for (;;) { ... // 超音波センサーから障害物までの距離を得る distanceMode.fetchSample(sampleDistance, 0); float distance = sampleDistance[0]; if (distance > 0.3F) { // 障害物まで0.3m以内にになるまで前進 motorL.forward(); motorR.forward(); } else { // 障害物まで0.3m以内になったら後進 motorL.backward(); motorR.backward(); } Delay.msDelay(100); // 100msecスリープ }
  13. 13. OSC2015 Hokkaidoセミナー資料/ETロボコン北海道地区実行委員会 13
  • masanoriusami

    May. 4, 2016

6/13(土)の OSC 2015 Hokkaido で行った ET ロボコンの紹介セミナーの中でleJOS説明に使ったスライド。

Views

Total views

2,300

On Slideshare

0

From embeds

0

Number of embeds

7

Actions

Downloads

5

Shares

0

Comments

0

Likes

1

×