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.

arduinoで制御するロボットのワークショップ

479 views

Published on

これは芳和システムデザインがワークショップで発表したスライドです。Arduino言語を書き換えて、歩き方をかえてみるプログラミング体験を実施しました。
▼下記URLにてマイクロサーボを動かす命令文をダウンロードできます。(オンラインストレージ:OneDrive)
https://goo.gl/71HP4P

Published in: Devices & Hardware
  • Be the first to comment

  • Be the first to like this

arduinoで制御するロボットのワークショップ

  1. 1. DESGIN DEPARTMENT ロボット部 「ボロット」を使ってロボットを 動かすワークショップ 芳和システムデザイン 1
  2. 2. DESGIN DEPARTMENT 2 今回は、二足歩行ロボット 「ボロット」を使用して、ロボットのプログラミングを 体験します。
  3. 3. DESGIN DEPARTMENT 3 Arduino IDEというアプリケーションを使います。
  4. 4. DESGIN DEPARTMENT 4 プログラムを書き換えて、ボロットのモーション(動き)をプログラミングしてみましょう
  5. 5. DESGIN DEPARTMENT 5 リモコンの[A]ボタンを押した場合の処理に、モーションをプログラミングしよう 136行目 if(bin[2] == 0xf8) { Serial.println("A”); //ここにあなたのプログラムを書きます。 }
  6. 6. DESGIN DEPARTMENT 6 リモコンの[A]ボタンを押した場合の処理に、モーションをプログラミングしよう if(bin[2] == 0xf8) { Serial.println("A”); // 右下 回転 pwm.setPWM(2, 0, pulseWidth(100 + DR_OFF)); // ↑この「2」が、サーボの番号 右の足首のサーボは2番 // ↑ここが、角度100度の角度に動かします // 左下 回転 pwm.setPWM(3, 0, pulseWidth(80 + DL_OFF)); // ↑この「3」が、サーボの番号 左の足首のサーボは3番 // ↑ここが、角度80度の角度に動かします }
  7. 7. DESGIN DEPARTMENT 7 さっそく動かしてみましょう ArduinoIDEのこのボタンをクリックしてください。
  8. 8. DESGIN DEPARTMENT 8 次に、リモコンのAボタンを押してください。
  9. 9. DESGIN DEPARTMENT 9 書き込みが成功していれば、ボロットの足が動作します。 もし、動作しない場合は、近くの係員に聞いてください
  10. 10. DESGIN DEPARTMENT 10 思うように動きましたか? ボロットには、4つのモータがあり、これを動かすことで、移動を行います。 コマンドはたった5種類 pwm.setPWM(0, 0, pulseWidth(70 + UR_OFF)); //右足の根元 pwm.setPWM(1, 0, pulseWidth(70 + UL_OFF)); //左足の根元 pwm.setPWM(2, 0, pulseWidth(70 + DR_OFF)); //右足の足首 pwm.setPWM(3, 0, pulseWidth(70 + DL_OFF)); //左足の足首 delay(200); //動作を待つこの場合、0.2秒 右足の根元「0」 右足の足首「2」 左足の根元「1」 左足の足首「3」
  11. 11. DESGIN DEPARTMENT 11 Serial.println("R"); // 左下 回転 pwm.setPWM(3, 0, pulseWidth(50 + DL_OFF)); // 右下 回転 pwm.setPWM(2, 0, pulseWidth(130 + DR_OFF)); delay(100); // 右 回転 pwm.setPWM(0, 0, pulseWidth(130 + UR_OFF)); // 左 回転 pwm.setPWM(1, 0, pulseWidth(130 + UL_OFF)); delay(100); // 左下 回転 pwm.setPWM(3, 0, pulseWidth(90 + DL_OFF)); // 右下 回転 pwm.setPWM(2, 0, pulseWidth(90 + DR_OFF)); delay(100); // 右 回転 pwm.setPWM(0, 0, pulseWidth(90 + UR_OFF)); // 左 回転 pwm.setPWM(1, 0, pulseWidth(90 + UL_OFF)); 例えば、右に15度くらい回転する動作は下記のプログラムになります。 さっきの、5種類のプログラムで実現できています
  12. 12. DESGIN DEPARTMENT 12 難しい事はないので、いろいろ試してみましょう 最初は逆さに置いて試すと楽です。

×