Introducing Socket Firewall: Free, Proactive Protection for Your Software Supply Chain.Learn More
Socket
Book a DemoInstallSign in
Socket

mecanum

Package Overview
Dependencies
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

mecanum

This library is just a helper to work with a mecanum wheel configuration. Set the values for cw, ccw, and stop and the mecanum helper will spit out the values to set each motor/servo at.

latest
npmnpm
Version
1.0.6
Version published
Weekly downloads
4
300%
Maintainers
1
Weekly downloads
 
Created
Source

Mecanum

This library is just a helper to work with a mecanum wheel configuration. Set the values for cw, ccw, and stop and the mecanum helper will spit out the values to set each motor/servo at.

To install

npm install mecanum

Require it in your code.

var Mecanum = require('mecanum')
// Set the base values for your motor or servo

Set the values for cw, ccw, and stop and the mecanum helper will spit out the values to set each motor/servo at.

var mec = new Mecanum({
    'cw': 60,
    'ccw': 40,
    'stop': 51,
  });

Call as a function

var values = mec.move('forward');

Or as a callback

mec.move('forward', function(data){
    console.log(data);
  });

Returns

{ "LF": 60,
  "LB": 60,
  "RF": 60,
  "RB": 60
}

Directions

        'forward'
        'backward'
        'left'
        'right'
        'ne'
        'nw'
        'se'
        'sw'
        'stop'
        'cw'
        'ccw'

Use the values to set your motors.

 //This part will be different based on what robotics library
 //you are using, but it gives you the idea.

left_front_motor.speed(values.LF);
left_back_motor.speed(values.LB);
right_front_motor.speed(values.RF);
right_back_motor.speed(values.RB);

With johnny-five continuous servos

var five = require("johnny-five");
var Mecanum = require('mecanum')
// Don't provide options and it will default to servo settings
// which is to say it will return string 'cw', 'ccw', or 'stop'
var mec = new Mecanum();
var board = new five.Board();

  board.on("ready", function() {
    var leftb  = new five.Servo.Continuous(3).stop();
    var leftf  = new five.Servo.Continuous(5).stop();
    var rightf = new five.Servo.Continuous(6).stop();
    var rightb = new five.Servo.Continuous(9).stop();

    mec.move('forward', function(values){
      leftf[values.LF];
      leftb[values.LB];
      rightf[values.RF];
      rightb[values.RB];
    });  
  });

With Johnny-Five ESC

var five = require("johnny-five");
var Mecanum = require('mecanum')
var mec = new Mecanum({
    'cw': 60,
    'ccw': 40,
    'stop': 51,
  });

  var board = new five.Board();

  board.on("ready", function() {
    var leftf = new five.ESC({
        device: "FORWARD_REVERSE",
        neutral: 50,
        pin: 9
      });

      var leftb = new five.ESC({
        device: "FORWARD_REVERSE",
        neutral: 50,
        pin: 5
      });

      var rightb = new five.ESC({
        device: "FORWARD_REVERSE",
        neutral: 50,
        pin: 3
      });

      var rightf = new five.ESC({
        device: "FORWARD_REVERSE",
        neutral: 50,
        pin: 6
      });

    mec.move('forward', function(values){
      leftf.speed(values.LF);
      leftb.speed(values.LB);
      rightf.speed(values.RF);
      rightb.speed(values.RB);
    });  
  });

FAQs

Package last updated on 31 May 2016

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts