Aliexpress で歪みゲージ (ロードセル 1kg) と、HX711 のモジュールを買ったので試してみました。
歪みゲージのつかいかた
歪ませる必要があるので、このように上下に板をつけて挟みこみます。このとき、多少すきまが必要なのでワッシャーなどをかまします。
今回使った歪みゲージのスペックは以下の通りです。(コピペ) また、M4 と M5 のネジが切ってありました。
Rated Load: 1Kg Rated Output: 1.0mV/V±0.15mV/V Zero Output: ±0.1mV/V Creep: 0.03%F.S./30min Input End: Red+ (power), Black-(power) Output End: Green+(signal), White-(signal) Recommended operating voltage: 3 ~ 12 VDC Maximum operating voltage: 15 VDC Input Impedance: 1115±10%Ω Output Impedance: 1000±10%Ω Protection class: IP65 Total Size: approx. 3.15 x0.50 x 0.50 inch Cable: 0.8 x 20 cm (diameter x length) Material: Aluminum Alloy Weight: 30g
HX711 で読んでみる (Arduino)
手に入れたのは↑のようなモジュールです。適当に配線して読みます。
以下のライブラリを使ってみました。
README の通りにスケールを設定する必要があります。
#include <Arduino.h>
// https://github.com/bogde/HX711
#include "HX711.h"
const int DT_PIN = 2;
const int SCK_PIN = 3;
HX711 scale;
void setup() {
Serial.begin(9600);
Serial.println("start");
scale.begin(DT_PIN, SCK_PIN);
Serial.print("read:");
Serial.println(scale.read());
scale.set_scale();
scale.tare();
Serial.print("calibrating...");
delay(5000);
Serial.println(scale.get_units(10));
scale.set_scale(-1536.00);
scale.tare();
Serial.print("read (calibrated):");
Serial.println(scale.get_units(10));
}
void loop() {
Serial.println(scale.get_units(10), 1);
scale.power_down();
delay(500);
scale.power_up();
}
このようなコードを書いて、
- 何ものせずに起動
- calibrating... が表示されたらすかさず1円玉を1枚載せる (1g)
- 値を読む
- scale.set_scale(...); に値を埋めこむ
という方法をとりました。
どんな感じか
こんな感じで値が読めました。1円玉を1つずつ増やして5枚まで載せてみました。