Stap 6: Eindresultaat!
Herinner me ik heb deze net als een kleine project te krijgen de Arduino en de Raspberry Pi praten via seriële voel je vrij om de code te wijzigen en om te werken met uw project :)
Seriële zonder Raspberry Pi
Voor het verzenden van de snaren aan de arduino zonder de raspberry pi en en python script kunt u de seriële monitor opgenomen met de arduino IDE herinner me om toe te voegen de coördinaten voor de snaren bijv. "00String" of "01String" of ik zal ook een java-programma dat gebruikmaakt van de bibliotheek RXTX verzenden tekenreeksen vergelijkbaar met de python-script:
Als u wilt instellen van de RXTX bibliotheek kun je de tutorial hier volgen
De java-code:
import gnu.io.*;import java.io.*; import java.util.*;public class Runner { final static String PORT = "COM3"; static SerialPort serialPort; public static void main(String[] args) throws Exception{ Enumeration portList = CommPortIdentifier.getPortIdentifiers(); OutputStream outputStream = getPort(portList); for(int i = 0; i < 10; i++) { strOut(outputStream, "Test " + i + " Line 1", "Test " + i +" Line 2"); } strOut(outputStream, "Test Completed", "Succesfully"); outputStream.close(); serialPort.close(); } public static OutputStream getPort(Enumeration portList) { CommPortIdentifier portId; OutputStream outputStream = null; while(portList.hasMoreElements()){ portId = (CommPortIdentifier) portList.nextElement(); if(portId.getPortType() == CommPortIdentifier.PORT_SERIAL) { if(portId.getName().equals(PORT)) { try { serialPort = (SerialPort) portId.open("SimpleWriteApp", 2000); } catch (PortInUseException e) { System.out.println("Error: Port In Use"); } try { outputStream = serialPort.getOutputStream(); }catch(IOException e) { System.out.println("Error: IO Error"); } try{ serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE); } catch(UnsupportedCommOperationException e) { System.out.println("Error: Unsuported Operation"); } } } } return outputStream; } public static void strOut(OutputStream oS, String line1, String line2) throws Exception { Thread.sleep(3000); oS.write("00clr".getBytes()); Thread.sleep(1000); oS.write(("00"+line1).getBytes()); Thread.sleep(1000); oS.write(("01"+line2).getBytes()); } }