IsraJS + BT-05 + miniQ (Решено)

Тема в разделе "Iskra JS, Espruino, Йодо", создана пользователем troiden2k, 11 июн 2017.

  1. troiden2k

    troiden2k Нерд

    Связка IskraJS+моторшилд(Тройка)+BT-05(Тройка)+Arduino BT Joystick+miniQ
    Пытаюсь запустить с таким кодом
    Код (Javascript):
    var SPEED = 0.5;

    var marsohod = require('@amperka/robot-2wd')
    .connect();

    Serial3.setup(9600);
    var bt = require('@amperka/bluetooth').connect({
      serial: Serial3,
      speed: 9600,
      kPin: P3,
      lineEnding: '#'
    });


    bt.on('data', function(data){
         print(data);

    if (data === 'b=1') {
    marsohod.go({l: SPEED, r: SPEED});
    }
    if (data === 'b=2') {
    marsohod.go({l: -SPEED, r: -SPEED});
    }
    if (data === 'b=3') {
    marsohod.go({l: 0, r: SPEED});
    }
    if (data === 'b=4') {
    marsohod.go({l: SPEED, r: 0});
    }

    });
     
    Срабатывает один раз...после bt-05 не принимает команды
    Уважаемые форумчане направьте на путь истины!
     
  2. NovaStream2030

    NovaStream2030 Напечатан на 3D-Принтере

    у меня тоже только с esp8266
     
  3. troiden2k

    troiden2k Нерд

    Переписал код
    Код (Javascript):
    var led = require('@amperka/led')
    .connect(P2);
    var Motor = require('@amperka/motor');
    var myMotor1 = Motor.connect(Motor.MotorShield.M1);
    var myMotor2 = Motor.connect(Motor.MotorShield.M2);

    Serial3.setup(9600);
    var bt = require('@amperka/bluetooth').connect({
      serial: Serial3,
      speed: 9600,
      kPin: P3,
      lineEnding: '#'
    });


    bt.on('data', function(data){
         print(data);

    if (data === 'b=1') {
    led.turnOn();
    }
    if (data === 'b=2') {
    led.turnOff();
    }
    if (data === 'b=3') {
      myMotor1.write(-0.85);
      myMotor2.write(0.85);
    }
    if (data === 'b=4') {
      myMotor1.write(0.85);
      myMotor2.write(-0.85);
    }

    });

     
    светодиод мигает...не зависает...в консоле данные передаются, как только включаю моторы данные в консоли останавливаются моторы крутятся, но больше не реагируют на bt
     
  4. troiden2k

    troiden2k Нерд

    что не так...может кто знает ответ?
     
  5. Morgan

    Morgan Гик

    Проседает питание, не хватает мощности
     
    sys нравится это.
  6. troiden2k

    troiden2k Нерд

    В целом ошибка найдена...может кому поможет.
    Кстати код оказался вполне жизнеспособен.
    В своем посте я забыл указать, что BT-05 я подсоединил через Troyka Slot Shield...здесь и крылась ошибка.
    Так как при единственном возможном варианте подключения модуля к шилду "контакт K" втыкается как раз в pin5, уже занятый мотор шилдом...
    Вариант решения выгнуть/срезать ножку на слот шилде...или скинув джампер перепаять контакт например к pin8 + необходимо изменить pin5 на pin8 в билиотеке motor.js...или подсоединять BT-05 проводами, забив на
    Troyka Slot Shield.
     
    sys нравится это.