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
こちらで買いました。
こちらを読んでみると雰囲気がわかります。
私自身もこのキットからメカニカルの片鱗を学びましてて、以前の記事で、
- DMM.makeでlittleBitsとLEGO連携パーツ(フリーCADデータ)を出力したメモ – 1ft-seabass.jp.MEMO
- 昨年末に3Dプリンタ関連でちょっとだけ読売新聞に掲載されました – 1ft-seabass.jp.MEMO
の試みをするために大変にお世話になりました。
今回は、このLego Crazy Action Contraptionsにあるパーツでobniz+Geek Servoの車をつくってみます。
Geek Servoとobnizをつなげる

お手頃なモバイルバッテリーとobnizをつないで、Geek Servoの赤色モーターをピンヘッダ経由でつなぎます。
Geek Servoの赤色モーターをピンヘッダ経由で接続する方法は、以下の記事を参考してください。
https://www.1ft-seabass.jp/memo/2019/11/17/geek-servo-meets-obniz-and-lego-technic/
今回は2つモーターをつなげるので以下のようにつなぎます。
- 1つめのモーター
- 0番ピン
- 黒ケーブル
- 1番ピン
- 赤ケーブル
- 0番ピン
- 2つめのモーター
- 10番ピン
- 黒ケーブル
- 11番ピン
- 赤ケーブル
- 10番ピン
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赤色を動かす方法が、以下にまとめてあります。
https://www.1ft-seabass.jp/memo/2019/11/19/geek-servo-dcmotor-obniz-and-lego-technic/
Geek ServoにLEGOをつなげる
Geek ServoにLEGOをつなげます。

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

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

ちょうど十字の穴に入るのでよく見てみましょう。
つづいて、コネクターペグです。

ここで大事なポイントは、
- 右側のGeek Servo
- obniz 0番1番ピンから出ているもの
- Geek Servoのケーブルが地面側から出ている
- 左側のGeek Servo
- obniz 10番11番ピンから出ているもの
- Geek Servoのケーブルが上向きで出ている
という配置にしてコネクターペグをつけます。
obniz+Geek Servoの基礎は完成です、一度でobnizから実際に動かしてみましょう。

Frontというボタンを押して前方向に車輪が回ったら成功です。
LEGOで車体を作る
いよいよ、LEGOで車体を作ります。

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

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

この車体にGeek Servoをくっつけるため、まずこのように配置します。
- 右側のGeek Servo
- obniz 0番1番ピンから出ているもの
- Geek Servoのケーブルが地面側から出ている
- 左側のGeek Servo
- obniz 10番11番ピンから出ているもの
- Geek Servoのケーブルが上向きで出ている
となっています。

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

こちらで車体にGeek Servoがつながりました!
前輪を車体にくっつける
前輪を作ります。

- 車輪 2つ
- ブッシュ 2つ
- 長い十字軸
- アングル コネクター
このようなパーツを用意します。

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

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

両脇に車輪もつけます。

- ブッシュ 1つ
- 長い十字軸
このようなパーツを用意します。

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

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

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

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

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

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

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

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

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

obnizで実行してみるとこのようなボタン群が出てきます。
- Foward
- 前進
- Reverse
- バック
- RightRoll / LeftRoll
- 車体が回る
- Power 100
- 速度アップ
- Power 30
- 速度ダウン
- Stop
- 停止
となっています。
色々動かしてみましょう!
とは書いているものの
もしかすると、
- 前進・後退が反対かもしれない
- 回転も反対になるかもしれない
というのがうまくまとまってない気がするので、そのときは、obnizの回転のソースを修正して反転させるのがいいと思います。