obnizをGeek Servo サーボと連携してLEGO テクニック歯車を動かしたメモです。
obnizをGeek Servo モーターと連携してLEGO テクニック歯車を動かしたメモのもう一つ Geek Servo サーボ型の方も動かしてみました。
Geek Servo サーボ型は灰色です。
Geek Servo モーター型と同様、このようなピンヘッダでobnizに橋渡しをします。
このようにつなぎます。
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>
動かしてみる
まずは動作確認。
無事動きました!
さらにLEGOと連携してみる
やはり、軸受けにLEGOのテクニックパーツがぴったり刺さるのが魅力。
家にあったもので、横スライドに力の方向を変更する仕組みをつくりました。
こちらもうまく力が伝わり、棒を押し出す動きに変換できました!