Arduino - Arduino + Bascula problema con el puerto serial, spam en peso a mostrar

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

Arduino + Bascula problema con el puerto serial, spam en peso a mostrar

Publicado por Jonathan (1 intervención) el 09/08/2020 21:17:39
span

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
#include "HX711.h"
 
// Pin de datos y de reloj
byte pinData = 2;
byte pinClk = 3;
float peso = 0;
 
 
HX711 bascula;
 
// Parámetro para calibrar el peso y el sensor de 500g = 253709.90
float factor_calibracion = 253718.000; //Este valor del factor de calibración funciona para mi. El tuyo probablemente será diferente.
float tara = 0;
 
void setup() {
  Serial.begin(9600);
  //Serial.println("HX711 programa de calibracion");
  //Serial.println("Quita cualquier peso de la bascula");
  //Serial.println("Una vez empiece a mostrar informacion de medidas, coloca un peso conocido encima de la bascula");
  //Serial.println("Presiona + para incrementar el factor de calibracion");
  //Serial.println("Presiona - para disminuir el factor de calibracion");
 
  // Iniciar sensor
  bascula.begin(pinData, pinClk);
 
      // Aplicar la calibración
  bascula.set_scale();
 
  // No tiene que haber nada sobre el peso
  // Obtener una lectura de referencia
  //long zero_factor = bascula.read_average();
  // Mostrar la primera desviación
  //Serial.print("Zero factor: ");
  //Serial.println(zero_factor);
 
  // Iniciar la tara
  bascula.tare();
}
 
void loop() {
  //
  int VAR = 0;
  // Aplicar calibración
  bascula.set_scale(factor_calibracion);
 
  peso = bascula.get_units();
 
 
        // Mostrar la información del peso de la balanza
        //Serial.print("Leyendo: ");
 
              Serial.print(peso, 3);
              Serial.print(" Kg ");
              Serial.println();
 
 
  if (Serial.available())
  {
    char temp = Serial.read();
    if (temp == 'W' or 'w')
      bascula.tare();
 
  }
 
  // Obtener información desde el monitor serie
  if (Serial.available())
  {
    char temp = Serial.read();
    if (temp == '+')
      factor_calibracion += 1;
    else if (temp == '-')
      factor_calibracion -= 1;
  }
}


el problema es que cuando inicia el puerto serial me muestra -0.0001 puede variar pero es minimo como puero hacer que cuando ya empieze a pesa me muestre el peso. no tengo nada en la balanza pero cuando pase de 100 Gramos muestre porque lo estoy tratando de comunicar a un sistema de facturación y cada vez que el sistema llama el puerto serial el arduino se reinicia y envía la tara, y el sistema me toma la primera leectura del puerto serial ya con la tara y el producto que esta en la balanza pues no se muestra el peso

o se puede hacer que envie por otro 2 pines a un puerto serial ?
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