Добрый день , есть компоненты из набора Йоды и Робоняши. вот наварганил из примеров в обучающих материалах Код (Javascript): var servo = require('@amperka/servo') .connect(P13); var led = require('@amperka/USER]/led').connect(P1); var receiver = require('@amperka/ir-receiver') .connect(P0); var buzzer = require('@amperka/buzzer').connect(P2); receiver.on('receive', function(code) { if (code === receiver.keys.SQUARE) { servo.write(90) ; } if (code === receiver.keys.CROSS) { servo.write(40); } if (code === receiver.keys.TRIANGLE) { servo.write(140); } if (code === receiver.keys.BOTTOM) { marsohod.go({l: -0.25, r: -0.25}); } if (code === receiver.keys.RED) { led.toggle(); } if (code === receiver.keys.GREEN) { buzzer.toggle(); } }); var SPEED = 0.5; var marsohod = require('@amperka/robot-2wd') .connect(); receiver.on('receive', function(code) { if (code === receiver.keys.TOP) { marsohod.go({l: SPEED, r: SPEED}); servo.write(90); } if (code === receiver.keys.POWER) { marsohod.stop(); } if (code === receiver.keys.LEFT) { marsohod.go({l: 0, r: 0.3 }); servo.write(140); } if (code === receiver.keys.RIGHT) { marsohod.go({l: 0.3, r: 0 }); servo.write(40); } if (code === receiver.keys.GREEN) { marsohod.go({l: 1, r: 1}); } }); проблема в этих строках, не пойму в чем( Код (Javascript): if (code === receiver.keys.RED) { led.toggle(); } if (code === receiver.keys.GREEN) { buzzer.toggle(); } Должно быть при нажатии красной кнопки на пульте мигание светодиода , а при зеленой пищание зуммера... но что то идёт не так... и зуммер и светодиод включаются при нажатии любой кнопки на пульте , даже на не запрограммированной... вроде же все просто... при том что все остальное работает нормально .. оба мотора и сервопривод
Это очень полезная фича. Пришло, например, что-то по UART, надо сравнить, "==" - сравнит с автоматическим преобразованием типов.
Зачем у вас в скрипте дважды повторена конструкция Код (C++): receiver.on('receive', function(code) { ...
Код (Javascript): var servo = require('@amperka/servo') .connect(P13); var led = require('@amperka/led').connect(P1); var receiver = require('@amperka/ir-receiver') .connect(P0); var buzzer = require('@amperka/buzzer').connect(P2); var marsohod = require('@amperka/robot-2wd') .connect(); var SPEED = 0.5; receiver.on('receive', function(code) { if (code === receiver.keys.SQUARE) { servo.write(90) ; } if (code === receiver.keys.CROSS) { servo.write(40); } if (code === receiver.keys.TRIANGLE) { servo.write(140); } if (code === receiver.keys.BOTTOM) { marsohod.go({l: -0.25, r: -0.25}); } if (code === receiver.keys.RED) { led.toggle(); } if (code === receiver.keys.GREEN) { marsohod.go({l: 1, r: 1}); buzzer.toggle(); } if (code === receiver.keys.TOP) { marsohod.go({l: SPEED, r: SPEED}); servo.write(90); } if (code === receiver.keys.POWER) { marsohod.stop(); } if (code === receiver.keys.LEFT) { marsohod.go({l: 0, r: 0.3 }); servo.write(140); } if (code === receiver.keys.RIGHT) { marsohod.go({l: 0.3, r: 0 }); servo.write(40); } }); Вот это должно работать.