gpt4 book ai didi

java - 用 Java 控制 Arduino

转载 作者:搜寻专家 更新时间:2023-10-30 19:54:10 27 4
gpt4 key购买 nike

我想转LED使用 Java 程序打开和关闭。我在 C# 中完成了大约 5 分钟的项目,但在 Java 中似乎更具挑战性。我让 Arduino 等待将 1 或 0 写入 COM port并会根据此更改 LED。我为 Arduino 使用的代码如下。

int LedPin = 13;
char data;

void setup()
{
Serial.begin(9600);
pinMode( LedPin , OUTPUT );
}

void loop()
{
data = Serial.read();
if (Serial.available() > 0)
{
if(data == '1' )
{
digitalWrite(LedPin,HIGH);
}
else if(data == '0' )
{
digitalWrite(LedPin,LOW);
}
}
else
if (Serial.available()<0)
{
digitalWrite(LedPin,HIGH);
delay(500);
digitalWrite(LedPin,LOW);
delay(500);
}
}

如何使用 Java 应用程序执行此操作?

最佳答案

您可以使用 JArduino (Java-Arduino) 库,它提供了一个 Java API 来控制您的 Arduino 使用串行端口(使用 USB 电缆,或从软件角度看作为串行端口的无线设备)、UDP(通过以太网屏蔽)。所有与 Java 和 Arduino 之间的通信相关的代码都由库内部管理。

Here is a Java sample to blink an LED :

public class Blink extends JArduino {

public Blink(String port) {
super(port);
}

@Override
protected void setup() {
// initialize the digital pin as an output.
// Pin 13 has an LED connected on most Arduino boards:
pinMode(DigitalPin.PIN_12, PinMode.OUTPUT);
}

@Override
protected void loop() {
// set the LED on
digitalWrite(DigitalPin.PIN_12, DigitalState.HIGH);
delay(1000); // wait for a second
// set the LED off
digitalWrite(DigitalPin.PIN_12, DigitalState.LOW);
delay(1000); // wait for a second
}

public static void main(String[] args) {
String serialPort;
if (args.length == 1) {
serialPort = args[0];
} else {
serialPort = Serial4JArduino.selectSerialPort();
}
JArduino arduino = new Blink(serialPort);
arduino.runArduinoProcess();
}
}

JArduino 位于:JArduino

关于java - 用 Java 控制 Arduino,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12023640/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com