Skip to content

Instantly share code, notes, and snippets.

@vitalych
Last active September 29, 2018 18:10
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save vitalych/7df4a15ae9a7a1ca80d3fea931622f6b to your computer and use it in GitHub Desktop.
Save vitalych/7df4a15ae9a7a1ca80d3fea931622f6b to your computer and use it in GitHub Desktop.
// npm install johnny-five etherport-client keypress
var keypress = require('keypress');
var five = require("johnny-five");
var EtherPortClient = require("etherport-client").EtherPortClient;
var board = new five.Board({
port: new EtherPortClient({
host: "192.168.252.21",
port: 3030
}),
timeout: 1e5,
repl: false
});
board.on("ready", function () {
console.log("READY!");
var leftWheel = new five.Motor({
pins: {
pwm: 15,
dir: 13
}
});
var rightWheel = new five.Motor({
pins: {
pwm: 14,
dir: 12
}
});
leftWheel.setPWM(15, 0);
leftWheel.setPin(13, 0);
rightWheel.setPWM(14, 0);
rightWheel.setPin(12, 0);
keypress(process.stdin);
process.stdin.resume();
process.stdin.setEncoding('utf8');
process.stdin.setRawMode(true);
console.log("press a key");
process.stdin.on('keypress', function (ch, key) {
if (!key) {
return;
}
if (key.name === 'q') {
console.log('Quitting');
leftWheel.setPWM(15, 0);
leftWheel.setPin(13, 0);
rightWheel.setPWM(14, 0);
rightWheel.setPin(12, 0);
process.exit();
} else if (key.name === 'right') {
console.log('Right');
leftWheel.setPin(13, 0);
leftWheel.setPWM(15, 0);
rightWheel.setPWM(14, 2000);
rightWheel.setPin(12, 0);
} else if (key.name === 'left') {
console.log('Left');
leftWheel.setPWM(15, 2000);
leftWheel.setPin(13, 0);
rightWheel.setPWM(14, 0);
rightWheel.setPin(12, 0);
} else if (key.name === 'up') {
console.log('Forward');
leftWheel.setPWM(15, 2000);
leftWheel.setPin(13, 0);
rightWheel.setPWM(14, 2000);
rightWheel.setPin(12, 0);
} else if (key.name === 'down') {
console.log('Backward');
leftWheel.setPWM(15, 0);
leftWheel.setPin(13, 1)
rightWheel.setPWM(14, 0);
rightWheel.setPin(12, 1);
} else if (key.name === 'space') {
console.log('Stopping');
leftWheel.setPin(13, 0);
leftWheel.setPWM(15, 0);
rightWheel.setPin(12, 0);
rightWheel.setPWM(14, 0);
}
});
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment