Manual do usuário do módulo ADC dos sensores de pesagem ARDUINO HX711
Aplicação Examparquivo com Arduino Uno:
A maioria das células de carga tem quatro fios: vermelho, preto, verde e branco. Na placa HX711 você encontrará as conexões E+/E-, A+/A- e B+/B. Conecte a célula de carga à placa do sensor HX711 de acordo com a tabela a seguir:
Placa do Sensor de Carga HX711 | Fio da Célula de Carga |
E+ | Vermelho |
E- | Preto |
A+ | Verde |
A- | Branco |
B- | Não utilizado |
B+ | Não utilizado |
Sensor HX711 | Arduino Uno |
Terra | Terra |
DT | D3 |
SCK | D2 |
VCC | 5V |
O Módulo HX711 opera em 5V e a comunicação é feita através dos pinos seriais SDA e SCK.
Onde aplicar peso na célula de carga?
Você pode ver uma seta mostrada na célula de carga. Esta seta mostra a direção da força na célula de carga. Você pode fazer o arranjo mostrado na figura usando tiras de metal. Prenda a tira de metal na célula de carga usando parafusos.
Programando Arduino UNO para Medir Peso em KG:
Conecte o esquema conforme mostrado na Figura 1 acima.
Para que este módulo sensor funcione com placas Arduino, precisamos da Biblioteca HX711 que pode ser baixada de https://github.com/bogde/HX711.
Antes que o HX711 possa ser usado para medir o peso de um objeto com precisão, ele precisa ser calibrado primeiro. A etapa abaixo mostrará como fazer a calibração.
1 Passo: Esboço de Calibração
Carregue o esboço abaixo para Arduino Uno Board
/* Tecnologia Handson www.handsontec.com
* 29 de dezembro de 2017
* Interface do módulo Load Cell HX711 com Arduino para medir peso em Kgs
Arduino
alfinete
2 -> HX711 CLK
3 -> DOUT
5V -> VCC
Terra -> Terra
Quase todos os pinos do Arduino Uno serão compatíveis com DOUT/CLK.
A placa HX711 pode ser alimentada de 2.7 V a 5 V, portanto, a alimentação de 5 V do Arduino deve funcionar bem.
*/
#include “HX711.h” //Você deve ter esta biblioteca em sua pasta de biblioteca arduino
#define DOUT 3
#define CLK2
Escala HX711(DOUT, CLK);
// Altere este fator de calibração de acordo com sua célula de carga, uma vez que você precise
variá-lo em milhares
flutuar calibração_fator = -96650; //-106600 funcionou para minha configuração de escala máxima de 40Kg
//================================================ =======================================
// CONFIGURAR
//================================================ =======================================
configuração vazia() {
Serial.begin(9600);
Serial.println("Calibração HX711");
Serial.println(“Remova todo o peso da balança”);
Serial.println(“Após o início das leituras, coloque o peso conhecido na balança”);
Serial.println(“Pressione a,s,d,f para aumentar o fator de calibração em 10,100,1000,10000
respectivamente");
Serial.println(“Pressione z,x,c,v para diminuir o fator de calibração em 10,100,1000,10000
respectivamente");
Serial.println(“Pressione t para tara”);
escala.set_scale();
scale.tare(); //Redefinir a escala para 0
long zero_factor = scale.read_average(); //Obtém uma leitura da linha de base
Serial.print("Fator zero: "); //Isso pode ser usado para remover a necessidade de tarar a balança.
Útil em projetos de escala permanente.
Serial.println(fator_zero);
}
//================================================ =======================================
// LAÇO
//================================================ =======================================
loop vazio() {
scale.set_scale(calibration_factor); //Ajuste para este fator de calibração
Serial.print("Leitura: ");
Serial.print(escala.get_units(), 3);
Serial.print("kg"); //Altere para kg e reajuste o fator de calibração se você
siga as unidades SI como uma pessoa sã
Serial.print(” fator_calibração: “);
Serial.print(fator_calibração);
Serial.println ();
if(Serial.disponível())
{
char temp = Serial.read();
if(temp == '+' || temp == 'a')
fator_calibração += 10;
else if(temp == '-' || temp == 'z')
fator_calibração -= 10;
else if(temp == 's')
fator_calibração += 100;
else if(temp == 'x')
fator_calibração -= 100;
else if(temp == 'd')
fator_calibração += 1000;
else if(temp == 'c')
fator_calibração -= 1000;
else if(temp == 'f')
fator_calibração += 10000;
else if(temp == 'v')
fator_calibração -= 10000;
else if(temp == 't')
scale.tare(); //Redefinir a escala para zero
}
}
//================================================ ========================================
Remova qualquer carga do sensor de carga. Abra o monitor serial. A janela abaixo deve abrir mostrando que o módulo foi conectado com sucesso ao Arduino Uno.
Coloque um objeto de peso conhecido na célula de carga. Neste caso, o autor usou um peso conhecido de 191 gramas com célula de carga de 10 kg. O Serial Monitor exibirá alguns valores de pesagem, conforme mostrado abaixo:
Precisamos fazer a calibração aqui:
- Digite a letra "a, s, d, f" no espaço de comando do monitor serial e pressione o botão "Enviar" para aumentar o fator de calibração em 10, 100, 1000, 10000, respectivamente
- Digite a letra ” z, x, c, v ” no espaço de comando do monitor serial e pressione o botão “Enviar” para diminuir o fator de calibração em 10, 100, 1000, 10000, respectivamente.
Continue ajustando até que a leitura mostre o peso real colocado na célula de carga. Registre o valor do “fator de calibração”, neste caso “-239250” no peso do autor de referência de 191g com célula de carga de 10KG. Vamos precisar deste valor para conectar em nosso segundo esboço para medição real.
2º Passo: Código Final para Medição de Peso Real
Antes de carregar o esboço, precisamos inserir o “fator de calibração” obtido na 1ª etapa:
Carregue o esboço abaixo para Arduino Uno Board, depois de modificado o fator de escala:
/* Tecnologia Handson www.handsontec.com
* 29 de dezembro de 2017
* Interface do módulo Load Cell HX711 com Arduino para medir peso em Kgs
Arduino
alfinete
2 -> HX711 CLK
3 -> DOUT
5V -> VCC
Terra -> Terra
Quase todos os pinos do Arduino Uno serão compatíveis com DOUT/CLK.
A placa HX711 pode ser alimentada de 2.7 V a 5 V, portanto, a alimentação de 5 V do Arduino deve funcionar bem.
*/
#include “HX711.h” //Você deve ter esta biblioteca em sua pasta de biblioteca arduino
#define DOUT 3
#define CLK2
Escala HX711(DOUT, CLK);
// Altere este fator de calibração de acordo com sua célula de carga, uma vez encontrado, você precisa variá-lo em milhares
flutuar calibração_fator = -96650; //-106600 funcionou para minha configuração de escala máxima de 40Kg
//================================================ =============================================
// CONFIGURAR
//================================================ =============================================
configuração vazia() {
Serial.begin(9600);
Serial.println("Pressione T para tarar");
scale.set_scale(-239250); //Fator de calibração obtido do primeiro esboço
scale.tare(); //Redefinir a escala para 0
}
//================================================ =============================================
// LAÇO
//================================================ =============================================
loop vazio() {
Serial.print("Peso: ");
Serial.print(scale.get_units(), 3); //Até 3 casas decimais
Serial.println("kg"); //Altere para kg e reajuste o fator de calibração se você seguir libras
if(Serial.disponível())
{
char temp = Serial.read();
if(temp == 't' || temp == 'T')
scale.tare(); //Redefinir a escala para zero
}
}
//================================================ =============================================
Depois de carregar o esboço com sucesso, abra o Serial Monitor. A janela abaixo deve aparecer mostrando o valor real da medição:
Você pode redefinir a leitura para 0.000kg (sem carga) digitando “t” ou “T” no espaço de comando e pressionando o botão “Enviar”. A tela abaixo mostrando o valor da medida torna-se 0.000kg.
Coloque um objeto na célula de carga, o peso real deve ser exibido. Abaixo está a exibição do peso ao colocar o objeto de 191 gramas (usado na 1ª etapa para calibração).
Viva! você construiu uma balança com precisão de três casas decimais!
Documentos / Recursos
![]() |
Módulo ADC de sensores de pesagem ARDUINO HX711 [pdf] Manual do Usuário Módulo ADC de sensores de pesagem HX711, HX711, módulo ADC de sensores de pesagem, módulo ADC de sensores, módulo ADC, módulo |