This website is available for multi language.

Two obniz integration

obnizにつないだボリュームで別のobnizのサーボモーターを動かす

接続

今回は2つのobnizを使います。
1つのobnizにボリュームをつなぎます。
そしてその値で別のobnizにあるサーボモーターを回してみましょう。

まず、1つめのobniz(obnizAとします)の0,1,2にボリュームをつなぎます。

そして、2つめのobniz(obnizBとします)の0,1,2にサーボモーターをつなぎます。

  1. io0 servomotor gnd
  2. io1 servomotor vcc
  3. io2 servomotor signal

こうなります

プログラム

今までは1つのobnizにつなげばよかったのですが、今回は2つのobnizそれぞれに接続しなければなりません。
シンプルに行くなら、1つめのobnizの接続に成功してから2つめにつなぎに行くとトラブルが少なくて良いです。
obnizAを0000-0000として、obnizBを1234-5678とするならば

var obnizA = new Obniz("0000-0000");
obnizA.onconnect = async function () {
  var obnizB = new Obniz("1234-5678");
  obnizB.onconnect = async function() {
    // integration here 
  }
}

このようにしてはどうでしょうか。
0000-0000の接続に成功した後に1234-5678の接続を行っています。
そして1234-5678の接続に成功した後に色々なことを書くようにしています。
一番簡単です。
しかし、obnizAの接続が切れて再接続するとobnizBを再生成する問題があります。
今回はその件は無視していきましょう。

さて、integration hereのところにobnizAのボリュームでobnizBのサーボモーターを動かすプログラムを書いてみましょう。
ここは前回やったプログラムと全く同じです。
違うのはservoのwiredがobnizBになっているところぐらいです。

<html>
<head>
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <script src="https://obniz.io/js/jquery-3.2.1.min.js"></script>
  <script src="https://unpkg.com/obniz@2.4.0/obniz.js"></script>
</head>
<body>

<div id="obniz-debug"></div>
<h1>Dial to Servo(two obniz)</h1>

<script>
var obnizA = new Obniz("OBNIZ_ID_HERE");
obnizA.onconnect = async function () {
  var obnizB = new Obniz("OBNIZ_ID_HERE");
  obnizB.onconnect = async function(){
    var meter = obnizA.wired("Potentiometer", {pin0:0, pin1:1, pin2:2});
    var servo = obnizB.wired("ServoMotor", {gnd:0, vcc:1, signal:2});
    meter.onchange = function(position) {
      servo.angle(position * 180);
    };
  }
}
</script>
</body>
</html>

このようなプログラムになります。
これをプログラム画面にコピーして実行してみましょう。
どうでしょう、遠く離れた別のobnizのサーボモーターを動かせると思います。

インターネット経由ですからこの2つは近くになくてもいいのです、Wi-Fiさえあればサーボモーターを違う国から動かすこともできます。



Next : ループのやり方

最短で翌日に届きます

obniz BoardはAmazonや公式ストアから購入できます。最短で当日出荷いたします。
取り扱い店舗はこちらから。

製品紹介

フォーラム

obnizフォーラムでは、obnizユーザー同士で意見交換することができます。
疑問・質問もお気軽にどうぞ。

フォーラム

お問い合わせ

製品・サービスに関するお問い合わせや、導入・開発のご相談など、お気軽にお問い合わせください。

お問い合わせフォーム