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 | 3 |
---|---|
Tienda Toto | 0 |