使用Java打开Arduino上的LED

时间:2012-06-15 13:47:17

标签: java stream serial-port arduino led

我安装了Java串行RXTX库并将我的Arduino设置正确。我甚至已经启动并运行了示例代码,但我似乎无法理解如何访问不同的Arduino引脚以便以LED为例。如何使用OutputStream或任何其他方式访问引脚?

我是否需要向流发送一些特殊内容才能告诉它特定的引脚?

4 个答案:

答案 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代码可以在整数工作后发送整数来控制它。

http://arduino.cc/en/Tutorial/ReadASCIIString

答案 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示例尝试一切。