🛒
0 товар.
0 руб.
Логотип

Интернет-магазин «Неглупый Дом»

☰
ИИ-консультант Wildberries OZON Яндекс Маркет
Поиск по сайту
Гугл таблица с ассортиментом

⚖️ Проект: электронные весы на HX711 с выводом на LCD1602

Схема электронных весов на HX711 с выводом на LCD1602

Тензодатчик через усилитель HX711 отдаёт вес в граммах после калибровки, значение выводится на дисплей.

Как это работает

Тензодатчик при изгибе под весом чуть-чуть меняет сопротивление — настолько незначительно, что аналоговый вход Arduino это не различит. HX711 — специализированный 24-битный АЦП с усилителем именно для тензодатчиков: усиливает сигнал и отдаёт готовое число по двум проводам DOUT/SCK.

У каждого датчика и платы HX711 свои заводские параметры, поэтому весы обязательно калибруются по грузу известного веса — без калибровки числа с датчика будут "сырыми" единицами АЦП, не граммами.

Пошаговая сборка

Так как реализации модуля бывают разные, если у вас нет тех контактов, что указаны ниже — сориентируйтесь по маркировке на своей плате.

  1. Подключите тензодатчик к HX711 по цветовой маркировке проводов датчика.
  2. HX711: DT → D3, SCK → D2, VCC → 5V, GND → GND.
  3. LCD1602 с I2C: SDA → A4, SCL → A5, VCC → 5V, GND → GND.
  4. Платформа для груза не должна касаться ничего, кроме самого датчика.
  5. Проведите калибровку перед первым использованием (см. ниже).

Скетч

// ВНИМАНИЕ: лучше отладить код через монитор порта, я языковая модель,
// а не специализированный кодер, могу что-то упустить.

#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: Электронные модули.

← 📶 RFID-приветствие на RDM6300 с …🎵 цветомузыка на индикаторе уров… →

🎁 Купить весь комплект со скидкой 10%

Все 2 товара сразу: 299 ₽ 269 ₽ (экономия 30 ₽)

Скидка применяется автоматически при оформлении заказа, если в корзине именно этот комплект.

Остались вопросы? Проконсультируйтесь с ИИ-инженером — он уже в курсе темы статьи и сразу ответит, ничего вводить не нужно.

Корзина

Поиск


Пример: понижающий или DC-DC или mini360 или aw-023 или арт. OZ/WB/YA