[PROJEKT] Obsługa enkodera – KAmduino UNO, enkoder oraz WS2812
W projekcie wykorzystamy enkoder do sterowania diodami adresowanymi WS2812. Enkodery są wykorzystywane do różnych celów – dzięki nim można na przykład, z pomocą odpowiedniego pokrętła, „poruszać się” po menu drukarki 3D czy zmieniać nastawy w oscyloskopie.
Aby zrealizować projekt, będziemy potrzebować następujących elementów:
- KAmduino UNO
- Moduł czujnika obrotu
- Diody WS2812 np NeoPixel Ring 16 x WS2812 (70mm)
- Płytka stykowa
- Przewody do płytek stykowych (męsko-męskie oraz męsko- żeńskie)
Rysunek 1. Moduł z enkoderem użyty w projekcie
Przed przystąpieniem do pracy z enkoderem musimy dowiedzieć, jaka jest jego zasada działania oraz jakie posiada wyprowadzenia. Moduł, który został użyty w projekcie, ma 5 wyprowadzeń. Do pinu VCC podłączamy zasilanie 5 V, natomiast masę GND łączymy z masą GND na naszym KAmduino UNO. Wyjście przycisku SW nie wymaga komentarza, natomiast podczas obrotu gałki na wyjściach SIA i SIB występuje sygnał prostokątny (jak na rysunku 1).
Rysunek 2. Sygnały pochodzące z enkodera, wyjścia SIA oraz SIB
Kierunek obrotu możemy określić poprzez sprawdzenie, na którym wyjściu SIx najpierw pojawił się stan niski. Przykładowo, jeżeli będziemy obracać naszym enkoderem zgodnie z wskazówkami zegara, najpierw zostanie wykryty stan niski na kanale A, a później na B. Natomiast obracając przeciwnie do wskazówek zegara, najpierw stan niski pojawi się na kanale B, a dopiero później na A. Pełen obrót enkodera powoduje wygenerowanie 20 impulsów (wartość ta zależy od modelu użytego enkodera).
Aby przetestować działanie naszego enkodera, musimy stworzyć układ jak na schemacie pokazanym na rysunku 3.
Rysunek 3. Schemat podłączenia poszczególnych elementów do KAmdruino UNO
Pin KAmduino UNO | Pin modułu enkodera |
+5V | VCC |
GND | GND |
4 | SW |
2 | SIA |
3 | SIB |
Pin KAmduino UNO | Pin diod WS2812 |
+5V | VCC |
GND | GND |
6 | DI |
Zmontowany układ prezentuje się następująco:
Rysunek 4. Zmontowany układ według schematu z rys. 3