Связка 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 не принимает команды Уважаемые форумчане направьте на путь истины!
Переписал код Код (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
В целом ошибка найдена...может кому поможет. Кстати код оказался вполне жизнеспособен. В своем посте я забыл указать, что BT-05 я подсоединил через Troyka Slot Shield...здесь и крылась ошибка. Так как при единственном возможном варианте подключения модуля к шилду "контакт K" втыкается как раз в pin5, уже занятый мотор шилдом... Вариант решения выгнуть/срезать ножку на слот шилде...или скинув джампер перепаять контакт например к pin8 + необходимо изменить pin5 на pin8 в билиотеке motor.js...или подсоединять BT-05 проводами, забив на Troyka Slot Shield.