#include "HX711.h"
HX711 loadCell5Kg;
HX711 loadCell50Kg;
void printLoadCellInfo(HX711 loadCell) {
// 読み取った値
Serial.print(loadCell.read());
Serial.print("\t");
// 20 回の読み取りの平均値
Serial.print(loadCell.read_average(20));
Serial.print("\t");
// 5 回の読み取りの平均値 - 風袋重量
Serial.print(loadCell.get_value(5));
Serial.print("\t");
// (5 回の読み取りの平均値 - 風袋重量) / SCALE
// 小数点以下 1 桁で表示
Serial.println(loadCell.get_units(5), 1);
}
void setup() {
Serial.begin(9600);
loadCell5Kg.begin(A0, A1);
loadCell50Kg.begin(A2, A3);
Serial.println("read\tread average\tget value\tget units");
Serial.println("5kg ロードセル設定前");
printLoadCellInfo(loadCell5Kg);
// SCALE 設定 (float 型)
loadCell5Kg.set_scale(2280.f);
// 風袋重量設定
loadCell5Kg.tare();
Serial.println("5kg ロードセル設定後");
printLoadCellInfo(loadCell5Kg);
Serial.println("50kg ロードセル設定前");
printLoadCellInfo(loadCell50Kg);
// SCALE 設定 (float 型)
loadCell50Kg.set_scale(2280.f);
// 風袋重量設定
loadCell50Kg.tare();
Serial.println("50kg ロードセル設定後");
printLoadCellInfo(loadCell50Kg);
Serial.println();
Serial.println("5kg\t\t\t50kg");
Serial.println("unit\taverage\t\tunit\taverage");
}
void loadCellDelay(unsigned long ms) {
loadCell5Kg.power_down();
loadCell50Kg.power_down();
delay(ms);
loadCell5Kg.power_up();
loadCell50Kg.power_up();
}
void loop() {
Serial.print(loadCell5Kg.get_units(), 1);
Serial.print("\t");
Serial.print(loadCell5Kg.get_units(10), 1);
Serial.print("\t\t");
Serial.print(loadCell50Kg.get_units(), 1);
Serial.print("\t");
Serial.println(loadCell50Kg.get_units(10), 1);
loadCellDelay(2500);
}