问题标签 [firmata]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3233 浏览

arduino - 从处理输出从 A0 到 A5 的模拟引脚

我是 Arduino 的新手,我正在尝试使用 Processing 来控制我的 Arduino Uno 板,它依赖于 Firmata 库。然而,经过快速测试,当使用从 A0 到 A5 的模拟引脚时,我似乎无法点亮我的 LED,而对于数字引脚 0 - 13 它可以正常工作。直接使用 Arduino 对所有 19 个引脚都没有任何问题引脚。

目前我正在使用 SainSmart UNO 板,我使用处理的原因是因为我需要访问目前仅在处理时可用的更高级别的库。

有谁知道如何编码以便我可以使用处理来访问 Arduino 板上的模拟引脚?

0 投票
1 回答
222 浏览

node.js - Johnny-Five 应用程序总是在不到 1 秒后因 RangeError 而失败

我的 Johnny-Five 应用程序在不到 1 秒后都失败了。我试过 0.7.9 和 0.7.8。这是我看到的错误:

使用 0.7.2 它不会给我这个错误,但是我无法移动我的伺服器。我看到 Johnny-5 自述文件中的所有 Servo 示例都出现了这个问题。我也排除了硬件问题,因为它在 3 个不同的伺服系统上给了我同样的问题。此外,我只在伺服器插入 5V 而不是 3.3V 时看到问题,这很奇怪。Node.js 也是最新的(0.10.22)。

我也尝试了 2 种不同的 Arduino Uno 板和 2 种不同的笔记本电脑(均运行 OSX 10.9),并且我在所有东西上都看到了完全相同的问题。

0 投票
1 回答
776 浏览

java - 将 delayMicroseconds 函数添加到标准固件中,以使用 Processing 运行 Arduino

我正在使用标准firmata 与Java 处理接口并运行一个arduino 项目。用于与 java 进行接口处理的 Arduino 类在 arduino 板上没有延迟微秒或任何其他延迟的方法。在大多数示例中,您需要在 java 环境中使用延迟技术,但这些都以毫秒(1000 微秒)的数量级运行。

所以我可以编辑 StandardFirmata 草图、Firmata.java 文件和 Arduino.java 文件,这些文件使所有这些必要的连接都可以运行 Processing。有谁知道这段代码是如何分解得足够好的,所以我可以添加我自己的延迟函数来传递到 arduino 类。我不明白这段代码如何在 C 和 Java 端之间进行接口。更好地理解这一点可能最有帮助。

如果您想查看参考代码,可以在以下位置找到: http ://arduino.cc/en/reference/firmata#.UwfW_vldV0Y https://github.com/firmata/processing/tree/master/src

0 投票
1 回答
1119 浏览

node.js - 在 raspbian(模型 B)上带有 socket.io 和firmata 的 Node.js 运行缓慢

我正在运行带有 16 gB 300MB/s SD 卡的 Raspberry Pi Model B(512MB RAM)和带有所有更新的最新 raspbian。

在这台机器上,我设置了一个 apache2-server,node.js 和 socket.io 和firmata。

在我的网络应用程序中,视频流是一个关键特性。

当我访问我的网络服务器只是为了流式传输视频(没有 node/socket.io/firmata)时,一切都以良好的性能流式传输。但是当我打开 node.js/socket.io/firmata 时它相当慢,开始流式传输视频需要 5-7 秒。

我首先在安装 node.js 时遇到了问题。从源代码编译/安装的 Node.js 就像一个魅力,但是当我尝试运行它时,我收到了这个神秘的“非法指令”消息。

作为替代方案,我采用了预编译的 debian-packages 并使用 dpkg 使用此 repo 安装它们:

http://revryl.com/2014/01/04/nodejs-raspberry-pi/

他们说 nodejs 会运行得更慢,但这对我来说是不可接受的。

有什么提示吗?

谢谢并恭祝安康!

0 投票
1 回答
646 浏览

arduino - 如何使用 Arduino 开关在 Processing 中让图像留在屏幕上?

我正在连接处理和 Arduino 按钮。它与标准固件成功连接。我想要发生的是,当按下按钮时,图像会出现在处理中,但也会留在屏幕上,就像 LED 一样,然后当再次按下按钮时,图像将从屏幕上消失。我现在只是用形状测试它。我已经用 LED 对其进行了测试,效果很好。任何想法我做错了什么?这是我的代码:

0 投票
2 回答
108 浏览

midi - 一旦满足规则的某个部分,如何突破子规则?

目前正在为 Rebol 3 中的Firmata 协议解析 Midi 消息,并遇到了我以前从未见过的情况。

基本上,我有一个通用规则来在帧字节之间复制字节。然而,该规则正在吃掉帧字节。我已将代码简化为以下内容:

问题是some [copy pin 1 skip]正在吞噬sysex-end二进制文件。

  • 有没有办法可以重组规则(不sysex-end进入子规则)?

  • 在这种打破子规则的情况下,是否有一个 parse 关键字可以帮助?

(注意:我知道我没有根据规范解释数据。)

0 投票
1 回答
1377 浏览

arduino - 如何向arduino发送firmata命令以打开引脚

我正在尝试实现firmata协议,并且在破译编写数字引脚的规范时遇到了一些困难:

我已经注意到Firmata 2.3 规范的以下部分

我在解释规范时遇到了一些困难。我查看了其他实现,但无法看到规范和实现之间的关系。

所以假设我想打开 Arduino LED(引脚 13),我知道它将在第二个端口,端口 1 上,所以第一个字节将是#{91}.

不过,我对后两个字节的位掩码感到困惑。我知道位掩码是什么,所以我想为引脚启用正确的位。

  • 为什么数字引脚的位掩码如此之大?我熟悉在 PLC 的数字输出上使用位掩码,这似乎有很大不同(一个引脚,一位)

  • 我的想法是引脚 13 将是端口 1 上的第 7 个引脚。由于我不关心其他引脚,我会在第 2 个字节 #{40} 中标记引脚,并且我不需要为第三个字节#{00}?

我认为我对位掩码的解释不正确,这可能是我的错误所在

我在正确的轨道上吗?这是将引脚设置为高电平还是低电平的正确命令?

0 投票
0 回答
787 浏览

c++ - Qt with Firmata Library

i want to link Firmata library to qt

how do i do it? using includepath? i already change the environment variable in my pc to include the arduino folder in C: and i already include in my .pro file of Qt like these

do i make some mistake? because Arduino.h in my Boards.h say there is no such file directory

below is the boards.h file:

0 投票
1 回答
1215 浏览

node.js - 将外部 C++ 库与 Johnny Five 一起用于基于 Arduino 的项目

我需要在Johnny Five项目中使用 RFID-RC522 模块(它是一个 NFC 阅读器)。

有一个 arduino 库可以很容易地与之交互:https ://github.com/miguelbalboa/rfid

我可以通过 Johnny-Five 使用这个库吗?如果是,如何?

0 投票
1 回答
266 浏览

arduino - 处理:无法得到模拟值

正在做一个项目,当我的压力传感器被按下时需要触发一些东西。我想使用处理来触发一些音频样本,我的问题是:按下传感器时处理总是记录 0。

首先,我在 arduino 中制作了一个草图,用于测试我的设置和传感器:一切正常,压力传感器记录正确。

现在我上传了firmata默认草图,在处理中做了一个草图,没有错误但压力传感器没有正确记录,它保持为0。

我究竟做错了什么?