Advertisement
Guest User

Untitled

a guest
Jun 26th, 2019
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.21 KB | None | 0 0
  1. // =======================
  2. // Derived from the work done by @makenai on the
  3. // SumoBot Jr
  4. // =======================
  5.  
  6. var five = require("johnny-five");
  7. var keypress = require('keypress');
  8.  
  9. var RSTOPVAL = 93;
  10. var LSTOPVAL = 90;
  11.  
  12. var opts = {};
  13. opts.port = process.argv[2] || "";
  14.  
  15. keypress(process.stdin);
  16.  
  17. var board = new five.Board(opts);
  18.  
  19. board.on("ready", function() {
  20.  
  21. console.log("Control the bot with the arrow keys, and SPACE to stop.")
  22.  
  23. var left_wheel = new five.Servo({ pin: 9, type: 'continuous' });
  24. var right_wheel = new five.Servo({ pin: 10, type: 'continuous' });
  25. var stand_up_down = new five.Servo({ pin: 12, type: 'continuous' });
  26. var stand_left_right = new five.Servo({ pin: 11, type: 'continuous' });
  27.  
  28. process.stdin.resume();
  29. process.stdin.setEncoding('utf8');
  30. process.stdin.setRawMode(true);
  31.  
  32. process.stdin.on('keypress', function (ch, key) {
  33.  
  34. if ( !key ) return;
  35.  
  36. if ( key.name == 'q' ) {
  37. console.log('Quitting');
  38. process.exit();
  39. } else if ( key.name == 'up' ) {
  40.  
  41. console.log('Forward');
  42. left_wheel.cw();
  43. right_wheel.ccw();
  44.  
  45. } else if ( key.name == 'down' ) {
  46.  
  47. console.log('Backward');
  48. left_wheel.ccw();
  49. right_wheel.cw();
  50.  
  51. } else if ( key.name == 'left' ) {
  52.  
  53. console.log('Left');
  54. left_wheel.ccw();
  55. right_wheel.ccw();
  56.  
  57. } else if ( key.name == 'right' ) {
  58.  
  59. console.log('Right');
  60. left_wheel.cw();
  61. right_wheel.cw();
  62.  
  63. } else if ( key.name == 'space' ) {
  64.  
  65. console.log('Stopping');
  66. left_wheel.to(LSTOPVAL);
  67. right_wheel.to(RSTOPVAL);
  68.  
  69. } else if ( key.name == 'w' ) {
  70. console.log('Up');
  71. stand_up_down.ccw();
  72. } else if ( key.name == 's' ) {
  73. console.log('Down');
  74. stand_up_down.cw();
  75. } else if ( key.name == 'a' ) {
  76. console.log('Left');
  77. stand_left_right.cw();
  78. } else if ( key.name == 'd' ) {
  79. stand_left_right.ccw();
  80. }
  81. });
  82. });
  83.  
  84. board.on("error", function(err) {
  85. console.log(err.message);
  86. process.exit();
  87. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement