Raspberry Pi + Arduino Serial med LCD-skärm (6 / 6 steg)
Steg 6: Slutresultatet!
Minns att jag gjorde detta bara som ett litet projekt att få den Arduino och Raspberry Pi pratar igenom följetong Känn dig fri att ändra koden och ändra den till arbeta med ditt projekt :)
Följetong utan Raspberry Pi
Att skicka strängar till arduino utan raspberry pi och och python-skript som du kan använda följetong bildskärmen ingår med arduino IDE kom ihåg att lägga till koordinater innan strängarna t.ex. "00String" eller "01String" eller jag ska även ett java-program som använder biblioteket RXTX för att skicka strängar som liknar python-skript:
För att ställa in RXTX biblioteket kan du följa den tutorial här
Java-kod:
import gnu.io.*;
import java.io.*;
import java.util.*;
allmän klass löpare {
slutliga statisk String PORT = "COM3";
statiska SerialPort serialPort;
offentliga statisk void main (String [] args) kastar undantag {
Uppräkning portList = CommPortIdentifier.getPortIdentifiers();
OutputStream outputStream = getPort(portList);
för (int jag = 0; jag < 10; i ++) {
strOut (outputStream, "Testa" + jag + "Linje 1", "Test" + jag + "Linje 2");
}
strOut (outputStream, "Test slutfört", "Framgångsrikt");
outputStream.close();
serialPort.close();
}
offentliga statisk OutputStream getPort (uppräkning portList) {
CommPortIdentifier portId;
OutputStream outputStream = null;
While(portList.hasMoreElements()) {
portId = (CommPortIdentifier) portList.nextElement();
IF(portId.getPortType() == CommPortIdentifier.PORT_SERIAL) {
IF(portId.getName().equals(port)) {
försök {
serialPort = (SerialPort) portId.open ("SimpleWriteApp", 2000);
} fånga (PortInUseException e) {
System.out.println ("fel: porten används");
}
försök {
outputStream = serialPort.getOutputStream();
} fånga (IOException e) {
System.out.println ("fel: IO misstag");
}
försök {
serialPort.setSerialPortParams (9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE);
} fånga (UnsupportedCommOperationException e) {
System.out.println ("fel: Unsuported drift");
}
}
}
}
returnera outputStream;
}
offentliga statisk void strOut (OutputStream oS, sträng line1, sträng rad2) kastar undantag {
Thread.Sleep(3000);
oS.write("00clr".getBytes());
Thread.Sleep(1000);
oS.write(("00"+line1).getBytes());
Thread.Sleep(1000);
oS.write(("01"+line2).getBytes());
}
}