首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在使用firmata.js时,Tinkerkit的括号的电源出现故障

在使用firmata.js时,Tinkerkit的括号的电源出现故障
EN

Stack Overflow用户
提问于 2018-04-12 23:03:35
回答 1查看 324关注 0票数 0

我正在尝试用firmata.js来控制Tinkerkit的https://store.arduino.cc/tinkerkit-braccio。我有一个Arduino UNO,并上传了StandardFirmata在它上面。

这款手环由6个伺服系统组成,并带有一个防护罩。

问题是,即使将引脚正确设置为伺服模式,尝试使用firmata.js控制伺服也没有任何效果。我检查了一下示波器,当我开始在Arduino上运行StandardFirmata时,屏蔽板上的电源引脚不能保持在5V。PWM信号正常。

我应该尝试在没有防护罩的情况下直接在Arduino上连接伺服吗?

当我在Arduino上运行一个只使用大括号的库的脚本时,它工作得很好,电源插脚总是在5V。出于这个原因,我不认为这与盾牌有关,但我在firmata的库中也没有发现任何关于这个问题的迹象。所以我的想法已经用完了。

有没有人已经遇到过这样的情况?

我不知道它是否有用,但这里有一段代码。它仍然是非常基础的:

代码语言:javascript
复制
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);
  });
});
EN

回答 1

Stack Overflow用户

发布于 2018-05-28 21:33:27

继续使用Braccio屏蔽,但将引脚12设置为数字输出,然后将其设置为高电平。

虽然我找不到任何关于Braccio盾牌的文档,但是如果您查看Braccio库的源代码,您会发现它们在void _Braccio::_softStart()中做了一些“奇怪的”事情。这似乎是与“软启动”的伺服,但据我所见,它只是坐在那里的脉冲引脚12高/低2至6发送,然后设置为高。我不认为这是如何实现软启动,因为伺服是不被控制的,而这是发生。

无论如何,该函数会使PIN12处于高电平。如果它很低,伺服系统就不会有反应。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49799937

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档