- Componentes necessários para construir uma balança de peso Arduino:
- Célula de carga e módulo sensor de peso HX711:
- Explicação do circuito:
- Explicação de trabalho:
- Código de escala de pesagem do Arduino:
Hoje vamos construir uma máquina wight Arduino, fazendo interface com a célula de carga e o sensor de peso HX711 com o Arduino. Vimos máquinas de peso em muitas lojas, onde a máquina exibe o peso apenas colocando um item na plataforma de pesagem. Então aqui estamos construindo a mesma máquina de pesagem usando Arduino e células de carga, com capacidade de medir até 40kg. Esse limite pode ser aumentado ainda mais usando a célula de carga de maior capacidade.
O principal componente necessário para construir esta balança Arduino é um sensor que pode converter o peso em um sinal elétrico equivalente. Esse sensor é chamado de célula de carga, portanto, neste projeto, usaremos essa célula de carga como nosso sensor de peso do Arduino. Também usamos a mesma célula de carga em alguns outros projetos como, como a máquina de pesagem portátil Arduino de varejo, balança Raspberry pi, etc, você também pode verificá-los se estiver interessado.
Componentes necessários para construir uma balança de peso Arduino:
- Arduino Uno
- Célula de carga (40kg)
- Módulo amplificador de célula de carga HX711
- LCD 16x2
- Fios de conexão
- cabo USB
- Tábua de pão
- Parafusos de porca, estrutura e base
Célula de carga e módulo sensor de peso HX711:
A célula de carga é um transdutor que transforma força ou pressão em saída elétrica. A magnitude desta saída elétrica é diretamente proporcional à força aplicada. As células de carga têm um medidor de tensão, que deforma quando é aplicada pressão a elas. E então o medidor de tensão gera um sinal elétrico na deformação conforme sua resistência efetiva muda na deformação. Uma célula de carga geralmente consiste em quatro medidores de tensão em uma configuração de ponte de Wheatstone. A célula de carga vem em várias faixas como 5kg, 10kg, 100kg e mais, aqui usamos a célula de carga, que pode pesar até 40kg.
Agora, os sinais elétricos gerados pela célula de carga estão em alguns milivolts, então eles precisam ser amplificados por algum amplificador e, portanto, o sensor de pesagem HX711 entra em cena. O Módulo do Sensor de Pesagem HX711 possui o chip HX711, que é um conversor A / D 24 de alta precisão (conversor analógico para digital). O HX711 tem dois canais de entrada analógica e podemos obter ganho de até 128 ao programar esses canais. Portanto, o módulo HX711 amplifica a baixa saída elétrica das células de carga e, em seguida, esse sinal amplificado e convertido digitalmente é alimentado no Arduino para derivar o peso.
A célula de carga é conectada ao amplificador de célula de carga HX711 usando quatro fios. Esses quatro fios são Vermelho, Preto, Branco e Verde / Azul. Pode haver uma ligeira variação nas cores dos fios de módulo para módulo. Abaixo os detalhes e o diagrama da conexão:
- O fio VERMELHO está conectado a E +
- O fio PRETO está conectado a E-
- O fio BRANCO está conectado a A-
- O fio VERDE está conectado a A +
Célula de carga de fixação com plataforma e base:
Esta etapa é opcional e você pode colocar os pesos diretamente na célula de carga sem uma plataforma e pode simplesmente prendê-la sem fixá-la com qualquer base, mas é melhor anexar uma plataforma para colocar as coisas grandes nela e fixá-la em uma base para que pare. Portanto, aqui precisamos fazer uma estrutura ou plataforma para colocar as coisas para medição de peso. Uma base também é necessária para fixar a célula de carga sobre ela usando porcas e parafusos. Aqui, usamos papelão duro como moldura para colocar as coisas sobre ela e uma placa de madeira como base. Agora faça as conexões conforme mostrado no diagrama de circuito e você está pronto para começar.
Explicação do circuito:
As conexões para este projeto são fáceis e o esquema é fornecido abaixo. Os pinos de LCD 16x2 RS, EN, d4, d5, d6 e d7 são conectados aos pinos de número 8, 9, 10, 11, 12 e 13 do Arduino, respectivamente. Os pinos DT e SCK do módulo HX711 são conectados diretamente aos pinos A0 e A1 do Arduino. As conexões da célula de carga com o módulo HX711 já foram explicadas anteriormente e também são mostradas no diagrama de circuito abaixo.
Explicação de trabalho:
O princípio de funcionamento deste projeto de Medição de Peso Arduino é fácil. Antes de entrar em detalhes, primeiro, temos que calibrar este sistema para medir o peso correto. Quando o usuário o ligar, o sistema começará a calibrar automaticamente. E se o usuário quiser calibrá-lo manualmente, pressione o botão. Criamos uma função void calibrate () para fins de calibração, verifique o código abaixo.
Para calibração, aguarde a indicação do LCD para colocar 100 gramas sobre a célula de carga conforme mostrado na imagem abaixo. Quando o LCD exibir “colocar 100g” , coloque o peso de 100g sobre a célula de carga e espere. Após alguns segundos, o processo de calibração estará concluído. Após a calibração, o usuário pode colocar qualquer peso (máx. 40 kg) na célula de carga e pode obter o valor no LCD em gramas.
Neste projeto, usamos o Arduino para controlar todo o processo. A célula de carga detecta o peso e fornece uma tensão elétrica analógica ao módulo amplificador de carga HX711. O HX711 é um ADC de 24 bits, que amplifica e converte digitalmente a saída da célula de carga. Então, esse valor amplificado é enviado ao Arduino. Agora o Arduino calcula a saída do HX711 e converte isso nos valores de peso em gramas e mostra no LCD. Um botão de pressão é usado para calibrar o sistema. Escrevemos um programa Arduino para todo o processo, verifique o código e o vídeo de demonstração no final deste tutorial.
Código de escala de pesagem do Arduino:
A parte de programação deste projeto é um pouco complexa para iniciantes. Neste projeto, não usamos nenhuma biblioteca para fazer a interface do sensor de carga HX711 com o Arduino. Acabamos de seguir a folha de dados do HX711 e as notas de aplicação. Embora existam algumas bibliotecas presentes para este propósito, onde você só precisa incluir essa biblioteca e você pode obter o peso usando uma linha de código.
Em primeiro lugar, incluímos um arquivo de cabeçalho para LCD e definimos os pinos para o mesmo. E para botão de pressão também. Em seguida, declarou algumas variáveis para fins de cálculo.
#incluir
Em seguida, criamos a função abaixo para ler os dados do módulo HX711 e retornar sua saída.
Contagem longa sem sinal (void) {Contagem longa sem sinal; unsigned char i; pinMode (DT, OUTPUT); digitalWrite (DT, HIGH); digitalWrite (SCK, LOW); Contagem = 0; pinMode (DT, INPUT); enquanto (digitalRead (DT)); para (i = 0; i <24; i ++) {digitalWrite (SCK, HIGH); Contagem = Contagem << 1; digitalWrite (SCK, LOW); if (digitalRead (DT)) Contagem ++; } digitalWrite (SCK, HIGH); Contagem = Contagem ^ 0x800000; digitalWrite (SCK, LOW); return (Count); }
Depois disso, inicializamos o LCD e fornecemos instruções para os pinos de entrada e saída na configuração void ().
void setup () {Serial.begin (9600); pinMode (SCK, OUTPUT); pinMode (sw, INPUT_PULLUP); lcd.begin (16, 2); lcd.print ("Peso"); lcd.setCursor (0,1); lcd.print ("Medição"); atraso (1000); lcd.clear (); calibrar(); }
Em seguida, na função void loop () , lemos os dados do módulo HX711 e convertemos esses dados em peso (gramas) e os enviamos para o LCD.
loop void () {contagem = readCount (); int w = (((amostra de contagem) / val) -2 * ((amostra de contagem) / val)); Serial.print ("peso:"); Serial.print ((int) w); Serial.println ("g"); lcd.setCursor (0,0); lcd.print ("Peso"); lcd.setCursor (0,1); lcd.print (w); lcd.print ("g"); if (digitalRead (sw) == 0) {val = 0; amostra = 0; w = 0; contagem = 0; calibrar(); }}
Antes disso, criamos uma função de calibração na qual calibramos o sistema colocando o peso de 100 g sobre a célula de carga.
void calibrate () {lcd.clear (); lcd.print ("Calibrando…"); lcd.setCursor (0,1); lcd.print ("Aguarde…"); para (int i = 0; i <100; i ++) {count = readCount (); amostra + = contagem; Serial.println (contagem); }……………….
Portanto, aqui aprendemos a interface básica da célula de carga e do sensor de peso HX11 com o Arduino para medir os pesos. Em nossos tutoriais de texto, criaremos alguns aplicativos baseados na medição de peso, como contêiner inteligente, portão automático etc.