Skip to content

Instantly share code, notes, and snippets.

@jreyes
Created June 6, 2019 02:50
Show Gist options
  • Select an option

  • Save jreyes/3767a9f6c70e714ff3cf4bb7d2078c48 to your computer and use it in GitHub Desktop.

Select an option

Save jreyes/3767a9f6c70e714ff3cf4bb7d2078c48 to your computer and use it in GitHub Desktop.

Revisions

  1. jreyes created this gist Jun 6, 2019.
    66 changes: 66 additions & 0 deletions MultipleSensor.java
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,66 @@
    import com.panamahitek.ArduinoException;
    import com.panamahitek.PanamaHitek_Arduino;
    import com.panamahitek.PanamaHitek_MultiMessage;
    import jssc.SerialPortException;

    import javax.swing.*;
    import java.awt.*;
    import java.util.logging.Level;
    import java.util.logging.Logger;

    import static javax.swing.JFrame.EXIT_ON_CLOSE;

    public class MultipleSensor {
    // ------------------------------ FIELDS ------------------------------

    private JLabel unValor;

    // --------------------------- CONSTRUCTORS ---------------------------

    public MultipleSensor() {
    JFrame v = new JFrame();
    v.setSize(250, 150);
    v.setTitle("INTERFAZ TEMPERATURA");
    v.setDefaultCloseOperation(EXIT_ON_CLOSE);

    JLabel etiqueta1 = new JLabel("TEMPERATURA °C : ");
    unValor = new JLabel("Waiting ...");

    FlowLayout ventana1 = new FlowLayout();
    v.getContentPane().add(etiqueta1);
    v.getContentPane().add(unValor);
    v.getContentPane().setLayout(ventana1);
    v.setVisible(true);
    }

    // -------------------------- OTHER METHODS --------------------------

    public void updateTemperature(String temperature) {
    unValor.setText(temperature + " °Celcius");
    }

    // --------------------------- main() method ---------------------------

    public static void main(String[] args) {
    MultipleSensor instance = new MultipleSensor();
    try {
    PanamaHitek_Arduino ino = new PanamaHitek_Arduino();
    PanamaHitek_MultiMessage multi = new PanamaHitek_MultiMessage(3, ino);
    ino.arduinoRX("COM4", 9600, e -> {
    try {
    if (multi.dataReceptionCompleted()) {
    instance.updateTemperature(multi.getMessage(0));
    System.out.println(multi.getMessage(0));
    System.out.println(multi.getMessage(1));
    System.out.println(multi.getMessage(2));
    multi.flushBuffer();
    }
    } catch (ArduinoException | SerialPortException ex) {
    Logger.getLogger(MultipleSensor.class.getName()).log(Level.SEVERE, null, ex);
    }
    });
    } catch (ArduinoException | SerialPortException ex) {
    Logger.getLogger(MultipleSensor.class.getName()).log(Level.SEVERE, null, ex);
    }
    }
    }