carlosvolt
Published © LGPL

Electronic scale with Arduino with HX711 module and tare fun

In this tutorial, you will learn step by step how to use an HX711 module with a load cell to make accurate weight measurements using an Ardu

IntermediateFull instructions provided171
Electronic scale with Arduino with HX711 module and tare fun

Things used in this project

Hardware components

Arduino Nano
×1

Story

Read more

Code

Source code

C/C++
Source code
#include "HX711.h"//Librería para el módulo HX711
#include <U8g2lib.h>//Librería para el control del display oled
#define DAT  4 // Pin DAT del módulo HX711 conectado a Arduino
#define CLK   5 // Pin CLK del módulo HX711 conectado a Arduino
const int d12 = 12;//Pulsador para calibrar la tara
HX711 scale;
U8G2_SH1106_128X64_NONAME_F_SW_I2C u8g2(U8G2_R0, /* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ U8X8_PIN_NONE);
void setup() {
  Serial.begin(9600);//Velocidad del puerto serial
  pinMode(d12, INPUT);//Se configura este pin como entrada para el pulsador
  scale.begin(DAT, CLK);
  scale.set_scale(731.0);//Calibración. Cambia este valor para ajustarlo a tu celda de carga.
  scale.tare();// Pone el valor actual como tara
  u8g2.begin();//Inicializa el display oled
}
void loop() {
float peso = scale.get_units(10);//Toma 10 muestras para mayor presición
Serial.print("Peso: ");
Serial.println(peso, 1);//Vemos el valos del peso en el terminal serial
u8g2.clearBuffer(); // Limpiar el buffer de la pantalla
  u8g2.setFont(u8g2_font_ncenB14_tr); // Establecer la fuente
  // Muestra Peso: en la pantalla
  u8g2.setCursor(0, 15);
  u8g2.print("Peso:");
  u8g2.setCursor(0, 35);
  u8g2.print(peso, 1);//Muestra el valor del peso en el display
  u8g2.print(" gramos");//Muestra gramos en el display
  int boton12= digitalRead(d12);//Lee el estado del pulsador
  if(boton12==LOW){//Si se pulsa el pulsador se cumple esta condición
  scale.tare();//Pone el valor actual como tara
  u8g2.clearBuffer(); // Limpiar el buffer de la pantalla
  u8g2.setFont(u8g2_font_ncenB14_tr); // Establece la fuente
  u8g2.setCursor(0, 15);
  u8g2.print("Tara calibrada");//Muestra en el display Tara Calibrada
  Serial.println("Tara calibrada");
  }  
  u8g2.sendBuffer();  // Enviar la información del buffer a la pantalla
  delay(100);        // Esperar un tiempo antes de la siguiente lectura
}

Credits

carlosvolt

carlosvolt

33 projects • 3 followers

Comments