True 24 bits with Atmega328P?? Yes it is possible!
For not speed-demanding-sampling-rate applications (what a weird sentence!?), 10 to 80sps; here is proven neat solution with cheap and affordable HX711 modules:
(thanks to existing libraries all this becomes a very easy play)
"..long Raw = (scale.read_average(10));.."
10 samples average.
I purposely added LCD to check overall behavior when rising the averaging number of samples.
Up to 30 samples is not significantly affecting the LCD behavior. Yet; everything above 20 is not providing me importantly more stable readings.
10 is quite optimal. Subject to change, from case to case.
Adjustable gain:
For not speed-demanding-sampling-rate applications (what a weird sentence!?), 10 to 80sps; here is proven neat solution with cheap and affordable HX711 modules:
(thanks to existing libraries all this becomes a very easy play)
Code:
#include "HX711.h"
#include <math.h>
#include <LiquidCrystal.h>
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
#define DOUT 3
#define CLK 2
HX711 scale(DOUT, CLK);
void setup()
{
lcd.begin(16,2);
}
void loop()
{
merenje();
}
void merenje()
{
lcd.setCursor(0,0);
long Raw = (scale.read_average(10));
lcd.print(Raw);
lcd.print(" ");
}
"..long Raw = (scale.read_average(10));.."
10 samples average.
I purposely added LCD to check overall behavior when rising the averaging number of samples.
Up to 30 samples is not significantly affecting the LCD behavior. Yet; everything above 20 is not providing me importantly more stable readings.
10 is quite optimal. Subject to change, from case to case.
Adjustable gain:

Comment