Блютуз

Тема в разделе "Iskra JS, Espruino, Йодо", создана пользователем Кирилл Разыграев, 21 июл 2017.

  1. Ребят помогите, в чем проблема, серво крутятся при подключении телефона, серво плохо поварачиваются, а задние двигатели вообще не крутятся
    Код (Javascript):
    var Motor = require('@amperka/motor');
    var M1 = Motor.connect(Motor.MotorShield.M1);
    var M2 = Motor.connect(Motor.MotorShield.M2);
    var servo = require('@amperka/servo');
    var R = servo.connect(P8);
    var L = servo.connect(P9);
    var speed = 0;  //Здесь будет храниться значение скорости
    var defaultSpeed = 0.5; // это число мы будем использовать в логике поворотов
    var speedf = 90;
    var speedb = 9;


    PrimarySerial.setup(9600);

    PrimarySerial.on('data', function (dataIn) {

      //print(dataIn);
     
      if (dataIn === 'F') {        //Если пришла команда "F"   //едем вперёд
        M1.write(speed);
        M2.write(speed);
        R.write(speedf);
        L.write(speed);
       
      } else if (dataIn === 'B') {   //или если пришла команда "B"
        M1.write(-speed); //едем назад
        M2.write(-speed);
        R.write(speedb);
        L.write(speedf);
      } else if (dataIn === 'L') {   //или если пришла команда "L"
        M1.write(-speed);
        M2.write(speed);//поворачиваем налево на месте
        R.write(speedf);
        L.write(speedf);
      } else if (dataIn === 'R') {   //или если пришла команда "R"
        M1.write(speed);
        M2.write(-speed);//поворачиваем направо на месте
        R.write(speedb);
        L.write(speedb);
      } else if (dataIn === 'I') {   //или если пришла команда "I", едем вперёд и направо
        M1.write(defaultSpeed + speed);
        M2.write(defaultSpeed - speed);
        R.write(defaultSpeed - speedb);
        L.write(defaultSpeed + speedb);
      } else if (dataIn === 'J') {   //или если пришла команда "G", едем назад и направо
        M1.write(-defaultSpeed - speed);
        M2.write(-defaultSpeed + speed);
        R.write(-defaultSpeed - speedb);
        L.write( -defaultSpeed + speedb);
      } else if (dataIn === 'G') {  //или если пришла команда "I", едем вперёд и налево
        M1.write(defaultSpeed - speed);
        M2.write(defaultSpeed + speed);
        R.write(defaultSpeed - speedf);
        L.write(defaultSpeed + speedf);
      } else if (dataIn === 'H') {  //или если пришла команда "H", едем назад и налево
        M1.write(-defaultSpeed + speed);
        M2.write( -defaultSpeed - speed);
        R.write(-defaultSpeed + speedb);
        L.write( -defaultSpeed - speedb);
      } else if (dataIn === 'S') {  //или если пришла команда "S", стоим
        M1.write(0);
        M2.write(0);
        R.write(90);
        L.write(90);
        // если к нам пришло значение от 0 до 9
      } else if (((dataIn - '0') >= 0) && ((dataIn - '0') <= 9)) {
        speed = (dataIn - '0') + 0.1; //сохраняем новое значение скорости
        speedf= (dataIn - '0') + 0.1;
        speedb = (dataIn - '0') - 0.1;
      } else if (dataIn === 'q') { //если "q" - полный газ!
        speed = 1;
        speedf = 180;
        speedb = 0;
      }
    });
    Заранее спасибо
     
  2. NikitOS

    NikitOS Король шутов Администратор

    Здрасти
    Я так понял управление по bluetooth?!
    Добавьте библиотеку bluetooth и пользуйтесь с удобством;)