Netbeans - Crear una barra en graduación en centímetros y mandar mensaje a Display LCD

 
Vista:
sin imagen de perfil
Val: 1
Ha disminuido su posición en 18 puestos en Netbeans (en relación al último mes)
Gráfica de Netbeans

Crear una barra en graduación en centímetros y mandar mensaje a Display LCD

Publicado por Mauricio (1 intervención) el 26/02/2020 03:23:59
Que tal espero me puedan ayudar con un ejercicio por favor si serian tan amables, los pongo en contexto tengo que realizar una aplicación en javaFX FXML aplication (Netbeans) que deberá hacer una graduación en centímetros, es decir que lo represente en escala deberá ser la distancia real, la escala será de 0 a 20 cm Cuando la distancia sea más grande en ambos, app y Display, deberá indicar que esta FUERA DE RANGO.

Yo ya tengo la distancia pero no se como poner la graduación en centímetros espero me puedan ayudar por favor

Material Utilizado: *Arduino, Sensor HC-SR04, Pantalla LCD, y Libreria PanamaHitek_Arduino-3.0.0.

Este es el código:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
package sensordistancia;
 
import java.net.URL;
import java.util.ResourceBundle;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.control.Label;
import com.panamahitek.*;
import java.util.logging.Level;
import java.util.logging.Logger;
import javafx.application.Platform;
//import javafx.scene.control.Button;
import javafx.scene.control.TextField;
import javafx.scene.paint.Color;
import javafx.scene.shape.Circle;
import jssc.SerialPortEvent;
import jssc.SerialPortEventListener;
import jssc.SerialPortException;
 
public class FXMLDocumentController implements Initializable {
 
    PanamaHitek_Arduino Arduino = new PanamaHitek_Arduino();
 
    @FXML
    private Circle circle;
 
 
    @FXML
    private TextField limit;
 
   @FXML
    private Label anuncio;
 
    @FXML
    private TextField datos;
 
 
 
 
    SerialPortEventListener listener;
 
    public FXMLDocumentController() {
        this.listener = new SerialPortEventListener() {
            @Override
            public void serialEvent(SerialPortEvent spe) {
                try {
                    if(Arduino.isMessageAvailable()){
                        String mensaje = Arduino.printMessage();
                        String temp = mensaje.substring(0, 2);
 
                        Float distancia = Float.parseFloat(temp);
                        Float max1 = Float.parseFloat(limit.getText());
 
                        System.out.println(distancia);
 
                        String dis = distancia + "";
 
 
                        Platform.runLater(() -> {
                            //Temperatura
                            if (distancia < max1) {
                                datos.setStyle(" -fx-font-weight: bold; -fx-text-fill: red;");
                                enviarDato("1");
                                circle.setFill(Color.RED);
                                anuncio.setText("");
                            } else {
                                datos.setStyle("-fx-text-fill: black;");
                                enviarDato("0");
                                circle.setFill(Color.GREEN);
                                anuncio.setText("Fuera de Rango");
                            }
 
 
                            datos.setText(dis + " cm");
                        });
 
                        String resX;
 
                    }
                } catch (SerialPortException | ArduinoException ex) {
                    Logger.getLogger(FXMLDocumentController.class.getName()).log(Level.SEVERE, null, ex);
                }
            }
 
           public void enviarDato(String d) {
        try {
            Arduino.sendData(d);
        } catch (ArduinoException | SerialPortException ex) {
            Logger.getLogger(FXMLDocumentController.class.getName()).log(Level.SEVERE, null, ex);
        }
        }
        };
    }
 
    @FXML
    private void handleButtonAction(ActionEvent event) {
 
    }
 
    @FXML
    private void handleButtonAction1(ActionEvent event) {
 
    }
 
    @Override
    public void initialize(URL url, ResourceBundle rb) {
        try {
            //Arduino.arduinoRXTX("COM3", 9600, listener);
            System.out.println(Arduino.getSerialPorts().get(1));
            Arduino.arduinoRXTX(Arduino.getSerialPorts().get(1), 9600, listener);
        } catch (ArduinoException ex) {
            Logger.getLogger(FXMLDocumentController.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
 
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder