使用Java将数据发送到Arduino Uno

che*_*505 5 java arduino

我刚刚买了一个Arduino Uno,我正在尝试制作一个闪烁的LED.我想知道如何做到这一点,我看了Arduino Playground并找到了一个程序来获取输入.我需要输出到Arduino.除了Java之外,我不可能使用任何东西,因为我已经有了另一个需要Arduino的程序.请留下任何想法.

ZnA*_*ArK 0

编辑: 听起来有点像你想在java中执行此操作。

摘自jayeff提到的网站

OutputStream 具有 3 种不同的写入方法,可将数据从计算机发送到 Arduino。在上面的示例中,您可以使用 output.write(String)来发送数据,如output.write("Hello Arduino!").

如果您尝试使用 Java 写入 Arduino,那么这就是您的答案。

http://arduino.cc/playground/Interface/Java


编辑:如果你想使用Java以外的东西,你可以:

问你应接受。您可以使用任何支持串行的编程语言来执行此操作。

每种语言当然还有其他方法,但以下是我在 Google Machine 上花了 5 分钟找到的一些方法

注意:请注意令人讨厌的串行自动重置问题。有关更多详细信息,请参阅我之前的回答。

这是我的 C++ 代码(它很难看,但它可以工作)

#include <SerialStream.h>
#include <iostream>
#include <string>
#include <stdio.h>
#include <stdlib.h>

using namespace std;
class SerialComm {
    LibSerial::SerialStream myss;
public:

    SerialComm(int argc, char** argv) {
        myss = new LibSerial::SerialStream("/dev/ttyS0", ios_base::out);
        myss.SetBaudRate(LibSerial::SerialStreamBuf::BAUD_57600);
        myss.SetCharSize(LibSerial::SerialStreamBuf::CHAR_SIZE_8);
        myss.SetFlowControl(LibSerial::SerialStreamBuf::FLOW_CONTROL_NONE);
        myss.SetParity(LibSerial::SerialStreamBuf::PARITY_NONE);
        myss.SetNumOfStopBits(1);

        const int Dsize = 2;
        char buffer[1];
        buffer[0] = 125; //0b00000001;
        buffer[1] = '\0';
        bitset(buffer[0]);
        //myss << buffer;
        myss.write(buffer,1);
        //myss.Close();

    }
}
Run Code Online (Sandbox Code Playgroud)