Descarg la libreria HX711
Para utilizar la celda de carga necesitas un módulo convertidor analógico a digital A/D (HX711), este ayudara a medir y convertir las señales analogicas de la celda de carga en señales digitales, para que un microcontrolador pueda leer e interpretarlas fácilmente.
Lo primero que haremos es identificar la impedancia alta y baja entre los cables de la celda, para realizar una correcta conexión con el módulo HX711. Para esto sigue los siguientes pasos:
#include "HX711.h"
const int DOUT=A1;
const int CLK=A0;
HX711 balanza;
void setup()
{
Serial.begin(9600);
balanza.begin(DOUT, CLK);
Serial.print("Lectura del valor del ADC:t");
Serial.println(balanza.read());
Serial.println("No ponga ningún objeto sobre la balanza");
Serial.println("Destarando...");
balanza.set_scale(); //La escala por defecto es 1
balanza.tare(20); //El peso actual es considerado Tara.
Serial.println("Coloque un peso conocido:");
}
void loop()
{
Serial.print("Valor de lectura: t");
Serial.println(balanza.get_value(10),0);
delay(100);
}
El programa debe correr sin el peso colocado, al inicio del programa calcula la tara. Después de abrir el monitor serial y esperar para que reste la tara, Se pone el objeto con el peso conocido o bien el peso con el que estén trabajando.
En el monitor serial se mostrarán las lecturas, son lecturas sin escalar, por lo que debe aparecer números grandes. Con uno o el promedio de estos datos calculamos el valor de la escala que usaremos, para esto usaremos la siguiente fórmula:

El peso real debe ser en Kg.
El programa que se utilizara es similar al programa que usamos para calibrar, con la diferencia que ya conocemos la escala.
#include "HX711.h"
const int DOUT=A1;
const int CLK=A0;
HX711 balanza;
void setup()
{
Serial.begin(9600);
balanza.begin(DOUT, CLK);
Serial.print("Lectura del valor del ADC:");
Serial.println(balanza.read());
Serial.println("No ponga ningún objeto sobre la balanza");
Serial.println("Destarando...");
Serial.println("...");
balanza.set_scale(); //Establecer la escala dentro de los paréntesis
balanza.tare(20); //El peso actual es considerado Tara.
Serial.println("Listo para pesar");
}
void loop()
{
Serial.print("Peso: ");
Serial.print(balanza.get_units(20),3);
Serial.println(" kg");
delay(500);
}



| Tienda Zona 3 Xela | 6 |
|---|---|
| Tienda Toto | 0 |