Интернет-магазин «Неглупый Дом»
Тензодатчик через усилитель HX711 отдаёт вес в граммах после калибровки, значение выводится на дисплей.
Тензодатчик при изгибе под весом чуть-чуть меняет сопротивление — настолько незначительно, что аналоговый вход Arduino это не различит. HX711 — специализированный 24-битный АЦП с усилителем именно для тензодатчиков: усиливает сигнал и отдаёт готовое число по двум проводам DOUT/SCK.
У каждого датчика и платы HX711 свои заводские параметры, поэтому весы обязательно калибруются по грузу известного веса — без калибровки числа с датчика будут "сырыми" единицами АЦП, не граммами.
Так как реализации модуля бывают разные, если у вас нет тех контактов, что указаны ниже — сориентируйтесь по маркировке на своей плате.
// ВНИМАНИЕ: лучше отладить код через монитор порта, я языковая модель,
// а не специализированный кодер, могу что-то упустить.
#include <HX711.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
const int DOUT = 3;
const int CLK = 2;
HX711 scale;
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup() {
Serial.begin(9600);
scale.begin(DOUT, CLK);
scale.set_scale(420.f); // калибровочный коэффициент — подберите под датчик
scale.tare(); // обнуление на пустой платформе
lcd.init();
lcd.backlight();
}
void loop() {
float weight = scale.get_units(10); // среднее по 10 измерениям
lcd.setCursor(0, 0);
lcd.print("Weight: ");
lcd.print(weight, 1);
lcd.print(" g ");
Serial.println(weight, 1);
delay(500);
}
Калибровка в два шага: сначала `set_scale(1)`+`tare()`, запишите через Serial-монитор сырое значение с пустой платформой и с грузом известного веса. Коэффициент = (сырое_с_грузом − сырое_пустое) / вес_груза_в_граммах — подставьте в `set_scale()`.
Ещё модули для Arduino: Электронные модули.
🎁 Купить весь комплект со скидкой 10%
Все 2 товара сразу: 299 ₽ 269 ₽ (экономия 30 ₽)
Скидка применяется автоматически при оформлении заказа, если в корзине именно этот комплект.
Остались вопросы? Проконсультируйтесь с ИИ-инженером — он уже в курсе темы статьи и сразу ответит, ничего вводить не нужно.