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

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


0