Счетчик расхода воды

Вот посмотри вариант. Правда считает расход на автономке самогонного аппарата и дисплей специфический. Но смысл скетча от зтого не меняется.
https://youtu.be/g19EroMPwL8

1 лайк

Зато не перестает считать при отключенном электричестве :wink:

Это только “железо”. А прошивка окажется в 10-100 раз дороже.
Запомните аксиому: промышленный образец всегда обходится дешевле самодельного.

Я вот тут и сел от расчета!
ТС, родное сердце, ты код сам написать можешь? Если - да, то норм, а если нет, то даже для равенства цен на код остается 1000р. Очень сомнительно найти такого исполнителя. Школьника какого-нить?

Скиф напишет, если простой счетчик, чего не написать

А бармалей?

так про него и речь )))

Бармалей последнее время расценки задирать начала, может не согласиться :slightly_smiling_face:

Поправляю. Обычный водяной счетчик не вариант. Во-первых неудобство установки и расположения для просмотра расхода. Во-вторых не могу представить как его можно обнулить без демонтажа и разборки.
Не знаю имеете ли Вы представление об обратном осмосе. Но допустим ресурс мембраны 12000 л. угольного картриджа 6000 л. и так далее.
Я могу подключить датчик и дисплей к ардуино. Но вот самому сделать так чтобы импульсы датчика превращались в литры мне пока увы не по силам, пока. Изучаю. SubJorj спасибо.
Повторюсь. Простой счетчик учета воды с возможностью обнуления. Если написание такого кода это такой дорогостоящий труд измеряемый 4 нолями, то видать я не туда сунулся.

Однозначно, проще научиться. Для здоровья полезнее.

Homo homini lupus est

Не, эт вы просто ленивый :slight_smile:
Халявщик.

Я разве где-то написал, что прошу кого-то напрячь свои извилины и написать мне бесплатно данный код?
Я озвучил проект, который мне захотелось повторить… Если ни кто этого для себя не делал или не встречал где-то еще кроме данного портала, значит не судьба.
Судя по отдельным постам так и есть. Добротой и человеколюбием не пахнет от слова “совсем”.

https://market.yandex.ru/product--schetchik-vody-gardena-8188-20/1778075126

Есть молния, джинсы, ножницы, нитки и швейная машина. И даже сто роликов на Ютубе. Но идёшь в ателье и платишь деньги. Ровно та же история.
Почему в ателье ты не продвигает идеи человеколюбия? :wink: Странно!

Дак он думает, что не в ателье пришел, а в секонд-хенд. Или на блошиный рынок. А мы на нем алкашня последняя, продающая исходники с картонки на снегу.

Ищите в англоязычном интернете - вероятность выше раз в десять, просто по причине большего объема информации

Вот что у меня пока получилось ( может подобреете :))

/*
YF‐ S201 Water Flow Sensor
Water Flow Sensor output processed to read in litres/hour

*/
volatile int flow_frequency; // с помощью этой переменной мы будем подсчитывать импульсы от датчика расходы воды
// Calculated litres/hour
 float vol = 0.0,l_minute;
unsigned char flowsensor = 2; // Sensor Input
unsigned long currentTime;
unsigned long cloopTime;

#include <Wire.h> 
#include <LiquidCrystal_I2C.h> // Подключение библиотеки
//#include <LiquidCrystal_PCF8574.h> // Подключение альтернативной библиотеки

LiquidCrystal_I2C lcd(0x27,16,2); // Указываем I2C адрес (наиболее распространенное значение), а также параметры экрана (в случае LCD 1602 - 2 строки по 16 символов в каждой 
//LiquidCrystal_PCF8574 lcd(0x27); // Вариант для библиотеки PCF8574 
void flow () // функция обработки прерывания
{
   flow_frequency++;
}
void setup()
{
   pinMode(flowsensor, INPUT);
   digitalWrite(flowsensor, HIGH); // Optional Internal Pull-Up
   Serial.begin(9600);
   lcd.init();                      // Инициализация дисплея 
   lcd.backlight();                 // Подключение подсветки
   attachInterrupt(digitalPinToInterrupt(flowsensor), flow, RISING); // Setup Interrupt
   lcd.clear();
   lcd.setCursor(0,0);
   lcd.print("Water Flow Meter");
   lcd.setCursor(0,1);
   lcd.print("Circuit Digest");
   currentTime = millis();
   cloopTime = currentTime;
}
void loop ()
{
   currentTime = millis();
   // каждую секунду рассчитываем и выводим на экран ЖК дисплея скорость потока воды в литрах в минуту
   if(currentTime >= (cloopTime + 1000))
   {
    cloopTime = currentTime; // Updates cloopTime
    if(flow_frequency != 0){
      // Pulse frequency (Hz) = 7.5Q, Q is flow rate in L/min.
      l_minute = (flow_frequency / 7.5); // (Pulse frequency x 60 min) / 7.5Q = flowrate in L/hour
      lcd.clear();
      lcd.setCursor(0,0);
      lcd.print("Rate: ");
      lcd.print(l_minute);
      lcd.print(" L/M");
      l_minute = l_minute/60;
      lcd.setCursor(0,1);
      vol = vol +l_minute;
      lcd.print("Vol:");
      lcd.print(vol);
      lcd.print(" L");
      flow_frequency = 0; // сбрасываем счетчик
      Serial.print(l_minute, DEC); // Print litres/hour
      Serial.println(" L/Sec");
    }
    else {
      Serial.println(" flow rate = 0 ");
      lcd.clear();
      lcd.setCursor(0,0);
      lcd.print("Rate: ");
      lcd.print( flow_frequency );
      lcd.print(" L/M");
      lcd.setCursor(0,1);
      lcd.print("Vol:");
      lcd.print(vol);
      lcd.print(" L");
    }
   }
}

Дую в датчик скорость потока, литраж отображается. Теперь нужно прописать кнопку обнуления показаний.
Ну и потом проверять правдивость показаний.

Сначала нужно подумать, что произойдет, если схема обесточится. Верно, данные обнулятся. Значит их нужно сохранять. Для начала

https://forum.arduino.ru/t/podklyuchenie-knopki-i-schityvanie-nazhatiya-knopki/
Библиотека EEPROM | Аппаратная платформа Arduino