This is a small fork of @dangrie/hx711 to use newer g++ version. The original code didn't compile with newer compilers causing some issues with other packages. This is very much untested.
g++-4.9
node-gyp needs to compile with g++ v4.9 due to the version of v8 node uses since some versions. However raspian comes with v4.6 preinstalled. Install it viasudo apt-get install g++-4.9
WiringPi
for the native GPIO handling this libary uses WiringPi. Install it using the instructions on the Website.
This library exposes a class with Name HX711
that gives you access to all functions you need to interface.
const sensor = new HX711(clockPin, dataPin);
create a new Sensor instance. The pin Numbers should represent the WiringPi Pins the Sensor is connected to. You can have as many HX711 Chips connected as long as they all are connected to a different set of pins.
sensor.read();
Read the raw value as returned from the Sensor. You normally don't call this Method directly, but you may find it useful so I exported it.
let units = sensor.getUnits();
Read the sensor times
times and calculate the average. This returns a scaled value with the offset removed.
sensor.tare();
Read the sensor times
times and save the average Offset via setOffset()
.
sensor.setOffset(-1000);
set or reset the offset for the sensor
let offset = sensor.getOffset();
get the current offset of the sensor
sensor.setScale(3543.26);
set or reset the scale for the sensor
let scale = sensor.getScale();
get the current scale of the sensor
It sometimes can happen that the HX711 chip gets in a state where it does not recover itself. This can result in an endless loop while the library waits for the chip to notify a new data set.
If you ever run in a problem where the library does not give you new values, just power cycle the sensor.