Sterowanie serwem przy użyciu przycisku/przełącznika

Moderatorzy: moderatorzy2014, moderatorzy

ZabkaZabol
Posty: 7
Rejestracja: poniedziałek 11 sty 2021, 13:15
Lokalizacja: Gdańsk

Sterowanie serwem przy użyciu przycisku/przełącznika

Post autor: ZabkaZabol »

Witam. Uprzedzając, użyłem opcji szukaj i nie znalazłem.
Czy da się a jak tak to gdzie szukać, sterowac serwem za pomocą przycisków lub przełącznika 3 pozycyjnego.
W Arduino da się to zrobić, pytanie jak w betaflight lub open tx (funkcje logiczne ?)

Zasada sterowania:
1. Prycisk A przytrzymuje i z zadaną prędkością serwo wychyla się w jedną stronę, przycisk B przytrzymany steruje w drogą stronę. Po puszczeniu przycisków serwo się zatrzymuje.
2. Przycisc 3 pozycyjny, pozycja A leci serwo up, poz 0 zatrzymuje się, pozycja B leci dół.

Da się to zrobić czy trzeba szukać nadajnika z potencjometrem ?

Serwo ma być w quadzie do ustawiania na bieżąco kąta kamery w zależności od prędkości (kąt nachylenia drona)

Ewentualnie zamiast serwa dać silnik.
rtlopez
Posty: 25
Rejestracja: poniedziałek 11 gru 2017, 21:01
Lokalizacja: Warszawa

Re: Sterowanie serwem przy użyciu przycisku/przełącznika

Post autor: rtlopez »

albo servo360, ale z doswiadczenia wiem, ze w nich zero lubi pływać.
Pozdro,
Lopez
Awatar użytkownika
pawelsky
Posty: 9750
Rejestracja: środa 19 mar 2014, 02:03
Lokalizacja: Polska
Kontakt:

Re: Sterowanie serwem przy użyciu przycisku/przełącznika

Post autor: pawelsky »

ZabkaZabol pisze:Czy da się a jak tak to gdzie szukać, sterowac serwem za pomocą przycisków lub przełącznika 3 pozycyjnego.
Da sie, uzywajac LUA mix skryptu w OTX lub funkcji specjalnej Adjust GV.
ZabkaZabol
Posty: 7
Rejestracja: poniedziałek 11 sty 2021, 13:15
Lokalizacja: Gdańsk

Re: Sterowanie serwem przy użyciu przycisku/przełącznika

Post autor: ZabkaZabol »

Jakas podpowiedź co do funkcji globalnych ? chętnie sie tego nauczę ale nie mam pomysłu nawet gdzie szukać i od czego zacząć
Awatar użytkownika
pawelsky
Posty: 9750
Rejestracja: środa 19 mar 2014, 02:03
Lokalizacja: Polska
Kontakt:

Re: Sterowanie serwem przy użyciu przycisku/przełącznika

Post autor: pawelsky »

mixes.png
mixes.png (912 Bajtów) Przejrzano 3774 razy
logical_switches.png
logical_switches.png (1009 Bajtów) Przejrzano 3774 razy
special_functions.png
special_functions.png (949 Bajtów) Przejrzano 3774 razy
ZabkaZabol
Posty: 7
Rejestracja: poniedziałek 11 sty 2021, 13:15
Lokalizacja: Gdańsk

Re: Sterowanie serwem przy użyciu przycisku/przełącznika

Post autor: ZabkaZabol »

Ustawiam tak jak pokazujesz (tylko używając Open Tx Companion) i nie idzie :/ . Chyba ze coś źle robię.
Dla jasności chodzi mi o takie sterowanie jak w tym filmie:
https://www.youtube.com/watch?v=xpwb_39jl5c
Awatar użytkownika
pawelsky
Posty: 9750
Rejestracja: środa 19 mar 2014, 02:03
Lokalizacja: Polska
Kontakt:

Re: Sterowanie serwem przy użyciu przycisku/przełącznika

Post autor: pawelsky »

ZabkaZabol pisze:Chyba ze coś źle robię.
Na to wyglada
ZabkaZabol
Posty: 7
Rejestracja: poniedziałek 11 sty 2021, 13:15
Lokalizacja: Gdańsk

