Датчик давления воды

StoneTL
Offline
Зарегистрирован: 22.08.2018

Имеется такой датчик: 

3,3-5 в цифровой атмосферный датчик давления модуль регулятор уровня жидкости воды плата 0-40 кПа для Arduino 3,3 в-5 в

https://ru.aliexpress.com/item/32881974588.html?spm=a2g0o.detail.1000014.1.7c1a6ef2TYL188&gps-id=pcDetailBottomMoreOtherSeller&scm=1007.13338.133222.0&scm_id=1007.13338.133222.0&scm-url=1007.13338.133222.0&pvid=e3ef9776-139f-41c5-a325-0008369a060f

 

Не могу найти ни библиотек, ни информации. Подскажите как добиться от него хоть чего то? Нужно чтобы измерял давление воды.

StoneTL
Offline
Зарегистрирован: 22.08.2018

#include "Arduino.h"
#define DOUT 2
#define PD_SCK 3
#define factor 0.00959 //40Kg china

unsigned long value;
long weight;

long get_weight() {
  digitalWrite(PD_SCK, LOW);
  delayMicroseconds(1);

  // wait for the chip to become ready:

  while (digitalRead(DOUT) == HIGH);
  value = 0;
  for (int i = 23; i > -1; i--) { //bitWrite23 =bit24
    digitalWrite(PD_SCK, HIGH);
    delayMicroseconds(1);
    digitalWrite(PD_SCK, LOW);
    if (digitalRead(DOUT) == HIGH) {
      bitSet(value, i);
    }
  }

  // para que siga leyendo muestras a 10Hz:
  digitalWrite(PD_SCK, HIGH);
  delayMicroseconds(1);
  digitalWrite(PD_SCK, LOW);
  delayMicroseconds(1);
  return value; // todos 1 = 1677215
}

void setup() {

  Serial.begin(9600);
  pinMode(DOUT, INPUT);
  pinMode(PD_SCK, OUTPUT);
}


void loop() {
  weight = get_weight();
  float redondeado;
  redondeado = round(weight * factor);
  Serial.println(redondeado, 0);
}

 

xDriver
xDriver аватар
Offline
Зарегистрирован: 14.08.2015
#include "Arduino.h"
#define DOUT 2
#define PD_SCK 3

long get_weight()
{
  digitalWrite(PD_SCK, LOW);
  delayMicroseconds(1);
  while (digitalRead(DOUT) == HIGH);
  unsigned long value=0;
  for (int i = 23; i > -1; i--) {
    digitalWrite(PD_SCK, HIGH);
    delayMicroseconds(1);
    digitalWrite(PD_SCK, LOW);
    if (digitalRead(DOUT) == HIGH) {
      bitSet(value, i);
    }
  }

  digitalWrite(PD_SCK, HIGH);
  delayMicroseconds(1);
  digitalWrite(PD_SCK, LOW);
  delayMicroseconds(1);
  return value;
}

 

xDriver
xDriver аватар
Offline
Зарегистрирован: 14.08.2015

ну вот, уже и сам нашел.

Technolog
Offline
Зарегистрирован: 19.11.2014
StoneTL
Offline
Зарегистрирован: 22.08.2018

Нашел, только показания скачут, как это округлить и перевести в Паскали например или бары?

StoneTL
Offline
Зарегистрирован: 22.08.2018
Из ком порта
 
42818
42817
42815
42816
42817
42815
42815
42816
 
 
Как понять что это? Что за 42 тысячи? Во что и как это переводить?
____________________________
В коде в начале стоял колибровачный фактор, #define factor 0.00959 //40Kg china, но слово china насторожило, это для китая получается.

В общем как довести эти значения до ума?

Gas311
Gas311 аватар
Offline
Зарегистрирован: 06.12.2018

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

Высшей математики там не надо. 

b707
Offline
Зарегистрирован: 26.05.2017

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

поэтому у вас и написано в комментариях, что калибровочный фактор для весов на 40 Кг :)

Чтобы этот сенсор показывал давление - его надо сначала откалибровать по известным значениям.

b707
Offline
Зарегистрирован: 26.05.2017

StoneTL пишет:

В коде в начале стоял колибровачный фактор, #define factor 0.00959 //40Kg china, но слово china насторожило, это для китая получается.

"для китая"? а в китае килограммы другие????? :)))

Gas311
Gas311 аватар
Offline
Зарегистрирован: 06.12.2018

Конечно другие.

Я купил аккумулятор 18650, написана ёмкость 9600 мА/ч, (ого, думаю, японцы больше 3800 такого размера не делают), мерю, в натуре 980 мА/ч. 

Есть колонка с усилителем, питается от аккумулятора 3,7 вольт, потребляемый ток 300 мА, на ней написано - выходная мощность 15 вт (динамик стоит на 3 вт). 

У них и в километре 1024 метра. 

Значит и килограммы другие. 

Evolad
Offline
Зарегистрирован: 16.01.2019

Тоже воюю с таким датчиком. Только у меня чип TM7711. Только с ним ещё грустнее. И показания тоже скачут. Надо как-то переписывать под давление.

ELITE
ELITE аватар
Offline
Зарегистрирован: 11.01.2018

+1, тоже купил , попался на чип TM7711
хотел сделать датчик уровня воды в баке ... но показания скачут просто дико скачут

выходит при баке 150 см высотой на 750л ( 5л / см) точность едва ли +- 50л показывает

ELITE
ELITE аватар
Offline
Зарегистрирован: 11.01.2018

в общем в этом датчике выявился неустранимый косяк - он не фиксирует разницу в давлении , а только изменение давления!
Тоесть по сути с момента включения = это точка отсчета измерения!!
а городить 100% систему резервирования питания с защитами от отключения, контролем акб и прочего.... какбы тупо для бытовой системы показометра.... да и 100% надежность не обеспечится в любом случае :(
=========

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

//ибо иначе останется вариант ставить 2 датчика и считать по их разности показаний