Run this example from the command line with:

node eg/accelerometer-pan-tilt.js
const { Accelerometer, Board, Servo, Servos } = require("johnny-five");
const board = new Board();

board.on("ready", () => {

  const range = [0, 170];

  // Servo to control panning
  const pan = new Servo({
    pin: 9,
    range
  });

  // Servo to control tilt
  const tilt = new Servo({
    pin: 10,
    range
  });

  // Accelerometer to control pan/tilt
  const accelerometer = new Accelerometer({
    pins: ["A3", "A4", "A5"],
    freq: 250
  });

  // Center all servos
  new Servos([pan, tilt]).center();

  accelerometer.on("acceleration", () => {
    tilt.to(Math.abs(Math.ceil(170 * accelerometer.pitch.toFixed(2)) - 180));
    pan.to(Math.ceil(170 * accelerometer.roll.toFixed(2)));
  });
});

 

Component Classes in this example:

Hi! The Johnny-Five community is building new projects every day. We made this newsletter to tell you about what's new, what's good, and what's next for Open Source robotics. Join us in exploring what we can make together.

Fork me on GitHub