22-04-2018, 16:47
(Ten post był ostatnio modyfikowany: 22-04-2018, 16:48 przez Robson Kerman.)
Sterowanie PWM w modelarstwie RC wygląda tak, że położenie serwa na MIN jest równoznaczne z szerokością impulsu 1ms, neutral 1.5ms MAX 2ms.
Idąc tym tropem, naszym zadaniem jest zmierzenie czasu tego impulsu.
Tym pomiarem zajmuje się funkcja pulseIn(PIN,VALUE);
Taka funkcja występuje w powyższym programie, w miejscu podanym przeze mnie.
Wygląda na to, że pobieranych jest pięć kanałów.
Na przykład, masz
CC1 mapowane jest na CC1Val
Potem mamy pętle, kolejne mapowania na Value i ostatecznie wysyłamy sygnał do sterowania serwami.
Choć bym nie wiem, jak się przyglądał, to nie wypatrzę tu szóstego kanału.
Idąc tym tropem, naszym zadaniem jest zmierzenie czasu tego impulsu.
Tym pomiarem zajmuje się funkcja pulseIn(PIN,VALUE);
Taka funkcja występuje w powyższym programie, w miejscu podanym przeze mnie.
Wygląda na to, że pobieranych jest pięć kanałów.
Na przykład, masz
Kod:
int CC1 = pulseIn(A3,INPUT);
CC1 mapowane jest na CC1Val
Kod:
int CC1Val = map(CC1,17120,16180,0,100);
Potem mamy pętle, kolejne mapowania na Value i ostatecznie wysyłamy sygnał do sterowania serwami.
Choć bym nie wiem, jak się przyglądał, to nie wypatrzę tu szóstego kanału.
Jeśli masz problem z kodem lub sprzętem, zadaj pytanie na forum. Nie odpowiadam na PW, jeśli nie dotyczą one spraw forum lub innych tematów prywatnych.