Відповісти

Введіть повідомлення і натисніть Надіслати
Параметри

Назад

Огляд теми (нові повідомленні вгорі)

ukr100
2023-09-20 18:23:01
Васятко пише:
ukr100 пише:

может еще где ноль поставить ))

Можно, в ценнике, и купить промышленные весы. smile
Добавляйте в код фильтры. Или кнопку и измерения или вывод на индикатор делайте по ее нажатию

Не промышленные не вариант, нужна компактная конструкция под конкретные задачи, на 4ре разносимых на разное расстояние тензодатчика и потом, а как же творчество smile Но пока фильтрами трудно

Васятко
2023-09-20 16:31:27
ukr100 пише:

может еще где ноль поставить ))

Можно, в ценнике, и купить промышленные весы. smile
Добавляйте в код фильтры. Или кнопку и измерения или вывод на индикатор делайте по ее нажатию

ukr100
2023-09-20 13:56:41

vvr и гОсть, пасиб  smile ! за оперативность помогло ! вы ЛУЧШИЕ !!!
Если не сложно, может еще подскажите, теперь когда стоит без груза, данные дрейфуют, какие то разные цифры выскакивают, не критично конечно, но как говорится для полного феншуя, может еще где ноль поставить ))

г0cть
2023-09-19 21:15:20
ukr100 пише:

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

lcd.print(D,2);

vvr
2023-09-19 21:09:05

lcd.print(D1, 0)

ukr100
2023-09-19 20:53:25

Доброго дня, не спец но написал программу, требуется что бы с 4х тензодатчиков снимались данные и выводились на лсд дисплей 2004. Данные выводятся, так, что бы были по углам дисплея, всё как бы получилось и работает, но данные веса выводятся после запятой еще 3 цифры например так [ D1:270,365    D2:140,325 ] то-е показывает тысячные, подскажите как их убрать, такая точность не нужна и мельтешат, скетч прилагаю.

#include "HX711.h"
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
HX711 scale1 (2,3);  // вход датчик 1 sck-2 dt-3
HX711 scale2 (4,5);  // вход датчик 2 sck-4 dt-5
HX711 scale3 (6,7);  // вход датчик 1 sck-6 dt-7
HX711 scale4 (8,9);  // вход датчик 2 sck-8 dt-9

LiquidCrystal_I2C lcd(0x27,20,4);
float myScale1;
float myScale2;
float myScale3;
float myScale4;

void setup() {
scale1.set_scale(-100.8);   //калибровочные данные подбирать в ручную ! при уменьшении значения масса уменьшается !
scale1.tare();
myScale1 = round(scale1.get_units(3));
scale2.set_scale(-106.0);
scale2.tare();
myScale2 = round(scale2.get_units(3));
scale3.set_scale(-100.8);
scale3.tare();
myScale3 = round(scale3.get_units(3));
scale4.set_scale(-100.8);
scale4.tare();
myScale4 = round(scale4.get_units(3));

Serial.begin(115200);

lcd.init();
lcd.backlight();

lcd.setCursor(0, 0);   // настройка расположения буквы датчика (строка, столбец)
lcd.print("D1:");
lcd.setCursor(10, 0);
lcd.print("D2:");
lcd.setCursor(0, 3);   // настройка расположения буквы датчика (строка, столбец)
lcd.print("D3:");
lcd.setCursor(10, 3);
lcd.print("D4:");

}

void loop() {
myScale1 = scale1.get_units(16);
myScale2 = scale2.get_units(16);
myScale3 = scale3.get_units(16);
myScale4 = scale4.get_units(16);

//Serial.println(myScale);

float D1 = scale1.get_units();
float D2 = scale2.get_units();
float D3 = scale3.get_units();
float D4 = scale4.get_units();


lcd.setCursor(3, 0);   // вывод расположения символа D  (столбец, строка)
lcd.print(D1);
lcd.setCursor(13, 0);
lcd.print(D2);
lcd.setCursor(3, 3);
lcd.print(D3);
lcd.setCursor(13, 3);
lcd.print(D4);

}

Підвал форуму