diff --git a/backside.js b/backside.js index c0f7847..cbdd27e 100644 --- a/backside.js +++ b/backside.js @@ -11,12 +11,12 @@ module.exports = { connect: function(port, callback) { var orb = sphero(port); orb.connect(function() { - orb.detectCollisions(); // 衝突判定を有効化 - console.log("準備開始"); + console.log("準備開始"); orb.startCalibration(); // 位置関係の補正 setTimeout(function() { console.log("準備終了"); orb.finishCalibration(); + orb.detectCollisions(); // 衝突判定を有効化 callback(orb); }, 10000); }); diff --git a/isStop.js b/isStop.js new file mode 100644 index 0000000..6a891a0 --- /dev/null +++ b/isStop.js @@ -0,0 +1,21 @@ +var sphero = require("sphero"); +var orb = sphero("COM3"); + +orb.connect(function() { + orb.startCalibration(); + setTimeout(function() { + orb.finishCalibration(); + orb.streamAccelerometer(10); + setInterval(function() { + orb.roll(255, 0); + }, 500); + orb.on("accelerometer", function(data) { + console.log(data.xAccel.value[0] + ", " + data.zAccel.value[0]); + // if (data.xAccel.value[0] < -600 || data.zAccel.value[0] < -600) { + // console.log("動いている"); + // } else { + // console.log("止まっている"); + // } + }); + }, 5000); +}); diff --git a/package.json b/package.json index 1e38027..ffff4bc 100644 --- a/package.json +++ b/package.json @@ -5,6 +5,7 @@ "main": "main.js", "dependencies": {}, "devDependencies": { + "keypress": "^0.2.1", "sphero": "^0.7.0" }, "scripts": { diff --git a/velocity.js b/velocity.js new file mode 100644 index 0000000..fa774eb --- /dev/null +++ b/velocity.js @@ -0,0 +1,20 @@ +var sphero = require("sphero"); +var orb = sphero("COM7"); + +orb.connect(function() { + orb.startCalibration(); + + setTimeout(function() { + orb.finishCalibration(); + orb.streamAccelerometer(); + setInterval(function() { + orb.roll(255, 0); + }, 500); + orb.on("accelerometer", function(data) { + console.log("data:"); + console.log(" xAccel:", data.xAccel); + console.log(" yAccel:", data.yAccel); + console.log(" zAccel:", data.zAccel); + }); + }, 5000); +}); diff --git a/ziguzagu.js b/ziguzagu.js index ea9cf81..909d4b6 100644 --- a/ziguzagu.js +++ b/ziguzagu.js @@ -1,4 +1,5 @@ var backside = require("./backside"); +var keypress = require("keypress"); // 自分の Sphero の ID に置き換える var port = "/dev/tty.Sphero-YRW-AMP-SPP"; @@ -10,20 +11,31 @@ var angles = [ ]; var currentAnglePoint = 0; +var graph = []; + // 接続された時に呼び出されます。 function connect() { orb.color(orbDefaultColor); setTimeout(loop, loopInterval); // ここに処理を書きます - backside.move(255,angles[currentAnglePoint%5], orb); - currentAnglePoint++; + backside.move(255,angles[Math.max(currentAnglePoint++, angles.length)], orb); + + orb.streamAccelerometer(); + + orb.on("accelerometer", function(data) { + if (Math.abs(data.xAccel.value[0]) < 1000) { + console.log("止まっている"); + } else { + console.log("動いている"); + } + }); // ここまで } // メインとなるループ処理(上のloopIntervalの間隔で呼び出されます) function loop() { // ここに処理を書きます - + // ここまで setTimeout(loop, loopInterval); } @@ -35,8 +47,7 @@ function collision() { setTimeout(function() { orb.color("green"); }, 500); - backside.move(255,angles[currentAnglePoint%5], orb); - currentAnglePoint++; + backside.move(255,angles[Math.max(currentAnglePoint++, angles.length)], orb); // ここまで }