Paso 2: ya con el arduino ejecutándose, ejecuta el programa Main.java
el resultado se imprime en la tela del programa java:
el Programa usado en arduino envia una frase y java lo lee y lo imprime.
java tambien le envia un caracter: 8, arduino lo recibe y se lo vuelve a enviar.
programa Arduino:
////////////////////////////////////////////////////////
///////////////////////////////////////////////////////
int incomingByte = 0;
void setup(){
Serial.begin(9600);
}
void loop(){
Serial.println("Is there anybody out there? \n");
delay(1000);
if (Serial.available() > 0)
{
// read the incoming byte:
incomingByte = Serial.read();
// say what you got:
Serial.print("arduino recibe: ");
Serial.println(incomingByte, DEC);
}}
/////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////
/*Programa en: */ JAVA usado para leer escribir en el arduino
package serialtalk;
import gnu.io.CommPortIdentifier;
import gnu.io.NoSuchPortException;
import gnu.io.SerialPort;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
public class Main {
static InputStream serialInt;
static OutputStream serialOut;
public static void main(String[] args) throws Exception{
try {
CommPortIdentifier portId = null;
try {
portId = CommPortIdentifier.getPortIdentifier("COM3");
} catch (NoSuchPortException npe) {
}
SerialPort port = (SerialPort)portId.open("Título comunicação serial", 9600);
serialOut = port.getOutputStream();
serialInt = port.getInputStream();
port.setSerialPortParams(9600,
SerialPort.DATABITS_8,
SerialPort.STOPBITS_1,
SerialPort.PARITY_NONE);
/* */
while(true){
serialOut.write(8);
while(serialInt.available()>0) {
System.out.print((char)(serialInt.read()));
}
}
/**/
} catch (Exception e) {
e.printStackTrace();
}
}
public void close(){
try {
serialOut.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void enviaDados(char opcao){
try {
serialOut.write(opcao);
} catch (IOException e) {
e.printStackTrace();
}
}
}