Подскажите датчик давления

подскажитие актуальный датчик давления в трубопровод с водой

вот тема вроде
там ДАТЧИК ДАВЛЕНИЯ СДВ-И “КОММУНАЛЕЦ” 1,0 МПА (СДВ-И-1,60-1,00-0,60-М-4-20МА-DА42206053) хвалят, он актуален?

“Для себя” я б взял аналоговый обычный https://www.aliexpress.com/i/32622062762.html китаец.
Питание (игрался с таким) давал 5 вольт.
Провода: Черный - земля
Красный - питание
Желтый - выход, напряжение пропорционально давлению.
Можно мерить прямо аналоговым входом wb.

1 лайк

Добрый день. Как подключить этот датчик напрямую к wb. И как преобразовать показания с него в давление?

черный земля, красный +5В, желтый к A1.
Диапазон 0.5-4.5V соответсвует 0-1.2 MPa
Давление = (1.2/4)*(разница напряжений)

var pressure = (dev['wb-adc/A1']-0.5)*0.3;// MPa
1 лайк

Спасибо. а это где прописать?
var pressure = (dev[‘wb-adc/A1’]-0.5)*0.3;// MPa

В том месте вашего скрипта, где собираетесь использовать или выводить давление.

понятно, спасибо. это вывод в паскалях, а как поправить формулу в атмосферы?

Домножить на коэффициент.
Если справочник не обманывает то 1МПа=9,86923Атм

pressure = (dev["wb-adc/A1"]-0.5)*0.3*9.86923;// Atm

или

pressure = (dev["wb-adc/A1"]-0.5)*2.960769;// Atm

огромное спасибо. будем тестить)))

Добрый день. Подскажите, как создать виртуальное устройство с показателем давления с этого датчика.

Добрый день.
Тут нужно как виртуальное устрйоство так и правило которое будет его менять.
В общем виде будет так:

//05_03_test_01.js
defineVirtualDevice("pressure", {
  title: "pressure",
  cells: {
      "Pressure sensor": {
      type: "value",
      value: 0,
      readonly: true
    },
  }
});

defineRule("pressureChange", {
whenChanged: "wb-adc/A1",
  then: function (newValue, devName, cellName) {
    dev["pressure"]["Pressure sensor"] = (newValue-0.5)*2.960769; //устанавливаем виртуальное устройство, сразу переводя в атмосферы.
  }
});

defineVirtualDevice(“pressure”, {
title: “Давление”,
cells: {
“Pressure sensor”: {
type: “value”,
value: 0,
readonly: true
},
}
});

defineRule(“pressureChange”, {
whenChanged: “wb-adc/Vin”,
then: function (newValue, devName, cellName) {
dev[“pressure”][“Pressure sensor”] = (dev[“wb-adc/A1”]-0.5)*2.960769; //устанавливаем виртуальное устройство, сразу переводя в атмосферы.
}
});

Правильно поправил, а то показывало что то не то. И еще как сделать округление?
image
если пытаюсь по русски назвать, то выходит 0

на русский поменял, там еще ниже надо было поменять. а вот с округлением где дописать?

вернул как было у вас. не могу понять что выводится? и как сделать округление?

Надо исправить имя устройства. У меня было

whenChanged: “wb-adc/Vin”,

для примера.
В вашем случае надо

whenChanged: "wb-adc/A1",

Например: Числа

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

Предполагаю что строку

    dev["pressure"]["Pressure sensor"] = (newValue-0.5)*2.960769; //устанавливаем виртуальное устройство, сразу переводя в атмосферы.

следует записать так:

dev["pressure"]["Pressure sensor"] = Number(((newValue-0.5)*2.960769).toFixed(2))

Ну и все ж советую - прочитайте учебник Основы JavaScript хотя бы бегло, все ж типы и их преобразования - это база, без ее понимания не получится.

Очень сложно понять по описанию, без кода и сообщений…

спасибо огромное, все получилось.

Эта тема была автоматически закрыта через 7 дней после последнего ответа. В ней больше нельзя отвечать.