Arduinoval szeretnék adatokat beolvasni a java segítségével.
Az arduinora rákötöttem egy infravörös érzékelőt és az arduino programja számolja az előtte elhaladt tárgyakat. Ezeket az adatokat szeretném feldolgozni a javaval.
Amire eddig jutottam. Mondjuk ezt se én írtam, csak nem értem, hogy miért nem működik.
Addig lefut, hogy megtalálja a COM3-at, de csatlakozni már nem tud. Köszönöm előre is a segítséget.
import java.util.Scanner;
import javax.swing.JFrame;
import javax.swing.JSlider;
import com.fazecast.jSerialComm.*;
public class ArduinoTest {
public static SerialPort firstAvComPort;
public static void main(String[] args) {
JFrame windows = new JFrame();
JSlider slider = new JSlider();
slider.setMaximum(100);
windows.add(slider);
windows.pack();
windows.setVisible(true);
SerialPort ports[] = SerialPort.getCommPorts();
System.out.println("Select a port");
int i = 1;
for(SerialPort port : ports) {
System.out.println(i++ + ". " + port.getSystemPortName());
}
Scanner s = new Scanner(System.in);
int chosenPart = s.nextInt();
SerialPort port = ports[chosenPart-1];
if( port.openPort()) {
System.out.println("Successfully opened the port.");
}else {
System.out.println("Unable to open the port.");
return;
}
port.setComPortTimeouts(SerialPort.TIMEOUT_SCANNER, 0, 0);
Scanner data = new Scanner(port.getInputStream());
while(data.hasNextLine()) {
System.out.println(data.nextLine());
}
}
}