Подключение тензодатчика к Ардуино
Если вас интересуют технические характеристики, назовем базовые:
- напряжение питания: 2,6-5,5V;
- потребляемый рабочий ток: 1,5 мА;
- скорость обновления данных: 10 в секунду (Гц) или 80 в секунду (Гц);
- входное напряжение: ±40мВ;
- рабочие температуры: -40 ... +80°C.
- плата расширения Arduino Uno (другие тоже подойдут) + электропитание для нее;
- микрочип HX711 (на переходной плате);
- датчик нагрузки;
- прочная конструкция с твердой поверхностью или макетная плата;
- соединительные провода.
Подключение тензодатчика HX711 к Arduino
Для начала установим датчик веса (как показано на скриншоте):Учитываем следующие нюансы: монтажная опора и подвижная пластина должны быть жесткими, а между ними и тензодатчиком следует обязательно установить несгибаемые стойки.
Общая (принципиальная) схема подключения приборов приведена ниже:
Добавляем в программную среду Ардуино библиотеку для микросхемы с одноименным названием - HX711 (предварительно скачав ее тут):
https://github.com/bogde/HX711
Настал черед провести тестирование ∕ калибровку (и это очень важный этап). Заливаем скетч:
//код для калибровки
//код для калибровки
#include "HX711.h"
HX711 scale(A1, A0); // DT, CLK
float Calibration_Factor_Of_Load_cell = -3.7; // этот калибровочный коэффициент настраивается в соответствии с тензодатчиком
float U;
float O;
void setup() {
Serial.begin(9600);
Serial.println("HX711 calibration sketch");
Serial.println("Remove all weight from scale");
Serial.println("After readings begin, place known weight on scale");
Serial.println("Press + or a to increase calibration factor");
Serial.println("Press - or z to decrease calibration factor");
scale.set_scale();
scale.tare(); //Сбросьте масштаб до 0
long zero_factor = scale.read_average(); //Получаем базовое чтение
Serial.print("Zero factor: "); //Это можно использовать, чтобы устранить необходимость тарирования шкалы. Полезно в проектах постоянного масштаба.
Serial.println(zero_factor);
}
void loop() {
scale.set_scale(Calibration_Factor_Of_Load_cell); //Отрегулируйте этот калибровочный коэффициент
Serial.print("Reading: ");
U = scale.get_units();
if (U < 0)
{
U = 0.00;
}
O = U * 0.035274;
Serial.print(O);
Serial.print(" grams");
Serial.print(" Calibration_Factor_Of_Load_cell: ");
Serial.print(Calibration_Factor_Of_Load_cell);
Serial.println();
if (Serial.available())
{
char temp = Serial.read();
if (temp == '+' || temp == 'a')
Calibration_Factor_Of_Load_cell += 1;
else if (temp == '-' || temp == 'z')
Calibration_Factor_Of_Load_cell -= 1;
}
}
Сделать электронные весы на Ардуино своими руками довольно легко. Для этого понадобится немного терпения, минимум опыта и финансовых вложений, а также ваше огромное желание научиться в конструировании чего-нибудь новому и полезному (что пригодится для жизни и в быту).
Сегодня поговорим о том, как воплотить в жизнь подключение FPM10A к Arduino, что это за модуль, где используется, каковы параметры его работы и т.д. Речь идет...
В новом информационном обзоре рассматриваем GSM модуль SIM800L к Arduino. Почему выбрано именно это устройство? Во-первых, оно достаточно известно и популярно...
В этой статье мы рассмотрим подключение ADS1115 к Ардуино. Речь идет о 16-битном аналого-цифровом преобразователе, оснащенном 4 входами непосредственно для...
Модуль энкодер KY-040 является электромеханическим устройством, а точнее - датчиком угла поворота и вращения оси различных девайсов. Непосредственно сам прибор...
В этой статье обсуждаем подключение датчика температуры DS18B20 к Arduino. О подобных устройствах мы говорили мало, но это не означает, что их редко...