Sto realizzando una pesa, ha 4 sensori ma al momento ne stò provando solo uno.
Ho un Funduino mega 2560, un paio di moduli HX711 di diversi produttori e delle celle di carico da 20kg.
In sostanza il problema è che con la stranota libreria (bogde) non leggo il valore corretto. Mi scorrono i valori che si alternano tra loro ma NON reagiscono alla pressione sul sensore e addirittura scollegando il sensore i valori non cambiano.
Ho provato anche con una board di un produttore diverso ma niente da fare; ho pure scritto una mia funzione per leggere i valori grezzi dal sensore ma il problema (in forma diversa) rimane.
Sapreste darmi una dritta ? Vi allego il mio codice (quello scritto da me):
Ho misurato il clock generato dal mega e ha su porte analogiche un ON-time/Off-time di 3,6uS e spicci, mentre su porte digitali è un pò piu lento ma comunque sempre sotto i 10uS (nel caso steste pensando a un problema di temporizzazzioni).
L'altro codice che ho usato l'ho preso da internet e mi sembra essere quello classico con prima la taratura e poi la misura vera e proprio fatte in due sketch diversi.
Niente da fare, ho provato pure un quartetto di sensori con 3 fili opportunamente collegati, ma non cambia niente.
A queto punto credo che ci sia un problema sull'hardware/software di arduino. Se vi viene in mente qualchel prova che posso fare dite pure, intanto vi allego l'atro codice che ho usato.
#include <HX711.h> //You must have this library in your arduino library folder
#define DOUT 57
#define CLK 56
HX711 scale(DOUT, CLK);
//Change this calibration factor as per your load cell once it is found you many need to vary it in thousands
float calibration_factor = -96650; //-106600 worked for my 40Kg max scale setup
//=============================================================================================
// SETUP
//=============================================================================================
void setup() {
Serial.begin(9600);
Serial.println("Press T to tare");
scale.set_scale(-96650); //Calibration Factor obtained from first sketch
scale.tare(); //Reset the scale to 0
}
//=============================================================================================
// LOOP
//=============================================================================================
void loop() {
Serial.print("Weight: ");
Serial.print(scale.get_units(), 3); //Up to 3 decimal points
Serial.println(" kg");
delay(100);
if(Serial.available())
{
char temp = Serial.read();
if(temp == 't' || temp == 'T')
scale.tare(); //Reset the scale to zero
}
}
Sto usando le celle di carico da 10kg sempre con HX711 ma non ho nessun problema. Prova semmai a spostare il D e il PD_CLK su altri piedini del tuo Mega.