obniz+Geek Servoの車をLego Crazy Action Contraptionsのパーツで作るメモ

obniz+Geek Servoの車をLego Crazy Action Contraptionsのパーツで作るメモです。最近、ゆるメカトロというグループを作りまして、その流れで皆さんに刺激を受けながらプロトタイプを進めています。

Lego Crazy Action Contraptions とは

Lego Crazy Action Contraptions は、LEGOの中でもテクニックという、ギア(歯車)や滑車などメカニカルな方面の仕組みを学ぶのに最適なスターターキットです。

Amazon | Lego Crazy Action Contraptions | Doug Stillinger | Models

こちらで買いました。

こちらを読んでみると雰囲気がわかります。

私自身もこのキットからメカニカルの片鱗を学びましてて、以前の記事で、

の試みをするために大変にお世話になりました。

今回は、このLego Crazy Action Contraptionsにあるパーツでobniz+Geek Servoの車をつくってみます。

Geek Servoとobnizをつなげる

image

お手頃なモバイルバッテリーとobnizをつないで、Geek Servoの赤色モーターをピンヘッダ経由でつなぎます。

Geek Servoの赤色モーターをピンヘッダ経由で接続する方法は、以下の記事を参考してください。

obnizをGeek Servo モーターと連携してLEGO テクニック歯車を動かしたメモ

今回は2つモーターをつなげるので以下のようにつなぎます。

  • 1つめのモーター
    • 0番ピン
      • 黒ケーブル
    • 1番ピン
      • 赤ケーブル
  • 2つめのモーター
    • 10番ピン
      • 黒ケーブル
    • 11番ピン
      • 赤ケーブル

obnizの動かすソース

obnizを動かすソースはこちらです。YOUR_OBNIZ_IDのところを自分のobniz IDにしましょう。

<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">
  <link rel="stylesheet" href="/css/starter-sample.css">
  <script src="https://obniz.io/js/jquery-3.2.1.min.js"></script>
  <script src="https://unpkg.com/obniz@2.4.0/obniz.js" crossorigin="anonymous"></script>
</head>
<body>



<div class="wrap">

  <div class="DCMotor">
    <h3 class="text-center">Controling on a DCMotor</h3>
  </div>
  
  <div class="DCMotor">
    <button class="btn btn-primary btn-block" id="forward">Forward</button>
    <button class="btn btn-primary btn-block" id="reverse">Reverse</button>
    <button class="btn btn-primary btn-block" id="rightroll">RightRoll</button>
    <button class="btn btn-primary btn-block" id="leftroll">LeftRoll</button>
    <button class="btn btn-success btn-block " id="powerup">Power 100</button>
    <button class="btn btn-success btn-block" id="powerdown">Power 30</button>
    <button class="btn btn-secondary btn-block" id="stop">Stop</button>
  </div>

</div>

<script>
  var obniz = new Obniz("YOUR_OBNIZ_ID");
  obniz.onconnect = async function () {
    
    var motor = obniz.wired("DCMotor", {forward:0, back:1});
    var motor2 = obniz.wired("DCMotor", {forward:10, back:11});
    
    obniz.display.clear();
    obniz.display.print("Hello World");

    $('#forward').click(function () {
      motor.forward();
      motor2.reverse();
      obniz.display.clear();
      obniz.display.print("forward");
      
    });

    $('#reverse').click(function () {
      motor.reverse();
      motor2.forward();
      obniz.display.clear();
      obniz.display.print("reverse");
    });
    
    $('#rightroll').click(function () {
      motor.forward();
      motor2.forward();
      obniz.display.clear();
      obniz.display.print("forward");
      
    });

    $('#leftroll').click(function () {
      motor.reverse();
      motor2.reverse();
      obniz.display.clear();
      obniz.display.print("reverse");
    });
    
    $('#powerup').click(function () {
      motor.power(100);
      motor2.power(100);
      obniz.display.clear();
      obniz.display.print("powerup");
      
    });

    $('#powerdown').click(function () {
      motor.power(30);
      motor2.power(30);
      obniz.display.clear();
      obniz.display.print("powerdown");
    });
    
    $('#stop').click(function () {
      motor.stop();
      motor2.stop();
      obniz.display.clear();
      obniz.display.print("stop");
    });
  };
