(22-02-2020, 09:52)elvis napisał(a): O ile dobrze rozumiem oznacza to, że 375 obr/min = 90 ml/min, czyli 375/90 obr/ml, co przy 800 krokach na obrót daje 300000/90 k/ml (jako k oznaczam 1/4 kroki)
Celowo nie skracam 300000/90 do 3333.333333, bo wtedy byłyby błędy zaokrąleń, mamy więc 300000/90 prawie jak w szkole ;-)
Od razu widać że wychodzą duże liczby, więc można zamiast ml używać mikrolitrów (ul), dokładność będzie większa, a liczby mniejsze, mamy więc 300/90 k/ul. Teraz można pozbyć się zer i jest piękne:
30/9 k/ul
Same kroki wykonujesz niepodzielnie, więc możesz mieć zmienną z liczbą wykonanych kroków. Przeliczenie kroków na dawkę:
ul = kroki * 9 / 30;
A dawki na kroki:
k = ul * 30 / 9;
Prezentując wyniki możesz oczywiście używać liczb zmiennopozycyjnych, więc wystarczy np.
ml = ul / 1000.0f;
I takie wyniki możesz wyświetlać (o ile dokładność do mikrolitrów wystarczy).
Podobnie jest z wydatkiem - działasz używając kroków na sekundę/minutę/godzinę, a na ml/min lub ul/min tylko przeliczasz.
to co napisałeś wszystko rozumiem
30 tyś kroków da mi 90 ml
nie rozumiem tylko jak wynik będzie się zwiększał w stosunku do czasu
ul = kroki * 9 / 30;
skąd wziąć liczbę wykonanych kroków...?
steruje silnikiem funkcją
tone(pin, częstotliwość)
i tu jest wartość kroków na sekundę
dodatkowo mam płynną zmianę prędkości do zadanej