我安装了Java串行RXTX库并将我的Arduino设置正确。我甚至已经启动并运行了示例代码,但我似乎无法理解如何访问不同的Arduino引脚以便以LED为例。如何使用OutputStream或任何其他方式访问引脚?
我是否需要向流发送一些特殊内容才能告诉它特定的引脚?
答案 0 :(得分:1)
我不确定我的代码是多么可读,或者你可以轻松安装它,但我写了一个小项目,通过RXTX与Arduino交谈。你可以在这里看到我的代码:
https://github.com/p90puma/SerialToIR
它应该给你一些想法。
这三个文件可以为您提供所需的一切:
答案 1 :(得分:1)
开箱即用的Arduino没有提供任何方法来控制串行链路的I / O端口。
您需要获取或编写在Arduino 上运行的程序,并从串口侦听命令以控制I / O引脚。因为Arduino上只有一个小型微控制器,所以你可能无法用Java编写这个程序。
这是一个在Arduino上运行的示例程序,读取串行线上以十进制ASCII字符拼写的数字,然后使用它们来控制RGB LED。您应该能够使用此示例来了解如何处理问题的Arduino方面,并且Java RXTX代码可以在整数工作后发送整数来控制它。
答案 2 :(得分:0)
不,Arduino本身可以访问自己的引脚。您使用Java将串行数据发送到Arduino,然后决定使用哪个引脚/代码。
所以在您的Arduino代码中,您首先要注意:
Serial.begin(9600);
...
...
要从Java进行串行连接,您可以使用SerialPortEventListener
接口。
答案 3 :(得分:0)
先前答案中的所有信息都是正确的。 Arduino本身并不与运行Java的计算机交谈并做任何事情。您需要将代码放到Arduino上,它将使用某种协议与您的计算机通信。
事实证明,存在一组标准代码。它被称为Firmata。有关Firmata主页,请参阅http://firmata.org/wiki/Main_Page。有关Firmata和Processing的讨论,请参阅http://playground.arduino.cc/Interfacing/Processing。
Processing是一个基于Java的PC / Mac / Linux编程环境。 Processing和Arduino项目密切相关。
尝试各种示例。将Processing和Arduino IDE放在您的计算机上。将Firmata上传到您的Arduino并使用Processing / Firmata示例尝试一切。