Zaloguje się
or
Tel +48 698 615 740

Bezprzewodowy kontrolem z odbiornikem

22 października, 2021

W artykule zostanie omówiony pad bezprzewodowy, którego podłączymy do arduino, a następnie wykorzystamy bibliotekę PS2X za pomocą której nauczymy się jak odczytywać przyciski wysyłane z naszego pada, co później pozwoli nam na sterowanie np. silnikami.

Spis treści

  • Opis pada
  • Prawidłowe podłączenie do arduino
  • Wykorzystanie przykładu z biblioteki
  • Przesłanie kodu, oraz możliwe problemy i ich rozwiązanie
  • Udane połączenie
  • Pliki do pobrania

Opis pada

Bezprzewodowy kontroler z odbiornikiem, który można podłączyć do Arduino i wykorzystać np. do sterowania robotem. Rozkład przycisków jest zgodny z PS2. Urządzenie zasilane jest z dwóch baterii AAA, może pracować w trybie analogowym i cyfrowym. Jednocześnie w pobliżu może pracować do 20 kontrolerów z odbiornikami bez wzajemnego zakłócania się. Maksymalny zasięg wynosi 8 m.

Prawidłowe podłączenie do arduino

Podłączenie pada może wydawać się trudne na początek i skomplikowane, ale wcale takie nie jest, wystarczy odpowiednia biblioteka, oraz połączenie pinów które jest tutaj najważniejsze, na dole znajdziecie tabelę która umożliwi nam prawidłowe wpięcie pinów do arduino, oraz pada.

Nazwy przydadzą nam się kiedy będziemy ustawiać który pin za co odpowiada w naszym programie. Musimy również pamiętać, że piny pada(odbiornika) liczymy od lewej strony, z płaską stroną zwróconą do góry, inaczej połączenie nam nie zadziała. Skoro poradziliśmy sobie z połączeniem, to możemy przejść do sprawdzenia, czy naszego pada uda się połączyć z arduino. Wykorzystamy do tego wcześniej wspomnianą bibliotekę, możecie ją pobrać klikając tutaj, jak ją zaimplementować, znajdziecie w osobnym poradniku na naszym blogu.

Wykorzystanie przykładu do sprawdzenia działania pada

Gdy poprawnie zainstalowaliśmy naszą bibliotekę powinniśmy mieć możliwość wykorzystania gotowego przykładu biblioteki, tak jak na poniższym screenie.

Wybieramy PS2X_Example i powinniśmy się zainteresować tymi linijkami

#define PS2_DAT        13  //14    
#define PS2_CMD        11  //15
#define PS2_SEL        10  //16
#define PS2_CLK        12  //17

Kiedy spojrzymy na naszą tabelę z połączeniem pinów która była na początku, to zobaczymy, że niektóre piny nie zgadzają się z tymi tutaj, dlatego zmieniamy je na poprawne i powinny wyglądać w ten sposób.

#define PS2_DAT        12  //14    
#define PS2_CMD        11  //15
#define PS2_SEL        10  //16
#define PS2_CLK        13  //17

Teraz powinno być wszystko w porządku, włączamy jeszcze opcję która pozwoli nam czytać wartość z przycisków.

#define pressures   true

Przesłanie kodu, oraz możliwe problemy i ich rozwiązanie

Możemy przejść do przesłania kodu na arduino, zielona lampka na odbiorniku powinna mrugać, a po włączeniu pada powinno nawiązać się połączenie.

Rozwiązywanie problemu z połączeniem pada

Niestety nie raz możemy napotkać się z problemem gdzie zielona lampka nie mruga lub świeci się cały czas na zielono, a pad nie jest podłączony. Mamy kilka opcji, sprawdzić czy wszystkie piny są prawidłowo połączone, jeśli tak przechodzimy do kolejnego kroku, musimy włączyć funkcję debugowania w naszej bibliotece, aby to zrobić przechodzimy do miejsca gdzie zapisywane są rzeczy z naszego arduino w większości wypadków będzie to

C:\Users\Twoja_nazwa_użytkownika\Dokumenty\Arduino\libraries

lub jeżeli korzystasz z OneDrive

C:\Users\Twoja_nazwa_użytkownika\OneDrive\Dokumenty\Arduino\libraries

Gdy nam się udało, szukamy naszej biblioteki i edytujemy plik PS2X_lib.h, szukamy w nim

//#define PS2X_DEBUG
//#define PS2X_COM_DEBUG

Usuwamy oba „//” przed #define, zapisujemy i wgrywamy do naszego arduino, w porcie szeregowym powinny wyświetlać się różne informacje, to znaczy, że wszystko idzie po naszej myśli, następnie patrzymy czy nasza dioda mruga na zielono (zalecam wyłączenie pada), jeżeli tak, możemy włączyć pada i sprawdzić czy połączenie się udało, jeżeli tak na naszym padzie diody powinny świecić stale. Jeżeli dioda dalej się świeci na zielono, a pad nie jest podłączony, to odłączamy i podłączamy arduino od zasilania. Gdy nam się uda osiągnąć zamierzony efekt, możemy wyłączyć pada, oraz przejść do pliku i znowu zakometować te dwie linijki, prawdopodobnie sytuacja znowu może się powtórzyć. Jeżeli na bieżąco przesyłacie kod, zalecam tryb debugowania zostawić włączony, oraz jak przesyłacie kod na arduino, to wyłączajcie pada. Wtedy problemy wymienione wyżej powinny występować rzadziej.

Udane połączenie

Gdy pad już jest podłączony możemy przejść do monitora portów szeregowych i wciskać przyciski, gdy chcemy zobaczyć działanie joysticków wciskamy R1 albo L1 i ruszamy nimi, wartości wtedy powinny się zmieniać.

To będzie na tyle, w późniejszych artykułach będziemy się uczyć jak sterować silnikami za pomocą naszego pada, potraktujcie to jako wprowadzenie do bardziej ciekawych mechanizmów.

Pliki do pobrania

Sticky
Możliwość komentowania Bezprzewodowy kontrolem z odbiornikem została wyłączona
Adrian Wojtala

Adrian Wojtala

Ma 21 lat. Studiuje informatykę na Uniwersytecie DSW, ukończył technikum o profilu technik-informatyk. Interesuje się programowaniem i w przyszłości ma plan zostać back-end developerem. Swoją przygodę z Arduino rozpoczął podczas praktyk od września 2021 r.

Comments are closed.

Strona korzysta z plików cookies w celu realizacji usługi i zgodnie z Polityką Plików Cookies. Możesz określić warunki przechowywania lub dostępu do plików cookies w Twojej przeglądarce.