Skip to content

Instantly share code, notes, and snippets.

@ghtomcat
Created September 20, 2016 05:46
Show Gist options
  • Save ghtomcat/0f208d1210e5c75ded7b5e71b7db209d to your computer and use it in GitHub Desktop.
Save ghtomcat/0f208d1210e5c75ded7b5e71b7db209d to your computer and use it in GitHub Desktop.
var five = require('johnny-five');
var keypress = require('keypress');
var board = new five.Board();
board.on('ready', function() {
console.log('Welcome to Sumobot!');
console.log('Control the bot with the arrow keys, and SPACE to stop.');
var leftWheel= new five.Motor({
pins: {
pwm: 5,
dir: 9
},
invertPWM: true
});
var rightWheel = new five.Motor({
pins: {
pwm: 6,
dir: 10,
},
invertPWM: true
});
keypress(process.stdin);
process.stdin.resume();
process.stdin.setEncoding('utf8');
process.stdin.setRawMode(true);
process.stdin.on('keypress', function (ch, key) {
if ( !key ) { return; }
if ( key.name === 'q' ) {
console.log('Quitting');
process.exit();
} else if ( key.name === 'up' ) {
console.log('Forward');
leftWheel.reverse(130);
rightWheel.reverse(130);
} else if ( key.name === 'down' ) {
console.log('Backward');
leftWheel.forward(130);
rightWheel.forward(130);
} else if ( key.name === 'left' ) {
console.log('Left');
leftWheel.forward(130);
rightWheel.reverse(130);
} else if ( key.name === 'right' ) {
console.log('Right');
leftWheel.reverse(130);
rightWheel.forward(130);
} else if ( key.name === 'space' ) {
console.log('Stopping');
leftWheel.stop();
rightWheel.stop();
}
});
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment