Массовая вместимость 5 кг
Операционная температура Min -10 °C
Операционная температура максимум 40 °C
Усилитель HX711 связывается через двухпроводной интерфейс. Вы можете подключить его к любому цифровому пинну вашей платы Arduino. Мы подключаем пин данных (DT) к пину 2 и пин часов (CLK) к пину 3.
Следуйте следующей таблице или схеме, чтобы подключить нагрузочную ячейку к плате Arduino.
Нагрузочная ячейка | RHX711 | RHX711 | Arduino |
Красный (E+) | E+ | ГНД | ГНД |
Черный (E-) | Я... | DT | Пин 2 |
Белый (A-) | А-а-а. | SCK | Пин 3 |
Зеленый (A+) | А+ | ВКК | 5В |
На данный момент, мы предполагаем, что вы подключили нагрузочную ячейку к усилителю HX711 и усилителя к плате Arduino. Вы также должны иметь свою шкалу настроена, и установили библиотеку HX711.
Прежде чем получить вес объектов, вы должны сначала калибровать свою ячейку нагрузки, получивкалибровочный коэффициентВаш калибровочный коэффициент будет отличаться от моего, так что не пропустите этот раздел.
1)Я взвесил стакан с водой (107 грамм).
2)Мы написали следующий код с учетом инструкций по калибровке нагрузочной ячейки, предоставленной документацией библиотеки.
/*
Руи Сантос
Полная информация о проекте на сайте: https://RandomNerdTutorials.com/arduino-load-cell-hx711/
*/
// Калибровка ячейки нагрузки
# включать "HX711.h"
// Круговая проводка HX711
const int LOADCELL_DOUT_PIN = 2;
const int LOADCELL_SCK_PIN = 3;
шкала HX711;
пустое настройка ((() {
Серийный.начало ((57600);
scale.begin ((LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN);
}
пустой цикл (() {
if (scale.is_ready()) {
scale.set_scale (();
Serial.println (("Тер... убирайте вес с веса. ");
задержка ((5000);
масштаб.tare();
Серийный.println (("Задержка выполнения"...);
Serial.print (("Вставьте известный вес на весы"...);
задержка ((5000);
длинное чтение = scale.get_units(10);
Серийное печать. Результат:
Серийное печать (читание);
}
{ прочее
Serial.println (("HX711 не найден. ");
}
задержка ((1000);
}
// калибровочный коэффициент будет (читание) / ((известный вес)
После загрузки откройтеСерийный монитор с скоростью передачи 57600и затем нажмите кнопку RESET на Arduino.
4)Следуйте инструкциям на серийном мониторе: удалите любые веса из веса (он будет автоматически взвешен). Затем поместите объект с известным весом на весы и подождите, пока вы не получите значение.
5)Вычислите свой коэффициент калибровки по формуле:
калибровочный коэффициент = (численность) / (известный вес)
В нашем случае показание -49171, известный вес - 107 грамм, так что наш коэффициент калибровки будет: -49171/107 = -459.542.
калибровочный коэффициент = -49171/107 = -459.542
Сохраните свой калибровочный фактор, потому что он вам понадобится позже.
Теперь, когда вы знаете свой коэффициент калибровки, вы можете использовать свою ячейку нагрузки для взвешивания объектов.Начните с взвешивания предметов с известным весом и повторите процесс калибровки, если значения не точные.
Перед загрузкой на доску не забудьте вставить свой фактор калибровки в строку 43/44 кода.
/**
* Полная информация о проекте на сайте: https://RandomNerdTutorials.com/arduino-load-cell-hx711/
**/
#включать
# включать "HX711.h"
// Круговая проводка HX711
const int LOADCELL_DOUT_PIN = 2;
const int LOADCELL_SCK_PIN = 3;
шкала HX711;
пустое настройка ((() {
Серийный.начало ((57600);
Serial.println (("HX711 Demo");
Serial.println (("Инициализация масштаба");
scale.begin ((LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN);
Serial.println (("Перед установкой шкалы:");
Серийное печать (("читать: tt");
Serial.println ((scale.read()); // напечатать необработанный отчёт от ADC
Серийное.печать (("среднее чтение: tt");
Serial.println ((scale.read_average(20)); // напечатать среднее число из 20 показаний от ADC
Serial.print (("получить значение: tt");
Serial.println ((scale.get_value(5)); // напечатать среднее значение 5 показаний от ADC минус вес тары (еще не установлен)
Serial.print (("получить единицы: tt");
Serial.println ((scale.get_units ((5), 1); // напечатать среднее значение 5 показаний от ADC минус таровый вес (не установленный) разделенный
// с параметром SCALE (пока не установлен)
scale.set_scale ((-459.542));
//scale.set_scale ((-471.497); // это значение получается путем калибровки веса с известными весами; см. README для подробной информации
scale.tare(); // сбросить масштаб до 0
Serial.println (("После установки шкалы:");
Серийное печать (("читать: tt");
Serial.println ((scale.read()); // напечатать необработанный отчёт от ADC
Серийное.печать (("среднее чтение: tt");
Serial.println ((scale.read_average(20)); // напечатать среднее число из 20 показаний от ADC
Serial.print (("получить значение: tt");
Serial.println ((scale.get_value(5)); // напечатать среднее значение 5 показаний от ADC минус вес тары, установленный с тарой()
Serial.print (("получить единицы: tt");
Serial.println ((scale.get_units ((5), 1); // напечатать среднее значение 5 показаний от ADC минус таровый вес, разделенный
// параметром SCALE, установленным с set_scale
Serial.println (("Чтения:");
}
пустой цикл (() {
Серийное печать (("одно чтение: t");
Серийное.печать ((масштаб.объединения))), 1);
Серийный отпечаток (в среднем: t);
Serial.println ((scale.get_units ((10), 5);
задержка ((5000);
}