JavaScript Powered Robot Arm with Johnny-Five
File: examples/robotarm-show.js
File: examples/robotarm-automation.js
You can check out the examples for above videos.
var five = require('johnny-five');
var board = new five.Board();
board.on('ready', function() {
var RobotArm = require('robotarm');
var robotarm = new RobotArm({
axis: {
pivot: new five.Servo(3), // attached to pin 3
stand: new five.Servo(5),
shoulder: new five.Servo(6),
elbow: new five.Servo(9),
wrist: new five.Servo(10),
claw: new five.Servo(11)
}
});
// Allows direct command line access
this.repl.inject({
robotarm: robotarm
});
robotarm
.then(function(next) {
// Move all axes to the center position in 1000ms.
this.axis.pivot.center(1000);
this.axis.stand.center(1000);
this.axis.shoulder.center(1000);
this.axis.elbow.center(1000);
this.axis.wrist.center(1000);
this.axis.claw.center(1000);
setTimeout(next, 1500);
})
.then(function(next) {
// Move claw axis to 10 degrees in 2000ms.
this.axis.claw.to(10, 2000);
setTimeout(next, 2000);
})
.then(function(next) {
// Move claw axis to 170 degrees in 2000ms.
this.axis.claw.to(170, 2000);
setTimeout(next, 2000);
})
.then(function(next) {
// Do other stuff
next();
});
robotarm.play({
loop: true // Set loop to true to execute continuously.
});
setTimeout(function() {
robotarm.stop(); // Stop robotarm after 20 seconds.
}, 20 * 1000);
});