</script>
</body>
</html>

このあたりの obniz と単体の Geek Servo赤色を動かす方法が、以下にまとめてあります。

obniz+Geek Servo モーター+LEGO テクニック歯車で正・逆回転とパワー制御したメモ

Geek ServoにLEGOをつなげる

Geek ServoにLEGOをつなげます。

image

まず、LEGOから、ハンドルとコネクターペグを用意します。

image

Geek Servoにハンドルをつけます。

image

ちょうど十字の穴に入るのでよく見てみましょう。

つづいて、コネクターペグです。

image

ここで大事なポイントは、

  • 右側のGeek Servo
    • obniz 0番1番ピンから出ているもの
    • Geek Servoのケーブルが地面側から出ている
  • 左側のGeek Servo
    • obniz 10番11番ピンから出ているもの
    • Geek Servoのケーブルが上向きで出ている

という配置にしてコネクターペグをつけます。

obniz+Geek Servoの基礎は完成です、一度でobnizから実際に動かしてみましょう。

image

Frontというボタンを押して前方向に車輪が回ったら成功です。

LEGOで車体を作る

いよいよ、LEGOで車体を作ります。

image

Lego Crazy Action Contraptionsからこちらを用意して、組み立てます。

image

灰色の平たいパーツをこのように赤色の穴開きブロックの間に挟んでくっつけます。

image

この車体にGeek Servoをくっつけるため、まずこのように配置します。

  • 右側のGeek Servo
    • obniz 0番1番ピンから出ているもの
    • Geek Servoのケーブルが地面側から出ている
  • 左側のGeek Servo
    • obniz 10番11番ピンから出ているもの
    • Geek Servoのケーブルが上向きで出ている

となっています。

image

この状態で、コネクターペグを位置を確認して、右側にはobniz 0番1番ピンから出ているGeek Servo、左側にはobniz 10番11番ピンから出ているGeek Servoをコネクターペグを穴に差し込みます。

image

こちらで車体にGeek Servoがつながりました!

前輪を車体にくっつける

前輪を作ります。

image

  • 車輪 2つ
  • ブッシュ 2つ
  • 長い十字軸
  • アングル コネクター

このようなパーツを用意します。

image

長い十字軸は、グレーの車輪2つぶんくらい。

image

長い十字軸にこのようにパーツをつけます。

image

両脇に車輪もつけます。

image

  • ブッシュ 1つ
  • 長い十字軸

このようなパーツを用意します。

image

先ほど組んだものに短い十字軸は、グレーの車輪1つぶんくらい。

image

短い十字軸を挿し込んでブッシュで止めます。

image

車体のグレーの穴開きブロックの真ん中に差し込みます。

image

ブッシュで抜けないように止めます。

image

コネクターペグ2つを用意します。

image

最後にコネクターペグ2つを写真のようにくっつけてモバイルバッテリーの留め具にします。

モバイルバッテリーとobnizを載せる

image

モバイルバッテリーはこのあたりに載せて、マスキングテープで固定します。

image

灰色のブロックが出っ張っているところに、モバイルバッテリーと挟む形で obnizを載せます。ケーブルの差し込みが上向きになるのが良い形です。

image

ケーブルも垂れたままだとタイヤに絡むので、適度にまとめて写真のようにマスキングテープで留めときます。

動かしてみる

image

obnizで実行してみるとこのようなボタン群が出てきます。

  • Foward
    • 前進
  • Reverse
    • バック
  • RightRoll / LeftRoll
    • 車体が回る
  • Power 100
    • 速度アップ
  • Power 30
    • 速度ダウン
  • Stop
    • 停止

となっています。

色々動かしてみましょう!

とは書いているものの

もしかすると、

  • 前進・後退が反対かもしれない
  • 回転も反対になるかもしれない

というのがうまくまとまってない気がするので、そのときは、obnizの回転のソースを修正して反転させるのがいいと思います。