Skocz do zawartości

ButtonBox BLE - projekt DIY do gier, symulatorów i automatyzacji


Pomocna odpowiedź

Napisano

Gotowe kontrolery USB potrafią kosztować kilkaset złotych, a mimo to często nie oferują dokładnie takiego układu przycisków, jakiego potrzebujemy. Na szczęście urządzenie takie można zbudować w ciągu jednego popołudnia. W tym przypadku wykorzystamy moduły M5Stack, aby stworzyć własny ButtonBox komunikujący się przez Bluetooth Low Energy, który sprawdzi się zarówno jako kontroler do gier i symulatorów, jak i panel sterujący własnymi aplikacjami. Projekt powstał we współpracy z firmą Botland.

IMG_1720.thumb.JPG.3466332e14072def189b6020a82cd763.JPG

Projekt opisany w tym artykule powstał z myślą o prostocie wykonania. Nie wymaga projektowania własnej elektroniki ani lutowania – wykorzystujemy gotowe moduły M5Stack, drukowaną obudowę oraz kilka śrub. Całość można później łatwo rozbudować o kolejne elementy, zachowując tę samą architekturę oprogramowania.

Jak zbudowany jest ButtonBox?

Sercem całego urządzenia jest niewielki moduł M5Stack Atom Lite, który odpowiada za komunikację Bluetooth Low Energy oraz obsługę pozostałych elementów zestawu. Do niego, za pomocą przewodów Grove dołączonych przez producenta, podłączone zostały dwa moduły rozszerzeń.

Pierwszym z nich jest M5Stack ByteButton Unit, wyposażony w osiem podświetlanych przycisków chwilowych. Drugi moduł, M5Stack ByteSwitch Unit, oferuje osiem przełączników dwupozycyjnych. Takie połączenie pozwala jednocześnie korzystać z przycisków do wykonywania krótkich akcji oraz przełączników do funkcji, które powinny zachowywać swój stan, na przykład włączania trybów pracy lub sterowania dodatkowymi funkcjami w symulatorach.

IMG_1537.thumb.JPG.e4e5a20fb9c00e533bf9fe30324d21dc.JPG

Wszystkie elementy zamknięto w obudowie wydrukowanej z filamentu PETG. Moduły są mocowane mechanicznie za pomocą ośmiu śrub M4×12, dzięki czemu cała konstrukcja jest sztywna i odporna na wielokrotne użytkowanie. Wewnątrz obudowy znajdują się jedynie krótkie przewody Grove, dlatego montaż nie wymaga lutowania ani wykonywania własnej płytki drukowanej.

Takie podejście doskonale wpisuje się w ideę modułowego projektowania. W razie potrzeby uszkodzony element można wymienić w ciągu kilku minut, a sam projekt łatwo rozbudować o kolejne moduły M5Stack.

Drukowana obudowa

Całość została zaprojektowana tak, aby wszystkie elementy można było zamontować w prostej obudowie wydrukowanej z PETG.

PETG dobrze sprawdza się w tego typu konstrukcjach:

  • jest bardziej odporny termicznie od PLA
  • nie odkształca się podczas normalnego użytkowania
  • dobrze znosi wielokrotne skręcanie śrubami

Montaż sprowadza się do umieszczenia modułów w przygotowanych otworach i skręcenia obudowy ośmioma śrubami M4×12. Atom Lite jest montowany na wcisk z tyłu obudowy i jest połączony z pozostałymi modułami przewodami Grove.

IMG_1721.thumb.JPG.94eec50eb97842a9f2d1a374ee4f9fb8.JPG

Nie są potrzebne żadne dodatkowe dystanse ani elementy montażowe. Pliki obudowy dostępne są poniżej: Model.zip

Montaż elektroniki

Jedną z największych zalet projektu jest brak lutowania.

Połączenie wygląda bardzo prosto:

  • ByteButton → Grove → Atom Lite
  • ByteSwitch → Grove → ByteButton
  • USB-C → Atom Lite

Po podłączeniu przewodu USB urządzenie jest gotowe do wgrania programu.

Całość wykorzystuje magistralę I²C, dlatego liczba przewodów została ograniczona do minimum, a montaż zajmuje zaledwie kilka minut.

Co potrafi ButtonBox?

Po uruchomieniu urządzenie zgłasza się przez Bluetooth jako: OST-BBX

Firmware udostępnia dwie podstawowe funkcje:

Pierwszą z nich jest odczyt wszystkich przycisków i przełączników - każdy stan przesyłany jest jako prosty ciąg znaków: np. 00000000 lub 10100110, gdzie każda pozycja odpowiada jednemu wejściu. Nie jest wymagane interpretowanie ramek binarnych ani skomplikowanych struktur danych, dzięki czemu praktycznie dowolny program potrafiący komunikować się przez BLE może odczytać aktualny stan urządzenia.

Oprogramowanie umożliwia również sterowanie podświetleniem RGB obu modułów. Kolory ustawia się prostymi komendami tekstowymi wysyłanymi przez usługę UART BLE, np.

Button:SetRGB:0:255:0:0;

lub

