Dziękuje za naprowadzenie. Elektronikę ogarniam, zrobię PCB, polutuję. Natomiast Arduino dopiero się uczę na potrzeby budowy pulpitu.
Widzę, że masz rozdzielczość 10 bitową. Maszyna obsługuje 8 bitową tylko, tak?
Odnośnie tego:
map jest po to, żeby dopasować wartość z exe (od 0 do 1023) do użytecznego zakresu wskazań na skali manometrów (od 0 do 3xxx zależnie od manometru).
U mnie to wygląda tak:
- użyteczny zakres silnika krokowego to 315 stopni
- 12 kroków na stopień = 315 * 12 = 3780
Jeśli ciśnienie maksymalne w zbiorniku głównym na manometrze to 1,6Mpa, a maksymalne wskazanie w symulatorze kiedy zbiornik jest pełny to 0,8Mpa to skaluję z proporcji:
3780 = 1,6
x = 0,8
x= 1890
Wobec tego:
motor1.setPosition(map(zPC[11], 0, 255, 0, 1890));
motor1.update();
I takie właśnie rozwiązanie u mnie funkcjonuje prawidłowo.
Bo w sumie skąd mam wziąć informację o maksymalnym ciśnieniu dla wartości bitowej 255?
Teraz mam tą informację z obserwacji i dopasowania pracy fizycznej wskazówki silniczka do wskazania manometru na symulatorze.
No bo 255 to raczej nie jest 1,6Mpa w głównym zbiorniku, prawda?