nbu*_*chi 5 processing file-io arduino firmata
我有一个Arduino Mega 1280并希望通过Firmata与它通信.这听起来很容易......
所以我的问题:如果我使用Arduino的StandardFirmata固件(包含在Arduino 1.0中),我可以设置输出引脚,并向它们发送信号((突出显示引脚24上的LED):
arduino.digitalWrite(24, Arduino.HIGH);
Run Code Online (Sandbox Code Playgroud)
但我无法读取Mega的任何数字输入.正如我发现的那样,有些人在读取高于13的端口时出现问题.我无法验证它,我的输入信号从端口23开始.例如:
if (arduino.digitalRead(25) == Arduino.HIGH){
println("is high");
}
Run Code Online (Sandbox Code Playgroud)
现在我在Mega上安装了AllInputsFirmata,它也预装在Arduino 1.0中.现在从数字输入读取是没有问题的:例如:
if (arduino.digitalRead(25) == Arduino.HIGH){
println("is high");
}
Run Code Online (Sandbox Code Playgroud)
但这一次,我无法发出任何信号.
那么发生了什么?
(是的,我用FirmataTest软件对它进行了测试,一切顺利!)
不确定,但在 Arduino C++ 中,首先需要设置引脚的模式,然后才能发送数据。首先设置模式时,数字读取效果也更好。这同样适用于此吗?
如果是这样,这可能对您有帮助http://arduino.cc/en/Reference/Firmata