Switch:SetRGB:2:0:0:255;

Takie rozwiązanie bardzo ułatwia testowanie oraz integrację z własnymi aplikacjami.

Pierwsze uruchomienie

Po wgraniu firmware dostępnego na GitHubie wystarczy uruchomić dowolny tester Bluetooth Low Energy.

python_xv1A7zhbLz.thumb.png.9d88421eef4f80a04faa40271e6416b3.png

Po odnalezieniu urządzenia OST-BBX można:

  • odczytywać stany przycisków,
  • obserwować powiadomienia BLE,
  • wysyłać komendy zmieniające kolory podświetlenia.

Dzięki temu poprawność działania można sprawdzić jeszcze przed napisaniem własnego programu korzystającego z ButtonBoxa.

Do czego można wykorzystać taki panel?

Choć projekt wygląda niepozornie, możliwości zastosowań jest naprawdę sporo.

ButtonBox świetnie sprawdzi się jako:

  • panel do symulatorów lotu,
  • kontroler do gier wyścigowych,
  • panel skrótów do programów graficznych,
  • sterownik aplikacji CAD,
  • panel makr dla streamerów,
  • sterownik własnych projektów Arduino lub ESP32,
  • interfejs do automatyki domowej.

Ponieważ komunikacja odbywa się przez Bluetooth Low Energy, urządzenie można wykorzystać zarówno z komputerami, jak i urządzeniami mobilnymi, które mogą pełnić funkcję pośrednika pomiędzy różnymi urządzeniami korzystającymi z tego samego albo różnych protokołów.

Możliwości rozbudowy

Jedną z największych zalet wykorzystania modułów M5Stack jest możliwość dalszego rozwijania projektu bez konieczności przebudowy całego urządzenia.

Najprostszą rozbudową jest zastosowanie M5Stack Unit 8Encoder. Moduł dodaje osiem enkoderów obrotowych z funkcją przycisku oraz własnym podświetleniem RGB. Dzięki temu ButtonBox może stać się rozbudowanym kontrolerem do symulatorów, czy oprogramowania muzycznego. Firmware został przygotowany w sposób modułowy, dlatego dodanie obsługi enkoderów sprowadza się głównie do rozszerzenia komunikacji BLE o kolejne charakterystyki opisujące ich pozycję i stan.

IMG_1538.thumb.JPG.0b9e231546a32eaccba2a0c65e2e31b5.JPG

Drugą ciekawą możliwością jest zastąpienie modułu M5Stack Atom Lite poprzez M5Stack Atom S3. Oprócz większej wydajności mikrokontroler ten umożliwia pracę jako urządzenie USB HID. Oznacza to, że ButtonBox może być wykrywany przez komputer jako standardowa klawiatura, panel multimedialny lub kontroler HID, bez konieczności korzystania z Bluetooth.

Takie rozwiązanie szczególnie dobrze sprawdzi się w komputerach stacjonarnych oraz symulatorach, gdzie przewodowe połączenie USB gwarantuje najniższe opóźnienia i eliminuje konieczność parowania urządzenia. Co więcej, dzięki zachowaniu tej samej konstrukcji mechanicznej użytkownik może wybrać wariant najlepiej dopasowany do własnych zastosowań - bezprzewodowy oparty na Atom Lite lub przewodowy USB z wykorzystaniem Atom S3.

Dlaczego Bluetooth zamiast USB?

Większość amatorskich ButtonBoxów działa jako urządzenia HID podłączane przewodem USB.

Tutaj zdecydowano się na Bluetooth Low Energy z kilku powodów.

  • urządzenie można połączyć z telefonem, tabletem lub komputerem bez dodatkowych przewodów
  • BLE pozwala bardzo łatwo integrować urządzenie z własnymi aplikacjami bez konieczności implementowania sterowników HID, a zarazem nie koliduje z klawiaturą
  • prosty tekstowy protokół znacznie ułatwia debugowanie. Do sprawdzenia działania wystarczy dowolna aplikacja obsługująca Bluetooth Low Energy

Podsumowanie

Ten projekt pokazuje, że stworzenie własnego kontrolera nie musi oznaczać projektowania elektroniki od podstaw. Dzięki wykorzystaniu gotowych modułów, drukowanej obudowy i kilku przewodów można w krótkim czasie zbudować estetyczne i funkcjonalne urządzenie, które sprawdzi się zarówno podczas codziennej pracy, jak i w hobbystycznych projektach.

Projekt może być gotowym narzędziem do sterowania aplikacjami, ale równie dobrze stanowi punkt wyjścia do budowy bardziej rozbudowanych kontrolerów z dodatkowymi przyciskami, enkoderami czy wyświetlaczami. To dobra propozycja dla osób, które chcą rozpocząć przygodę z modułami M5Stack i jednocześnie stworzyć coś praktycznego.

  • Lubię! 1

Podoba Ci się ten projekt? Zostaw pozytywny komentarz i daj znać autorowi, że zbudował coś fajnego!

Masz uwagi? Napisz kulturalnie co warto zmienić. Doceń pracę autora nad konstrukcją oraz opisem.

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...