Neue HX711 Bibliothek für Arduino von Rob Tillaart

Rob Tillaart hat auf Grundlage der bisherigen kanonischen HX711 Arduino Bibliothek von Bogdan Necula und @Andreas [1] eine neue HX711 lib geschrieben:

This HX711 library has an interface which is a superset of a library made by bogde. Some missing functions were added to get more info from the lib.

Another important difference is that this library uses floats. The 23 bits mantisse of the IEE754 float matches the 24 bit ADC very well. Furthermore it gave a smaller footprint.


  1. GitHub - bogde/HX711: An Arduino library to interface the Avia Semiconductor HX711 24-Bit Analog-to-Digital Converter (ADC) for Weight Scales. ↩︎

3 Likes

Hi Clemens,

vielen Dank fürs Ausgraben und Anbandeln bei read_mean in addition to read_average · Issue #5 · RobTillaart/HX711 · GitHub.

Der Reichhaltigkeit und Plattformkompatibilität der Bibliotheken muss man aber doch noch ein wenig auf den Zahn fühlen, wenn man [1] vs. [2] vergleicht. Falls der Arduino HAL die Interrupt-Maskierung nun auf allen Plattformen ordnungsgemäß via noInterrupts() bzw. interrupts() realisiert, könnte dieser Aspekt vielleicht so in Ordnung gehen.

Aber das fehlende shiftInSlow()? Genau diesen Aspekt haben wir damals ja u.a. auf Basis von Improving the canonical Arduino HX711 library for ESP8266, ESP32 and beyond - #2 by weef per Spring cleaning with multiarch support by amotl · Pull Request #123 · bogde/HX711 · GitHub realisiert.

Unabhängig davon, auch wenn vielleicht nicht lebensbedrohlich, hat mindestens ein Funktionsname einen Schreibfehler. Es muss “calibrate” mit einem “L” statt Doppel-L (“callibrate”) heißen.

Viele Grüße,
Andreas.

[1] HX711/HX711.cpp at master · bogde/HX711 · GitHub
[2] HX711/HX711.cpp at master · RobTillaart/HX711 · GitHub

Vielen Dank, Clemens. Rob Tillaart schrieb dazu, schon im Mai 2021:

As I understand the shiftInSlow() was needed to improve the communication between the sensor and the processor.

Typo in function name cal_l_ibrate_scale(uint16_t · Issue #6 · RobTillaart/HX711 · GitHub

Die Bibliothek hat nun, auch schon im November 2021, mit Develop (#12) · RobTillaart/HX711@7683080 · GitHub ebenfalls “shiftInSlow()” erhalten. YMMV.

Es kamen weitere Verfeinerungen dazu, gar nicht so lange her:

Fast processor read() delay · Issue #46 · RobTillaart/HX711 · GitHub

1 Like

Update 2024:

Das sieht recht gut aus! Nach aktueller Sachlage, ohne die Bibliothek bisher selbst verwendet zu haben, würde ich empfehlen, unsere Firmwares darauf umzusatteln, mindestens bei Folgeprojekten im Bereich der Bienenstockwiegung [1], da die bisher verwendete Bibliothek von Bogdan Necula nicht mehr gepflegt wird.


  1. Besser wäre aber natürlich, dafür auch gleich bessere Hardware in Form des NAU7802 zu verwenden, stimmts? ↩︎

Stark. Rob Tillaart hat eine neue Variante seiner HX711 Bibliothek am Start. implement multi point calibration by RobTillaart · Pull Request #2 · RobTillaart/HX711_MP · GitHub enthält die entsprechenden Erweiterungen:

Has a multipoint calibration (MP) to compensate for non-linear sensor readings.

Das Interface lässt sich dort betrachten:

1 Like