Re: Sterowanie serwem przy użyciu przycisku/przełącznika

Post autor: ZabkaZabol »

Nie wiem jak w mierze na kanale ustawić GLV max . Czy dobrze rozumiem że to ma być wartość zmiennej globalnej nr 1 z zakresem maxymalnym ?
Awatar użytkownika
pawelsky
Posty: 9750
Rejestracja: środa 19 mar 2014, 02:03
Lokalizacja: Polska
Kontakt:

Re: Sterowanie serwem przy użyciu przycisku/przełącznika

Post autor: pawelsky »

ZabkaZabol pisze:Nie wiem jak w mierze na kanale ustawić GLV max . Czy dobrze rozumiem że to ma być wartość zmiennej globalnej nr 1 z zakresem maxymalnym ?
Source: MAX
Weight: GV1
ZabkaZabol
Posty: 7
Rejestracja: poniedziałek 11 sty 2021, 13:15
Lokalizacja: Gdańsk

Re: Sterowanie serwem przy użyciu przycisku/przełącznika

Post autor: ZabkaZabol »

Dziękuję bardzo, działa. Teraz ćzy ja to dobrze rozumiem, bo będę chciał dalej to sobie modyfikować.

1. W Fazie lotu definiuję zmienną Globalną (dlaczego wartość 1 a nie % ? czy to nie ma znaczenia?)
1.jpg
1.jpg (218.36 KiB) Przejrzano 3555 razy
Dzięki temu pojawia się zmienna która dalej w opcjach mogę modyfikować

2. W mixerze ustawiam wyjście w taki sposób że zawsze na wyjściu ustawia się wartość maksymalna, a ograniczam jej zakres poprzez zmienną globalną, czyli wartość zmiennej globalnej w danej chwili jest maksymalnym zakresem wyjścia kanału. (domyślnie na starcie ustawiony w połowie czyli 0)
2.jpg
2.jpg (214.67 KiB) Przejrzano 3555 razy
3. Funkcja logiczna L03 zapala się (true) jak wartość na kanale 10 jest mniejsza niż 100 i jak włącznik SA jest UP. Jak włącznik nie będzie w gorze to LO3 sie nie zapali i jak wartość na kanale 10 będzie 100 też sie nie zapali. L04 na odwrót
Timer - jak wartość logiczna L03 jest true to timer włącza po 0,1 sek, na czas 0,1 sek (przestawi) L01 na TRUE, po tym czasie go zgasi na FALSE
3.jpg
3.jpg (162 KiB) Przejrzano 3555 razy
4 Jak się L01 zapali na TRUE to uruchamia funkcję Adjust GV1 (dodaj do zmiennej globalnej), która dodaje wartość 5 poprzez zwiększenie do zmiennej globalnej. Lib dla L02 dodaje wartość -5,
4.jpg
4.jpg (145.17 KiB) Przejrzano 3555 razy
Tym samym zmienia wagę (czyli wartość zakresu maksymalnego ) wyjścia dla kanału ch10

Pytanko, czy nie da się zrobić mniejszego czasu zmian ? (u mnie się nie udało) Albo jakoś to wygładzić żeby wartość rosła lub malała płynnie ?
chyba że te skoki w tym kanale samo serwo wygładzi ?
Timer to czas a wartości w funkcji Adjust to jak by rozdzielczość.

Dzięki jeszcze raz
Załączniki
4.jpg
4.jpg (145.17 KiB) Przejrzano 3555 razy
Awatar użytkownika
pawelsky
Posty: 9750
Rejestracja: środa 19 mar 2014, 02:03
Lokalizacja: Polska
Kontakt:

Re: Sterowanie serwem przy użyciu przycisku/przełącznika

Post autor: pawelsky »

ZabkaZabol pisze:Pytanko, czy nie da się zrobić mniejszego czasu zmian ?
Nie
ZabkaZabol pisze:Albo jakoś to wygładzić żeby wartość rosła lub malała płynnie ?
LUA mix script da Ci wieksz swobode
ODPOWIEDZ