我正在尝试使用firmata.js 控制Tinkerkit 的braccio(https://store.arduino.cc/tinkerkit-braccio)。我有一个 Arduino UNO,并在上面上传了 StandardFirmata。
Braccio 由 6 个伺服系统制成,并带有一个防护罩。
问题是尝试使用firmata.js 控制伺服系统没有任何效果,即使引脚正确设置为SERVO 模式。我用示波器检查了一下,当我开始在 Arduino 上运行 StandardFirmata 时,发现屏蔽板上的电源引脚没有保持在 5V。PWM 信号很好。
我应该尝试在没有屏蔽的情况下直接在 Arduino 上连接伺服系统吗?
当我在仅使用 braccio 库的 Arduino 上运行脚本时,它运行良好,电源引脚始终为 5V。出于这个原因,我认为这与屏蔽无关,但我在firmata 的库中也没有发现这个问题的迹象。所以我已经没有想法了。
有没有人遇到过这样的事情?
不知道它是否有帮助,但这是一段代码。它仍然非常基本:
const Board = require('firmata');
const serialport = require('serialport');
Board.requestPort(function (error, port) {
if (error) {
console.log(error);
return;
}
board = new Board(port.comName, { samplingInterval: 1000 });
board.on('open', function () {
console.log(' board opened');
alert('board opened')
});
board.on('ready', function () {
console.log(' board ready');
board.pinMode(11,board.MODES.SERVO);
board.pinMode(10,board.MODES.SERVO);
board.pinMode(9, board.MODES.SERVO);
board.pinMode(6, board.MODES.SERVO);
board.pinMode(5, board.MODES.SERVO);
board.pinMode(3, board.MODES.SERVO);
board.servoWrite(11,60);
board.servoWrite(10,85);
board.servoWrite(9,85);
board.servoWrite(6,85);
board.servoWrite(5,85);
board.servoWrite(3,60);
});
});