domingo, 27 de julio de 2014

Codigo de NodeBots

var keypress = require('keypress'),
    five = require("johnny-five"),
    board = new five.Board({
      //port: '/dev/cu.itead-DevB'
      port: '/dev/cu.usbmodem1411'
    });

board.on("ready", function() {

  console.log("Testint motors... ");

  // motor = new five.Motor({
  //   pins: {
  //     pwm: 4,
  //     dir: 5
  //   }
  // });
  motor1Fwd = new five.Led({
    pin: 5
  });

  motor1Rev = new five.Led({
    pin: 4
  });

  motor2Fwd = new five.Led({
    pin: 6
  });

  motor2Rev = new five.Led({
    pin: 7
  });


  board.repl.inject({
    motor1Fwd: motor1Fwd,
    motor1Rev: motor1Rev,
    motor2Fwd: motor2Fwd,
    motor2Rev: motor2Rev
  });

  // make `process.stdin` begin emitting "keypress" events
  keypress(process.stdin);

   // listen for the "keypress" event
  process.stdin.on('keypress', function (ch, key) {
    if (key && key.ctrl && key.name == 'c') {
      process.exit(0);
    }

    if ( key ){
      switch ( key.name ){
        case 'up':
          console.log(' => Up: ');
          motor1Fwd.on()
          motor2Rev.on()
          break;
        case 'down':
          motor2Fwd.on();
          motor1Rev.on();
          break;
        case 'left':
          motor1Fwd.off()
          motor2Rev.on()
          console.log(' => Left: ');          
          break;
        case 'right':
          motor1Fwd.on()
          motor2Rev.off()
          console.log('right');
          break;
        case 'space':
          console.log(' => Stoping...');
          motor1Fwd.off();
          motor2Fwd.off();
          motor1Rev.off();
          motor2Rev.off();
          break;
        default:
          console.log('Ignoring key: ' + key.name);
      }
    }

  });

  process.stdin.setRawMode(true);
  process.stdin.resume();
});

No hay comentarios:

Publicar un comentario