- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 Firmata.js 控制 Tinkerkit 的 braccio ( https://store.arduino.cc/tinkerkit-braccio )。我有一个 Arduino UNO 并已在其上上传了 StandardFirmata。
braccio 由 6 个 Helm 机组成,并配有防护罩。
问题是,即使将引脚正确设置为伺服模式,尝试使用 Firmata.js 控制伺服系统也没有效果。我检查了示波器,发现当我开始在 Arduino 上运行 StandardFirmata 时,屏蔽板上的电源引脚没有保持在 5V。 PWM信号良好。
我应该尝试在没有扩展板的情况下直接在 Arduino 上连接伺服系统吗?
当我在 Arduino 上运行一个仅使用 braccio 库的脚本时,它运行良好,并且电源引脚始终处于 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);
});
});
最佳答案
继续使用 Braccio 屏蔽,但将引脚 12 设置为数字输出,然后将其设置为高电平。
虽然我找不到 Braccio 防护罩的任何文档,但如果您查看 Braccio 库源代码,您会发现它们在 void _Braccio::_softStart()
中做了一些“奇怪”的事情。 。这似乎与伺服系统的“软启动”有关,但据我所知,它只是将引脚 12 置于高电平/低电平脉冲状态,进行 2 到 6 次发送,然后将其设置为高电平。我不明白这是如何实现软启动的,因为在发生这种情况时伺服系统不受控制。
无论如何,该功能使 PIN 12 保持高电平。如果为低电平,伺服系统将不会响应。
关于javascript - 使用 Firmata.js 时 Tinkerkit 的 braccio 电源出现故障,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49799937/
我正在尝试使用 Firmata.js 控制 Tinkerkit 的 braccio ( https://store.arduino.cc/tinkerkit-braccio )。我有一个 Arduin
我是一名优秀的程序员,十分优秀!