Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cheton/robotarm
JavaScript Powered Robot Arm with Johnny-Five
https://github.com/cheton/robotarm
Last synced: about 1 month ago
JSON representation
JavaScript Powered Robot Arm with Johnny-Five
- Host: GitHub
- URL: https://github.com/cheton/robotarm
- Owner: cheton
- License: mit
- Created: 2015-09-16T10:12:00.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2016-10-01T08:11:43.000Z (about 8 years ago)
- Last Synced: 2024-05-21T17:31:49.267Z (6 months ago)
- Language: JavaScript
- Homepage: https://github.com/cheton/robotarm
- Size: 27.3 KB
- Stars: 12
- Watchers: 4
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-nodebots - RobotArm - Five by [Cheton Wu](https://twitter.com/cheton) (Examples / Robot Programming Plugins)
README
# RobotArm [![build status](https://travis-ci.org/cheton/robotarm.svg?branch=master)](https://travis-ci.org/cheton/robotarm) [![Coverage Status](https://coveralls.io/repos/cheton/browserify-css/badge.svg)](https://coveralls.io/r/cheton/robotarm)
[![NPM](https://nodei.co/npm/robotarm.png?downloads=true&stars=true)](https://nodei.co/npm/robotarm/)
JavaScript Powered Robot Arm with Johnny-Five
## Demo
#### Roadshow
File: [examples/robotarm-show.js](examples/robotarm-roadshow.js)
[![IMAGE ALT TEXT](http://img.youtube.com/vi/aYJ7rFvTvoU/0.jpg)](https://www.youtube.com/watch?v=aYJ7rFvTvoU "JavaScript Powered Robot Arm with Johnny-Five")#### Automation
File: [examples/robotarm-automation.js](examples/robotarm-automation.js)
[![IMAGE ALT TEXT](http://img.youtube.com/vi/9-F1qE_ZfTo/0.jpg)](https://www.youtube.com/watch?v=9-F1qE_ZfTo "JavaScript Powered Robot Arm with Johnny-Five")You can check out the [examples](https://github.com/cheton/robotarm/blob/master/examples/) for above videos.
## Examples
```js
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);
});
```