まず、以下のように接続してください
サーボ1 Gnd - 0
VCC - 1
Signal - 2
サーボ2 Gnd - 3
VCC - 4
Signal - 5
サーボ3 Gnd - 6
VCC - 7
Signal - 8
サーボ4 Gnd - 9
VCC - 10
Signal - 11
obnizサーボモータ制御002<br />
<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
<script src="https://unpkg.com/obniz@3.x/obniz.js" crossorigin="anonymous" ></script>
obniz ID:<input type="text" id="oid" style="width: 100px;">
<button onClick="init();">開始</button><br />
状態:<span id="sts"></span>
<hr />
サーボ1:<button onClick="moveServo(1, 4);">ー</button>
<span id="servo1">90</span>
<button onClick="moveServo(1, -4);">+</button><br />
サーボ2:<button onClick="moveServo(2, -2);">ー</button>
<span id="servo2">90</span>
<button onClick="moveServo(2, 2);">+</button><br />
サーボ3:<button onClick="moveServo(3, -2);">ー</button>
<span id="servo3">90</span>
<button onClick="moveServo(3, 2);">+</button><br />
サーボ4:<button onClick="moveServo(4, -5);">ー</button>
<span id="servo4">90</span>
<button onClick="moveServo(4, 5);">+</button><br />
<script>
var obniz;
var sv = [];
function init() {
$("#sts").html("開始");
obniz = new Obniz($("#oid").val());
obniz.onconnect = async function () {
$("#sts").html("接続しました");
sv[1] = obniz.wired("ServoMotor", {gnd:0, vcc: 1, signal: 2});
sv[2] = obniz.wired("ServoMotor", {gnd:3, vcc: 4, signal: 5});
sv[3] = obniz.wired("ServoMotor", {gnd:6, vcc: 7, signal: 8});
sv[4] = obniz.wired("ServoMotor", {gnd:9, vcc:10, signal:11});
setTimeout(function() {
obniz.display.clear();
obniz.display.print("接続しました");
}, 5000);
}
}
async function moveServo(ind, diff) {
let a = parseInt($("#servo"+ind).html());
a += diff;
$("#servo"+ind).html(a);
await sv[ind].angle(a);
obniz.display.clear();
obniz.display.print(ind+","+a+"°");
}
</script>