Skip to content

Instantly share code, notes, and snippets.

@zrxq
Last active September 25, 2017 21:14
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 zrxq/71a3e69cf9abca317aba47bf99ebe6d5 to your computer and use it in GitHub Desktop.
Save zrxq/71a3e69cf9abca317aba47bf99ebe6d5 to your computer and use it in GitHub Desktop.
Прошивка для сумобота тип Б
var keypress = require('keypress');
var five = require("johnny-five");
var EtherPortClient = require("etherport-client").EtherPortClient;
var board = new five.Board({
port: new EtherPortClient({
host: "10.0.1.8",
port: 3030
}),
timeout: 1e5,
repl: false
});
board.on("ready", function() {
console.log("READY!");
var leftWheel= new five.Motor({
pins: {
pwm: 15,
dir: 13,
cdir: 12
}
});
var rightWheel = new five.Motor({
pins: {
pwm: 14,
dir: 2,
cdir: 0
}
});
leftWheel.setPWM(15,0);
leftWheel.setPin(13,0);
leftWheel.setPin(12,0);
rightWheel.setPWM(14,0);
rightWheel.setPin(2,0);
rightWheel.setPin(0,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) {
var speed = 1600
if ( !key ) { return; }
if ( key.name === 'q' ) {
console.log('Quitting');
process.exit();
} else if ( key.name === 'up' ) {
console.log('Forward');
leftWheel.setPWM(15,speed);
leftWheel.setPin(13,1);
leftWheel.setPin(12,0);
rightWheel.setPWM(14,speed);
rightWheel.setPin(2,1);
rightWheel.setPin(0,0);
} else if ( key.name === 'down' ) {
console.log('Backward');
leftWheel.setPWM(15,speed);
leftWheel.setPin(13,0);
leftWheel.setPin(12,1);
rightWheel.setPWM(14,speed);
rightWheel.setPin(2,0);
rightWheel.setPin(0,1);
} else if ( key.name === 'right' ) {
console.log('Right');
leftWheel.setPWM(15,speed / 4);
leftWheel.setPin(13,0);
leftWheel.setPin(12,1);
rightWheel.setPWM(14,speed / 8);
rightWheel.setPin(2,1);
rightWheel.setPin(0,0);
} else if ( key.name === 'left' ) {
console.log('Left');
leftWheel.setPWM(15,speed / 8);
leftWheel.setPin(13,1);
leftWheel.setPin(12,0);
rightWheel.setPWM(14,speed / 4);
rightWheel.setPin(2,0);
rightWheel.setPin(0,1);
} else if ( key.name === 'space' ) {
console.log('Stopping');
leftWheel.setPWM(15,speed);
leftWheel.setPin(13,0);
leftWheel.setPin(12,0);
rightWheel.setPWM(14,speed);
rightWheel.setPin(2,0);
rightWheel.setPin(0,0);
}
});
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment