• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Ramię robota sterowane bezprzewodowo padem PS3
#4
Witam
No fakt... zamieszczony filmik nie dawał mi spokoju...
Nie znam bliżej budowy takiego pada ale podejrzewam, że jego manipulatory są mocno jeśli nie całkiem podobne do zwykłych joysticków, które można nabyć już za poniżej 10 zł.
Więc mamy do czynienia z proporcjonalna regulacją napięcia  jego odczytem na wejściu Analogowym.
Jak to ograć? Widzę, że serwo poprzez swoją bezwładność de facto nie nadąża za manipulatorem... i ten fakt mozna chyba wykorzystać. 
Trzeba doświadczalnie wypróbować taki schemat:
Najpierw należy oblukać jakie wartości zwraca manipulator w funkcji np.
PS3.getAnalogHat(RightHatX) ... gdy jest w pozycji spoczynkowej. 
Np. dla X to wartości pomiędzy 0-10 a dla Y 0-15 (teoretycznie, bo trzeba to zmierzyć i dodać jakąś tolerancję )
Czyli ustalamy sobie jakieś Xmax i Ymax... dla położeń spoczynkowych.
Potem modyfikujemy fragment kodu:
Kod:
Xmax=10; Ymax=15;
if(PS3.PS3Connected || PS3.PS3NavigationConnected) {
   int x= PS3.getAnalogHat(RightHatX);
   int y= PS3.getAnalogHat(LeftHatY);
   if(x>=Xmax) servo1.write(map(x, 0, 255, 0, 255));
   if(y>=Ymax) servo2.write(map(y, 0, 255, 180, 0 ));
 }

... teoretycznie powinno działać... jeśli wystarczająco szybko będziesz puszczał manetkę manipulatora.... to serwo nie będzie miało szansy podążać za nią :-) W razie czego zawsze można całość opóźnić dając tam np delay(10); :-)
To tak na szybko moje durne, teoretyczne przemyślenia :-)
Pozdrawiam
 
Odpowiedź
  


Wiadomości w tym wątku
RE: Ramię robota sterowane bezprzewodowo padem PS3 - przez wojtekizk - 16-02-2016, 12:19

Skocz do:


Przeglądający: 1 gości