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

obnizをGeek Servo サーボと連携してLEGO テクニック歯車を動かしたメモです。

obnizをGeek Servo モーターと連携してLEGO テクニック歯車を動かしたメモのもう一つ Geek Servo サーボ型の方も動かしてみました。

image

Geek Servo サーボ型は灰色です。

image

Geek Servo モーター型と同様、このようなピンヘッダでobnizに橋渡しをします。

image

このようにつなぎます。

image

obnizのServoMotorを参考に、このように差し込みました。

  • 茶色ケーブル
    • 0番ピン
  • 赤色ケーブル
    • 1番ピン
  • オレンジケーブル
    • 2番ピン

ソースコード

ソースコードはこちらです。サーボのソースは特に苦労することなくつなげられました。

<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 id="obniz-debug"></div>

<div class="wrap">

  <div class="led">
    <h3 class="text-center">Turning on a Geek Servo</h3>
    <button class="btn btn-primary" id="on">ON</button>
    <button class="btn btn-outline-primary" id="off">OFF</button>
  </div>

</div>

<script>
  var obniz = new Obniz("OBNIZ_ID_HERE");
  obniz.onconnect = async function () {
    
    obniz.display.clear();
    obniz.display.print("Hello World");
    
    var servo = obniz.wired("ServoMotor", {gnd:0,vcc:1,signal:2});
    servo.angle(90.0);

    $('#on').click(function () {
      servo.angle(60.0);
      obniz.display.clear();
      obniz.display.print("60 degree");
    });

    $('#off').click(function () {
      servo.angle(120.0);
      obniz.display.clear();
      obniz.display.print("120 degree");
    });
  };
</script>
</body>
</html>

動かしてみる

image

まずは動作確認。

無事動きました!

さらにLEGOと連携してみる

image

やはり、軸受けにLEGOのテクニックパーツがぴったり刺さるのが魅力。

image

家にあったもので、横スライドに力の方向を変更する仕組みをつくりました。

こちらもうまく力が伝わり、棒を押し出す動きに変換できました!