Подключение HX711 к ESP32

АЦП для тензодатчика (весы)

HX711 к ESP32 — два сигнальных провода: DT (данные) и SCK (тактирование), плюс питание. Он преобразует сигнал тензодатчика в 24-битное число.

Схема подключения HX711 к ESP32

HX711ESP32
DTGPIO16
SCKGPIO4
VCC3V3
GNDGND

Схема из примера «HX711: сырые отсчёты».

HX711: сырые отсчёты

Открыть пример целиком

Выводы HX711

ВыводНазначение
DTданные (DOUT)
SCKтактовый сигнал (PD_SCK)
VCCпитание
GNDобщий провод

Код для ESP32

#include <HX711.h>

HX711 scale;

void setup() {
  Serial.begin(115200);
  delay(200);
  scale.begin(16, 4);          // данные, такт
  Serial.println("сырые отсчёты, меняйте вес в свойствах датчика");
}

void loop() {
  // Ждать готовности обязательно. Вызов read() до неё блокирует
  // скетч до следующего измерения, а тактирование напролом даёт
  // сдвинутые разряды: вес прыгает без всякой видимой причины.
  if (!scale.is_ready()) {
    delay(10);
    return;
  }

  long raw = scale.read();
  Serial.printf("отсчёт %ld\n", raw);
  delay(300);
}

Скетч можно править и запускать в симуляторе без платы и установки среды.

Что учесть на ESP32

В железе

Балка подключается к HX711 четырьмя проводами: обычно красный — E+, чёрный — E−, белый — A−, зелёный — A+. Если вес растёт в минус — поменяйте местами A+ и A−.

Частые ошибки при подключении к ESP32

Другие детали для ESP32