Это я уже понял… Ну пускай не мгновенный, а чтобы вычисление расхода происходило по каждому прерыванию. Меня бы так устроило.
В большинстве машин штатный “расходомер” обновляет показания примерно раз в секунду…
С какого бодуна? Может кто-то прогулял школу и не осилил как перевести интервал в частоту?
А почитать внимательнее ?
Считает открытие/закрытие форсунок, а не поток в магистрали ! Тем более что есть авто с обраткой !!!
Карбюраторные ни разу с обраткой не видел.
А инжекторы наоборот, ни разу без обратки не видел.
Хотя… Моё вИденье ограничивается ВаЗами и Таёта/Ниссанами.
У них сейчас обратка в бензонасосе организована, чтобы в линии было постоянное давление (как я понимаю).
Как организован расчет расхода топлива на современных двигателях я знаю, и данный метод ни разу не обязан соответствовать реальному расходу, особенно на пожилых моторах! Я за реальный расход!
не надо лозунгов, переходите к коду. Или вы еще не поняли, что писать за вас на этом форуме никто не будет?
А что там сложного то ? Заводим сигнал на счетный вход одного из таймеров и считываем что он там насчитал за заданный период, вычисляем расход. Если есть два свободных таймера, то одним считаем импульсы от датчика, а другим, настроенным на заданный интервал, защелкиваем данные в первом таймере.
Типа как с millis(), но тут не миллисекунды, а пятерки миллилитров…
при таких частотах все это лишнее, можно прям в прерывании вызывать миллис и считать время от предыдущего импульса
К сожалению, я даже и не знаю с какой стороны к этому коду подойти В моем случае все действительно печально… Поэтому, поинтересуюсь… кто возьмется и сколько это будет стоить?..
тогда просите кого-нибудь из аксакалов перенести тему в раздел “Ищу исполнителя” - там и обсудите цену и прочее
Как вариант вычислять всё на основе длительности между импульсами с датчика …
200 импульсов на 1 литр ~ на 10 км …
так себе будут показания …
Нормальные будут показания! Датчик с точностью в 1 процент и шагом в 5 мл. посчитает точнее любого расчетного показометра в современных авто!
расстояние можно и по GPS засечь… ну или одометром…
Извиняюсь, ошибочка… Видимо, верный вариант будет не 2,222, а 3,333…
А такой вариант имеет право на жизнь? Пока без GPS…
</>
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 9);
int X;
int Y;
float Time = 0;
float frequency = 0;
float waterFlow = 0;
float total = 0;
float LS = 0;
const int input = A0;
const int test = 9;
void setup()
{
Serial.begin(9600);
lcd.begin(16, 2);
lcd.clear();
lcd.setCursor(0,0);
lcd.print(“Fuel Flow Meter”);
lcd.setCursor(0,1);
lcd.print(“FORD SIERRA”);
delay(2000);
pinMode(input,INPUT);
pinMode(test, OUTPUT);
analogWrite(test,100);
}
void loop()
{
X = pulseIn(input, HIGH);
Y = pulseIn(input, LOW);
Time = X + Y;
frequency = 1000000/Time;
waterFlow = frequency/3.333;
LS = waterFlow/60;
if(frequency >= 0)
{
if(isinf(frequency))
{
lcd.clear();
lcd.setCursor(0,0);
lcd.print(“L/Min: 0.00”);
lcd.setCursor(0,1);
lcd.print(“Total: “);
lcd.print(total);
lcd.print(” L”);
}
else
{
total = total + LS;
Serial.println(frequency);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("L/Min: ");
lcd.print(waterFlow);
lcd.setCursor(0,1);
lcd.print(“Total: “);
lcd.print(total);
lcd.print(” L”);
}
}
delay(1000);
}
Ну так зато:
Вам, собственно, что нужно, точность или чтобы не реже раза в секунду?