Подключение HX711 к ESP32
АЦП для тензодатчика (весы)
HX711 к ESP32 — два сигнальных провода: DT (данные) и SCK (тактирование), плюс питание. Он преобразует сигнал тензодатчика в 24-битное число.
Схема подключения HX711 к ESP32
| HX711 | ESP32 |
|---|---|
| DT | GPIO16 |
| SCK | GPIO4 |
| VCC | 3V3 |
| GND | GND |
Схема из примера «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
- Питание 2,6–5,5 В: с ESP32 берут 3,3 В, и уровни сигналов совпадают.
- Показания калибруют:
tare()обнуляет шкалу,set_scale()задаёт коэффициент по эталонному грузу.
В железе
Балка подключается к HX711 четырьмя проводами: обычно красный — E+, чёрный — E−, белый — A−, зелёный — A+. Если вес растёт в минус — поменяйте местами A+ и A−.
Частые ошибки при подключении к ESP32
- Читать данные чаще, чем HX711 их готовит (10 раз в секунду по умолчанию):
is_ready()возвращает false, библиотека ждёт. - Питать тензодатчик от нестабильного источника: показания «плывут» вместе с питанием.
- Нет калибровки — числа в тысячах вместо граммов. Положите груз известной массы и подберите коэффициент.
- Нет
tare()при старте — весы показывают вес платформы. - Показания медленно уплывают — прогрев тензодатчика и HX711. Дайте поработать пару минут и тарируйте снова.
- Балка закреплена неправильно — стрелка на балке должна смотреть в сторону нагрузки, а изгибаться должна середина.
Ещё по теме
Другие детали для ESP32
HC-SR04DHT22 (AM2302)BME280DS3231SSD1306 OLED 0,96″LCD 1602 с I2CMAX7219TM1637MPU6050 (GY-521)Модуль релеWS2812B (NeoPixel)KY-040Клавиатура 4×4ФоторезисторМодуль microSDRGB-светодиодСервопривод SG9074HC595ИК-приёмник (VS1838B)TFT ST7735 1,8″Шаговый двигательКнопкаПотенциометрПьезопищалкаСветодиодDS18B20Ползунковый переключательHC-SR501TTP223Датчик влажности почвыMQ-2LM35Джойстик KY-023DHT11HTU21DSN65HVD230