johnny-five
Version:
Firmata based Arduino Programming Framework.
42 lines (30 loc) • 833 B
JavaScript
var five = require("../lib/johnny-five.js"),
board;
board = new five.Board();
board.on("ready", function() {
var range, pan, tilt, accel;
range = [ 0, 170 ];
// Servo to control panning
pan = new five.Servo({
pin: 9,
range: range
});
// Servo to control tilt
tilt = new five.Servo({
pin: 10,
range: range
});
// Accelerometer to control pan/tilt
accel = new five.Accelerometer({
pins: [ "A3", "A4", "A5" ],
freq: 250
});
// Center all servos
(five.Servos()).center();
accel.on("acceleration", function( err, timestamp ) {
// console.log( "acceleration", this.axis );
tilt.move( Math.abs( Math.ceil(170 * this.pitch.toFixed(2)) - 180 ) );
pan.move( Math.ceil(170 * this.roll.toFixed(2)) );
// TODO: Math.abs(v - 180) as inversion function ?
});
});