#1 2023-09-19 20:53:25

ukr100
Учасник
З Украина г. Кропивницкий
Зареєстрований: 2022-12-06
Повідомлень: 21

Помогите усовершенствовать скетч

Доброго дня, не спец но написал программу, требуется что бы с 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);

}

Неактивний

#2 2023-09-19 21:09:05

vvr
Учасник
Зареєстрований: 2015-04-12
Повідомлень: 878

Re: Помогите усовершенствовать скетч

lcd.print(D1, 0)

Неактивний

#3 2023-09-19 21:15:20

г0cть
Гість

Re: Помогите усовершенствовать скетч

ukr100 пише:

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

lcd.print(D,2);

#4 2023-09-20 13:56:41

ukr100
Учасник
З Украина г. Кропивницкий
Зареєстрований: 2022-12-06
Повідомлень: 21

Re: Помогите усовершенствовать скетч

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

Неактивний

#5 2023-09-20 16:31:27

Васятко
Гість

Re: Помогите усовершенствовать скетч

ukr100 пише:

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

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

#6 2023-09-20 18:23:01

ukr100
Учасник
З Украина г. Кропивницкий
Зареєстрований: 2022-12-06
Повідомлень: 21

Re: Помогите усовершенствовать скетч

Васятко пише:
ukr100 пише:

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

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

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

Остання редакція ukr100 (2023-09-20 19:14:17)

Неактивний

Швидке повідомлення

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

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