Доброго дня.
Есть четыре полумостовых тензодатчика.
Подключены по схеме к HX711:
Скетч не сложный и вроде все понятно
#include "HX711.h"
// подключаем библиотеку для работы с тензодатчиком
uint8_t DOUT_PIN = 3;
// указываем вывод DOUT, к которому подключен HX711
uint8_t SCK_PIN = 2;
// указываем вывод SCK , к которому подключен HX711
HX711 scale;
// создаём объект scale
float calibration_factor = -0.77;
// вводим калибровочный коэффициент
float units;
// задаём переменную для измерений в граммах
float ounces;
// задаём переменную для измерений в унциях
void setup() {
Serial.begin(57600);
// инициируем работу последовательного порта на скорости 9600 бод
scale.begin(DOUT_PIN, SCK_PIN); // инициируем работу с датчиком
scale.set_scale();
// выполняем измерение значения без калибровочного коэффициента
scale.tare();
// сбрасываем значения веса на датчике в 0
scale.set_scale(calibration_factor); // устанавливаем калибровочный коэффициент
}
void loop() {
Serial.print("Reading: ");
// выводим текст в монитор последовательного порта
ounces = scale.get_units(10);
// получаем значение с датчика, усреднённое по 10 измерениям
units = ounces * 0.035274;
// переводим вес из унций в граммы
Serial.print(units);
// выводим в монитор последовательного порта вес в граммах
Serial.println(" grams");
// выводим текст в монитор последовательного порта
}
Тут есть нормальное описание, откуда и взят скетч.
Вопрос вот в чем:
Данные приходят, но разброс от измерения к измерению от 200 гр. до 800 гр. Может кто-то собирал напольные весы на arduino? Кто-то может сталкивался?