目次
重さ・力とか測りたい
昔、こんな飛行機を作っていた時 (昔のページおいておいてよかった)

これのモータ選定・ペラ選定・ESC選定などをする時に。。

こんなことをしてですね。。 いろいろなモータ比べたり、ペラ選定したり。。モータ燃やしたり。。ESC燃やしたり。。してました(笑)
PCに取り込んだりするのに。。デジタル出力の測りほしいなぁ~って思っていたんですが。。なかなかいいのがないので。。(デジタル表示のやつはいっぱい安いのあるんですがね。。)
ふとアマゾン見たら。。ロードセルやすかった(笑)
ちょっと買ってみようかな?と。。
着きました!!

が。。例によって。。 全く説明書類がないので、その忘備録として。。のメモです。
たぶんHX711ボードの回路や、ブリッジの構成はこんな感じかと。。

そして。。 たぶん接続は、これかな?

参考になりそうなHP
秋月のHX711とArduino
https://www.denshi.club/cookbook/sensor/g/1-2.html
秋月のHX711とM5Stack
https://www.denshi.club/cookbook/arduino/m5stack/m5stack-5.html
おなじみRandon Nerdのチュートリアル
GithubでのHX711
ESP32、Arduinoなどのライブラリ
https://github.com/bogde/HX711
温度補償の機能もついている例
https://github.com/RobTillaart/HX711
あっ。。こういうの使う人は。。もちろんこういうの持ってないとだめですよ
プログラム例 ESP32 DevBoard
ライブラリ
いろいろHX711用はあるみたいですが、ArduinoのLibraryは、
https://github.com/bogde/HX711

これを入れました。
配線
RandomNerdの通りにしました。
| Load Cell | HX711 |
| Red (E+) | E+ |
| Black (E-) | E- |
| White (A-) | A- |
| Green (A+) | A+ |
ESPとの接続はこちら
| HX711 | ESP32 |
| GND | GND |
| DT | GPIO 16 |
| SCK | GPIO 4 |
| VCC | 3.3V |
校正
スケールをあわせるために、校正というか、重りがいります。
スケッチ上では、この関数の値を入れます。
scale.set_scale(2070.f);
2070とか書いてあるやつです。
校正用のプログラムは、これです。 以下のスケッチを入れて
校正値=出てきた値/のっけた重りの重さ
です。
// Calibrating the load cell
#include <Arduino.h>
#include "HX711.h"
// HX711 circuit wiring
const int LOADCELL_DOUT_PIN = 16;
const int LOADCELL_SCK_PIN = 4;
HX711 scale;
void setup() {
Serial.begin(115200);
rtc_clk_cpu_freq_set(RTC_CPU_FREQ_80M);
scale.begin(LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN);
}
void loop() {
if (scale.is_ready()) {
scale.set_scale();
Serial.println("Tare... remove any weights from the scale.");
delay(5000);
scale.tare();
Serial.println("Tare done...");
Serial.print("Place a known weight on the scale...");
delay(5000);
long reading = scale.get_units(10);
Serial.print("Result: ");
Serial.println(reading);
}
else {
Serial.println("HX711 not found.");
}
delay(1000);
}
//calibration factor will be the (reading)/(known weight)
スケッチ
動かすスケッチは、これ。
https://github.com/bogde/HX711/blob/master/examples/HX711_full_example/HX711_full_example.ino
変更は、下記の箇所です。
// HX711 circuit wiring const int LOADCELL_DOUT_PIN = 16; const int LOADCELL_SCK_PIN = 4;
と、
scale.set_scale(2280.f); // this value is obtained by calibrating the scale with known weights; see the README for details
これで

こんなふうに出てきます。
たとえば そのままの50g乗せると、50gって出てきます。gで出てきてると思います。
こっちのライブラリーの方がいいですね。
https://github.com/olkal/HX711_ADC
Calibrationもやりやすいし。。 アベレージングも綺麗にやってくれる。
風袋リセットとか、これで校正してみると、0.3%くらいの誤差で測定できているような感じです。



コメントを残していただけるとありがたいです