OLÁ PESSOAL ABRI UMA BALANÇA E FIZ UM ESQUEMA DE LIGAÇÃO PARA CÉLULAS DE CARGA (4 CÉLULAS DE 4 FIOS), COM CALIBRAÇÃO INDIVIDUAL ( TRIMPOT).
DESCULPEM SE NÃO FICOU MUITO BOM.
MAS DA PRA ENTENDER!!!
Tags:
FIZ ALGO VE SE TE SERVE
VAleu, Muito interessante,
Na parte da ligação, sinceramente eu nunca havia visto algo do tipo para celular de 3 fios, foi criação/descoberta sua ou você viu em algum lugar?
Na parte do codigo eu achei incrivel, você fez tudo na unha, não utilizou bibliotecas, muito interessante.
Cara, eu vi que você utilizou algumas funções básicas no seu codigo que apesar de eu já ter uns 3 anos de arduino eu ainda não sei pra que serve, humildemente se você puder me informar eu agradeceria:
no texto:
CAPTURA = CAPTURA1; pra que serve esse ?
CAPTURA ^= 0x00800000; pra que serve esse ^= ?
olá bom dia. NA VERDADE USEI BIBLIOTECA SIM. MAS A LIGAÇÃO DE DUAS CELULAS FOI SOZINHO MESMO.
CAPTURA=CAPTURA1;
//INDICA QUE OS BITS DA VARIAVÉL CAPTURA SERAO DESLOCADO 1 VEZ PARA A ESQUERDA.
EX.;
int x = 1; // 0000 0001
int x0 = (x 0); // 0000 0001 Não deslocado
int x1 = (x 1); // 0000 0010
int x2 = (x 2); // 0000 0100
int x3 = (x 3); // 0000 1000
E CAPTURA^=0x00800000;
//xor_eq(^=)
é um operador de atribuição que executa
bit a bit "exclusivo ou"
. É equivalente a
lógica-ou-expr = lógico-ou-expr ^ atribuição-expr
, exceto que
lógico-ou-expr
é avaliada apenas uma vez.
OU SEJA ESSE É EXCLUSIVO DO HX 711, ESTA NO DATA SHEET DO HX 711.
VEJA NESSE SITE FOI ONDE TIREI TUDO.>>>> http://absolem.com.br/blog/hx711/hx711/#.V7L0JFsrLcs
DAQUI PUDE ENTENDER MELHOR COMO FUNCIONAVA O HX 711.
ABRAÇOS
Coloquei la no blog também como ligar vários HX711 lendo em paralelo.. ainda não terminei só esta com o canal A por enquanto mas...
http://absolem.com.br/blog/hx711/hx711-varios-modulos-hx711-em-para...
E como deixar ele mais rápido!
http://absolem.com.br/blog/hx711/hx711-alterando-o-tempo-de-captura...
Boa tarde galera tenho esse código com a biblioteca hx711 que funciona para 1 sensor desses de 3 fios, porém quero utilizar mais 3 sensores com o arduino lendo cada sensor separado.
No meu blog tem com leitura em paralelo..
http://dangerouselectron.blogspot.com.br/2016/07/hx711-varios-modul...
Mudei o servidor esta sem figuras ... vou tenatr corrigir durante a semana ... se voce ver desde o inicio o bog fica facil de acompanhar o desenvolvimento..
Então Alexandre eu vi seu blog, gostei muito de sua postagem, porém, não funcionou esses códigos no arduino, estão dando erro, porque será?
Desde já agradeço!
Quais erros? Provavelmente foi o Blogspot importando do wordpress... olhei rapido deve estar faltando as {}"chaves" ... em anexo o arquivo que provavelmente fiz os testes para o blog..
Bem agora deu certo haha, porém, a leitura não está correta, está assim.
Com esse código abaixo utilizando 1 sensor a precisão fica boa como pode ver.
//The library used for arduino https://github.com/bogde/HX711<br>// LCD can also be used instead of serial
#include "HX711.h"
#include <stdio.h>
// HX711.DOUT - pin 10
// HX711.PD_SCK - pin 11
HX711 scale(10, 11); // parameter "gain" is ommited; the default value 128 is used by the library library*/
void setup()
{
Serial.begin(9600);
Serial.println("HX711 Demo");
Serial.println("Before setting up the scale:");
Serial.print("read: \t\t ");
Serial.println(scale.read()); // print a raw reading from the ADC
Serial.print("read average:\t\t ");
Serial.println(scale.read_average(20)); // print the average of 20 readings from the ADC
Serial.print("get value: \t\t ");
Serial.println(scale.get_value(5));
// print the average of 5 readings from the ADC minus the tare weight (not set yet)
Serial.print("get units: \t\t ");
Serial.println(scale.get_units(5), 1);
// print the average of 5 readings from the ADC minus tare weight (not set) divided by the SCALE parameter (not set yet)
scale.set_scale(2280.f);
// this value is obtained by calibrating the scale with known weights; see the README for details
scale.tare(); // reset the scale to 0
Serial.println("After setting up the scale:");
Serial.print("read: \t\t");
Serial.println(scale.read()); // print a raw reading from the ADC
Serial.print("read average:\t\t ");
Serial.println(scale.read_average(20)); // print the average of 20 readings from the ADC
Serial.print("get value: \t\t ");
// print the average of 5 readings from the ADC minus the tare weight, set with tare()
Serial.println(scale.get_value(5));
Serial.print("get units: ");
Serial.println(scale.get_units(5), 1);
// print the average of 5 readings from the ADC minus tare weight, divided by the SCALE parameter set with set_scale
Serial.println("Readings:");
}
void loop()
{
Serial.print("Weight :");
/* ---------Weight in terms of KG-------------*/
Serial.print(scale.get_units()*0.1 , 1);
Serial.print("KG \t\t");
scale.power_down(); // put the ADC in sleep mode
delay(5000);
scale.power_up();
}
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por