Autor Wątek: Kontrolery Arduino  (Przeczytany 53250 razy)

0 użytkowników i 1 Gość przegląda ten wątek.

Kontrolery Arduino
« dnia: Lipca 07, 2016, 06:11:23 »
Zastanawiałem się dosyć długo, czy rozpocząć ten wątek. W końcu doszedłem do wniosku, że może komuś się przydadzą moje doświadczenia w tym temacie tym bardziej, że aktualnie walczę z problemami związanymi z MMJoy2 oraz ProMicro.
Zauważyłem, że coraz więcej kolegów na forum stosuje w swoich kokpitach kontrolery Arduino. Postanowiłem ten temat rozeznać i od jakiegoś czasu tym się zajmuję. Może w tym wątku będzie można wymienić swoje doświadczenia związane z Arduino. Na początek chciałbym przedstawić swoje przemyślenia i doświadczenia. Temat jest obszerny, dlatego przedstawię go w kilku post. Jednocześnie chciałbym porównać kontrolery, które mam u siebie w kokpicie z Arduino.
Jeszcze jedna ogólna uwaga. Każdy kto rozpoczyna przygodę z budową kokpitu ma dylemat jakie zastosować kontrolery wystarczy wspomnieć drejku oraz macieja z forum. Każdy musi dokonać wyboru i liczyć się z jego konsekwencjami. Myślę, że tyle wstępu wystarczy.
Powstawały w ciągu ostatnich lat nowe kontrolery podobnie jak rozwijały się symulatory. W moim przypadku od MJoy16 poprzez urządzenia OpenCockpits, DMKeys8, SimOUT do Arduino. Podobnie z symulatorem do Falcona, który przebył długą drogę i obecnie jest nazwany BMS4.
Kilka uwag o moich kontrolerach. DMKeys8 jest bardzo dobrym kontrolerem. Jego główną zaletą to przyjazny program do konfiguracji. Jest widziany przez pc jako wyspecjalizowana klawiatura. Na stronie Damosa jest jego opis. Kontrolery codeking SimOUT oraz SimIN wymagają platformy programowej HSC.  W mojej opinii jest to bardzo dobra i uniwersalna platforma w której można konfigurować prawie wszystko potrzebne w kokpicie. Codeking stosuje w swoich skryptach swój "język", który jest opisany na jego stronie. Podobnie urządzenia OpenCockpits wymagają programowej platformy SIOC oraz w przypadku Falcona dodatkowo FAST. Są też dostępne urządzenia z platformami dla BMS4, ale są dosyć drogie. Ich zaleta to proste uruchamianie w kokpicie.
Czas na właściwy temat czyli Arduino. Na jego temat napisano dużo książek. Jest też bardzo dużo informacji w Internecie. Najważniejsza zaleta to niska cena oraz dostępność w sieci aplikacji dla różnych zastosowań. Na początek jest problem jak się za to zabrać. Są możliwe dwa podejścia. Pierwsze to poszukanie gotowej aplikacji dla konkretnego zastosowania.  Jako przykład podam program nazwany MMJoy2, który wystarczy wgrać do jednego z wymienionych kontrolerów Arduino. Następnie zrobić konfigurację i zastosować w swoim joysticku. Jest to bardzo przydatny program w przypadku budowy swojego joysticka lub gdy uszkodzi się np. kontroler w Cougar i trzeba go czymś zastąpić.
Drugie podejście to napisać samemu skrypt dla swojego projektu np. robota. Tutaj trzeba trochę poznać Arduino tzn. język. Ja rozpocząłem swoją zabawę od poznania Arduino i próby napisania kilku przykładów oraz ich sprawdzenia. Pomocą była książka Beginning Arduino.
Postaram się podać na początek kilka przykładów, które mogą być przydatne w projektowaniu samemu jakiegoś wskaźnika w kokpicie. Następnie omówię MMJoy2, ponieważ go właśnie uruchamiam.
Na koniec bardzo istotna informacja dla zastosowania Arduino w kokpicie dla konkretnego  symulatora tzn. komunikacja. DCS komunikuje się z elektroniką poprzez soft DCS-BIOS. W BMS4 jeszcze nie wiem jak to zrobić. Są już gotowe aplikacje dla np. DED na graficznym module 256x64. To jest temat do przemyślenia.
Tyle mojego wstępu. Mam nadzieję, że koledzy dołącza do tego wątku z swoimi doświadczeniami. Na koniec zdjęcie z moimi kontrolerami UNO oraz ProMicro.


Odp: Kontrolery Arduino
« Odpowiedź #1 dnia: Lipca 07, 2016, 06:41:47 »
Dla poznania Arduino kupiłem zestaw na bazie UNO. W zestawie są różne elementy elektroniczne, które można połączyć kabelkami z UNO. Dla majsterkowiczów jest to dobre narzędzie do nauki. Mnie bardziej interesowały takie elementy jak wyświetlacze 7segLED, wyświetlacze znakowe LCD, matryce diodowe, rejestry oraz bardziej złożone układy. Zrobiłem dla testowania tych układów swoje płytki testowe aby uniknąć bałaganu przy połączeniach kabelkami na matrycy połączeniowej.  Co wynika z tych prostych testów dla mnie zajmującego się tzw. hardware. Stosowanie kontrolerów Arduino upraszcza projektowanie elektroniki. Jako przykład można podać sterowanie rejestrów szeregowo-równoległych lub równoległo-szeregowych. W klasycznych rozwiązaniach trzeba zbudować jakiś prosty generator zegara taktującego dalej sygnał taktujący, sterowanie rejestrów oraz sygnał zapisu. W Arduino jest to zrobione w tzw. bibliotekach i wystarczy wywołać odpowiednią funkcję z parametrami i to wszystko.  Można także stosować zamiast prostych rejestrów np. 74HC595 bardziej rozbudowane MAX 7219. Dla wspomnianych układów są biblioteki i wystarczy poszukać w Internecie przykłady jak je stosować. Zastosowałem u siebie dla testów zarówno 74HC595 jak i MAX 7219 i doszedłem do wniosku, że łatwiej programować MAX 7219, ponieważ funkcje w bibliotece dla tego układu są bardzo dobrze zrobione.
Zakończyłem moją skromną edukację na projekcie testera do sprawdzania działania drążka w moim Cougarze. Drążek komunikuje się z kontrolerem Cougara 3 sygnałami plus zasilanie. Zrobiłem emulator drążka na 3 płytkach (na zdjęciu). Na jednej płytce są 3 rejestry CD 4021 takie same jak w drążku tylko w wersji przewlekanej. Na pozostałych dwóch są przyciski a raczej na jednej jest komplet 8 przycisków a na pozostałych możliwość ustawienia 0 lub 1 na wybranych pozycjach (nie było potrzeby dla testu programu budowy 24 przycisków). Gdy testujemy drążek to podłączamy 5 przewodów do gniazda i to wszystko. Wynik testu jest w dwóch postaciach. Możemy podłączyć drążek do układu, który zaprojektowałem na matrycy diodowej 8x8 LED (taka była w zestawie). Pierwsze 3 rzędy diod wyświetlają stan przycisków w drążku. Drugi sposób jest prosty, ponieważ Arduino ma możliwość monitoringu co jest pokazane na zdjęciu. Stany 3 rejestrów są ciągle wyświetlane na monitorze po w postaci binarnej oraz dziesiętnej.
Na tym kończę moją przygodę z programowaniem UNO. Teraz czas na ProMicro oraz MMJoy2.




Odp: Kontrolery Arduino
« Odpowiedź #2 dnia: Lipca 07, 2016, 08:18:21 »
Dodam swoje trzy grosze. :) Tak jak pisze Vito Arduino jest ogólnie dostępne oraz jest do niego mnóstwo przykładów w siedzi. W chwili obecnej wykorzystuje dwa zewstawy Arduino micro - jeden służy jako sterownik do silnika krokowego, drugi jako joystick do obsługi przycisków z Cougara. Korzystam z biblioteki podanej w linku :https://github.com/MHeironimus/ArduinoJoystickLibrary Ograniczeniem tej biblioteki są 3 joysticki, ale do obsługi samego Cougara wystarcza. Micro posiada obsługę SPI i I2C. Bardzo ciekawe jest samo I2C do którego potrzeba jedynie 4 kabelków - VCC, GND, SCL i SDA. Mój układ który przedstawiałem w wątku budowy symulatora oparłem na dwóch układach 16 kanałowych MCP23017.

Odp: Kontrolery Arduino
« Odpowiedź #3 dnia: Lipca 07, 2016, 08:54:08 »
No i vito zacząłeś temat rzekę :P

Ja wypowiem się odnośnie samego mmjoy2 (link do repozytorim na githubie) - opartego w moim przypadku na klonie Arduino (Sparkfun)ProMicro (Atmega32u4 16MHz 5V) - vito zakupił taki sam IMHO dobry wybór cena/możliwości.
Sama płytka droga nie jest, z wysyłką śmiało mieścimy się w kwocie 30zł zamawiając na alledrogo :)


ProMicro z Sparkfun - na alledrogo jako ProMicro - zazwyczaj niebieski laminat - rozłożenie i funkcje takie same.

Jako że procesor ATmega32u4 z zasilaniem 5V i kwarcem 16MHz ma natywną obsługę HID może być widziany jako mysz/klawiatura lub właśnie joystick - mmjoy2 działa ww oparciu o tę możliwość - system widzi go jako joy. Obecnie na stronie repo projektu widać obsługiwane uC (at90usb646, at90usb1286, ATmega32u4), w naszym kraju najbardziej dostępne są 'gotowe' płytki z ostatnim układem.

Możliwości konfiguracyjne są naprawdę duże patrząc na cenę - maksymalnie możemy podpiąć 10 osi (natywna rozdzielczość ADC uC to 10bit) oraz 96 przycisków choć nic nie ogranicza nas w dół - jak ktoś potrzebuje, może zrobić 2 przyciskowy joystick bez osi lub podpiąć same osie :)
Dodatkową zaletą mmjoy2 jest jego 'modułowość' oraz zapis ustawień w pamięci EEPROM mikro kontrolera - nic nie stoi na przeszkodzie aby przygotować kilka profili zapisanych na dysku pod konkretne moduły i w razie konieczności przepiąć je i wgrać odpowiednie ustawienia np. joystick + przepustnica + pedały do FSXa, zmieniamy zabawę na Mi8 DCS? przepinamy inną przepustnicę dodatkowe panele wgrywamy profil na urządzenie i gotowe (przynajmniej w teorii bo przepinanie chwilę zajmie ale jest jak najbardziej wykonalne ;).

Mmjoy2 obsługuje zarówno potencjometry jak i czujniki halla oraz przetworniki analogowo-cyfrowe (ADC) jedno lub wielokanałowe (MCP3201, MCP3201, MCP3204s/MCP3208s, MCP3204d/MCP3208d, KMZ60+MCP3202, KMZ60+MCP3208s, TLE5010/5011, S/C-TLE5010/5011), w przypadku klawiszy/przełączników można zastosować matrycę klawiszy lub rejestry przesuwne 74HC165 lub 4021 działające w oparciu o szeregowy interfejs SPI (max 12 sztuk układów co daje 8*12 = 96 przycisków), enkodery także możemy podpinać. Ustawienia klawiszy mają rozbudowane opcje konfiguracyjne - możemy je przypisać jako przyciski/przełączniki joy'a lub klawiatury z dodatkowymi modyfikatorami.

Samo wgranie oprogramowania także nie powinno być problematyczne - w programie ustawiamy port pod którym system widzi arduino w trybie bootloadera, wybieramy odpowiednio schemat uC, sam chip uC, typ bootloadera i opcję auto startu wgrania firmware'u gdy port będzie aktywny - wtedy zostaje tylko zresetować układ (linia RST+GND zwarta na chwilę) i soft automatycznie wgra się do uC. Potem zostaje już tylko zabawa z peryferiami i ustawieniem pod siebie :)

Odp: Kontrolery Arduino
« Odpowiedź #4 dnia: Lipca 07, 2016, 13:01:55 »
Cieszę się, że koledzy zareagowali na ten temat. Może będzie szansa na jego rozwój i wymianę doświadczeń.
Próbowałem na początek zrobić samemu kontroler, który byłby widziany przez pc jako urządzenie HID, ale zabrakło wiedzy jak to zrobić. Zrobił to maciej. Dodatkowo mój UNO nie był najlepszy do tego celu. Leonardo lub Micro mają wbudowany mechanizm w uP, który ułatwia komunikację z pc jako HID. Tak się szczęśliwie złożyło, że kolega golas z forum także aktualnie stosuje Arduino Pro-Micro w swoim kokpicie, dlatego zakupiłem ten kontroler i będę go testował w aplikacji MMJoy2. Ponieważ układ jest bardzo mały i niewygodny dla testów zrobiłem dla niego na płycie uniwersalnej platformę do podłączania urządzeń zewnętrznych. Na początek będzie to matryca 4x3, później rejestry 3x CD 4021 itd. Ponieważ jest dokumentacja w postaci schematu ideowego oraz opis mojego klonu to postanowiłem sprawdzić opcje zasilania układu. Można układ zasilać z USB. W tym przypadku u mnie napięcie na wyjściu VCC wynosi 4.47V. Można zasilać układ napięciem zewnętrznym 6-12V i w tym przypadku na wyjściu regulatora napięcia MIC 5219 powinno być 5V. Jest uwaga na schemacie o opcji 3.3V oraz zwieraniu punktów ozn. SJ1, ale jest to moim zdaniem mylące i nie należy się tym przejmować. Należy przed zakupem sprawdzić czy jest opcja 5V oraz 16 MHz. Jestem już po konfiguracji oraz testach. Do testów użyłem płytki z poprzednich testów z UNO czyli 3xCD 4021 oraz przyciski. Dodatkowo dołączyłem matrycę 4x3. Jest pokazane na zdjęciu. Dołączone elementy działają poprawnie, widać to w programie konfiguracyjnym.



Jest tylko jeden problem z którym sobie nie radzę. Walczę z tym od 2 dni i bez powodzenia. MMJoy2 nie jest widziany w Windows. Wgrywałem wiele razy firmware, zmieniałem wejścia USB, zmieniałem VID oraz PIT bez rezultatów. Chociaż dzisiaj przez jakiś czas miałem w Win MMJoy2, ale przy dalszych próbach zmian w konfiguracji już się nie pojawił i nie potrafię to odtworzyć. Trochę to przypomina zabawę z MJoy16, ale to stare dzieje. Mam u siebie 4 kontrolery widziane przez Win oprócz oczywiście MMJoy2. Co ciekawe przy wyborze w konfiguracji MMJoy2 są także widziane ramki  F16 MFD1 oraz 2 jako urządzenie do zapisu .
Reasumując nie potrafię zmusić mojego pc z Win7 aby traktował MMJoy2 jako kontroler gier. Może trzeba coś usunąć w rejestrach lub zainstalować jakieś drivery nie mam pojęcia. Zamówiłem Leonardo może na nim będzie dobrze. Trochę szkoda rezygnować z MMJoy2, ponieważ ma on duże możliwości, które warto poznać.

Odp: Kontrolery Arduino
« Odpowiedź #5 dnia: Lipca 07, 2016, 15:32:39 »
Problem rozwiązany i okazał się jak zwykle trywialny. Myślałem, że wystarczy przypisać klawiaturę lub rejestr do konfiguracji. To nie wystarczy trzeba jeszcze zadeklarować w tabelce z prawej strony tak jak na zdjęciu.

Teraz mogę przystąpić do poznania parametrów konfiguracji, będzie okazja do pytań.

Odp: Kontrolery Arduino
« Odpowiedź #6 dnia: Lipca 07, 2016, 15:56:28 »
Dobrze, że nie okazało się jak chyba obaj przypuszczaliśmy, że coś nie gra z samym kontrolerem :)
Ja sam na śmierć zapomniałem Ci w naszej korespondencji napisać o przypisaniu klawiszy :P

Swoją drogą nie wspomniałem we wcześniejszym poście o możliwości podpięcia po definiowalne klawisze dwóch HAT'ów (8 przycisków mamy wtedy mniej).

Osobiście projektuje mini płytkę pod same rejestry, tak aby łączyć je 5 przewodami jako moduły oraz dać możliwość umieszczenia ich w osobnych komponentach całego zestawu (joy, pedały i przepustnica + może w przyszłości panele dodatkowe).

Odp: Kontrolery Arduino
« Odpowiedź #7 dnia: Lipca 07, 2016, 18:24:14 »
Ustawienia klawiszy mają rozbudowane opcje konfiguracyjne - możemy je przypisać jako przyciski/przełączniki joy'a lub klawiatury z dodatkowymi modyfikatorami.Nawiązując do cytatu oraz platformy MMJoy2 mam pytania dotyczący na początek tylko klawiatury.
Na platformie MMJoy2 z lewej strony jest mapa gdzie można fizycznie podłączyć matrycę lub rejestry. Z prawej strony są między innymi opcje wirtualny joystick oraz klawiatura. Dla joysticka jest 64 pozycji Button do których możemy przypisać te "fizyczne" z mapy połączeń 1-96. Czy w setup np. mojego symulatora BMS4 widzę te wirtualne Buttons 1-96 którym mogę przypisać kombinację klawiatury.
W platformie setup MMJoy2 każdy Button możemy zdefiniować jako ------, switch, switch on, switch off, soft switch oraz enkoder. Pytanie, czy podłączając przycisk, przełącznik 2 lub 3 pozycyjny lub enkoder do matrycy diodowej lub rejestrów wiemy co wybrać w tabeli mode.
Co oznacza shift1, 2 oraz 3. Czy są to modyfikatory klawiatury typu Shift, Ctrl, Alt czy coś innego.  Czy wybór czasu dla timerów oznacza dłuższy czas analizy stanu np. enkodera.
Są to moje podstawowe pytania. Zauważyłem także tabelkę z 12 okienkami dla enkoderów, czy to oznacza, że możemy dołączyć max. 12 enkoderów, które zajmą 24 pozycje z mapy 1-96.
Pytanie do macieja.
Cytuj
dwa zewstawy Arduino micro - jeden służy jako sterownik do silnika krokowego
Czy ten silnik jest powiązany z BMS4. Jeśli tak to jak przechwytujesz dane z symulatora. Jak wiesz codeking potrafi w swojej platformie HSC przechwytywać dane korzystając z biblioteki chyba " Lightinng".

Offline Marcin_B

  • *
  • MABO
Odp: Kontrolery Arduino
« Odpowiedź #8 dnia: Lipca 07, 2016, 21:33:25 »
To ja się też dołączę :)
Mój kokpit bazuje na A-10C i generalnie latam tylko na DCS. Aktualnie obsługują go 4 szt DMK8. Od kilku miesięcy zgłębiam Arduino i mogę tylko żałować że nie zrobiłem tego wcześniej. Mam w tej chwili podłączone 2x Mega i 4x Nano. Nie jest to jeszcze ostateczny układ ale chyba za dużo już nie zmienię. Jak wspomniał Vito za komunikację odpowiada DCS-BIOS. Można z jego pomocą podłączyć bezproblemowo większość wskaźników ale potrafią się też zdarzyć jakieś nietypowe akcje. Kilka dni temu próbowałem podłączyć serwo mające działać jako wskaźnik wychylenia klap (A-10C). Mam mały problem bo serwo chodzi odwrotnie - chyba że są serwa lewe i prawe? Ktoś może mnie uświadomić w tej kwestii?
Mam opanowane podłączenie LED, wyświetlaczy 7-segmentowych, itd. Jeśli ktoś będzie miał z tym kłopot - chętnie pomogę.

PS. Jak dla mnie to Arduino ma jeden minus - liczbę kabli USB i potrzebę stosowania HUBa. Chociaż gdzieś widziałem próby łączenia szeregowo kolejnych płytek :)

Odp: Kontrolery Arduino
« Odpowiedź #9 dnia: Lipca 07, 2016, 22:05:18 »
Hmm może po I2C to połączyć? Aczkolwiek moja wiedza w tej materii nikła jest bardzo  :-[

Vito ja cały czas testuje różne ustawienia - będę wiedział co i jak nie omieszkam napisać.

Co do enkoderów i hatów - https://github.com/MMjoy/mmjoy_en/wiki/Connecting-basic-inputs-and-setting-up-software#button-options - zgłębiam wiedzę z opisów testując :)

Odp: Kontrolery Arduino
« Odpowiedź #10 dnia: Lipca 08, 2016, 07:57:41 »
Ja też mam zamiar poznać możliwości programu, ale zastanawiam się nad metodą. W przypadku  kontrolera DMKeys8 można go testować  np. programem DIView, który jest także dołączony do MMJoy2. Ponieważ MMJoy2 ma 3 mody pracy to można przez analogię do DMKeys8 wybrać opcję Keyboard, która powinna być widziana w Win jako klawiatura (emulacja). Następnie można przypisać klawisze do fizycznych przycisków, przełączników lub enkoderów wg. tabeli 1-96 w H/W.Button. Tabela mode to prawdopodobnie deklaracja przycisk, przełącznik, enkoder i coś jeszcze do rozeznania. Kolejna tabelka Shift jest dla mnie niezrozumiała. Czy dotyczy modyfikatorów shift, ctrl oraz alt czy czegoś innego. Timer ON ma  możliwość wyboru jednego z 3 ustalonych czasów w innej tabelce Timer (delay 50-500 ms). Pytanie czy te czasy są związane z niedoskonałymi elementami (drgania styków, stany nieustalone) np. enkoderów. Jest jeszcze 6 okienek Shift gdzie można przypisać do poz. 1-96 modyfikator. Z tego wynikałoby, że w tabeli z prawej strony w poz. Shift wybieramy który modyfikator. Reasumując jest to do rozeznania, może ktoś już to poznał. Następny element do rozszyfrowania to hat oraz  axis to button a na koniec  joysticks axes.
Może jest jakiś inny opis oprócz wspomnianego linku np. po rosyjsku. Na koniec wspomnę o uwadze Damosa w odniesieniu do rejestrów oraz enkoderów. Ma on rację enkodery  te tanie powinny być połączone do matrycy a nie przez rejestry. To będzie można później potwierdzić testując.

Odp: Kontrolery Arduino
« Odpowiedź #11 dnia: Lipca 08, 2016, 09:01:16 »
Opcję hat na 80% to ustawienie odpowiednich przycisków do fizycznych guzików - wiadomo hat 4 guziczki a kierunków 8 :) masz tam zresztą listę rozwijalną z fizycznymi buttonami 1-96 - przypinasz tylko fizyczny guzik do pcji up/down/left/right i wtedy uc widzi te przyciski jako hat.

Axis to button - tutaj tyle co rozumiem to możemy przypisać guzik który po wciśnięciu ustawi nam daną oś z jednej wartości procentowej na drugą np od 0 do 100% ciągu (dopalacz?)

Odp: Kontrolery Arduino
« Odpowiedź #12 dnia: Lipca 08, 2016, 12:23:13 »
Dopowiem od siebie, że warto poszukać czegoś, co się nazywa "Arduino HID - project". Można popatrzeć też na hasło EDTracker.
Nie pamiętam dokładnie gdzie to znalazłem. W każdym razie jak widać na obrazkach poniżej. Po wgraniu programu z odpowiednim bootloaderem (jedno kliknięcie). Mamy działający joystick z arduino. Obsługuje kilka osi, dwa hat swithe i troszkę guzików (to jest chyba maksymalna liczba jaką windowsowy kontroler gier przyjmuje).






Przy swoim joysticku używam arduino leonardo. Bo jak zostało zaznaczone - tylko leonardo i promicro potrafią działać jako HID.

Odp: Kontrolery Arduino
« Odpowiedź #13 dnia: Lipca 08, 2016, 17:35:22 »
Próbuję testując mój model poznać MMJoy2, ponieważ opis pod wskazanym linkiem jest encyklopedyczny bez przykładów. Na początek przyciski oraz enkodery, później przełączniki. Można sprawdzać wspomniane elementy korzystając z konfiguracji w oknie Mouse and keyboard, ale pod warunkiem, że wpiszemy jakieś przypisanie w oknie Joystick. Nie ma czystej emulacji klawiatury tak jak u Damosa, pc musi widzieć kontroler gier.  Następnie konfigurujemy dla opcji Button matrix rows oraz columns dla naszych podłączonych elementów do ProMicro. W tabeli Mouse and keyboard przypisujemy klawisz do danej pozycji mapy matrix. Uruchamiamy program testujący Direct Input Viewer i możemy testować.
Testowałem przyciski dla różnych modów (switch, switch ON,switch OFF, soft switch oraz enkoder), wyniki są ciekawe. Można włączyć opóźnienie ustalając czas w ms. Testowałem także enkodery i tutaj mam wątpliwości, ale to wymaga kolejnych testów.  To tyle w skrócie. Denerwujące jest to, że nie potrafię przewidzieć jaka jest relacja pomiędzy rows, columns oraz mapą 1-96 tzn. co tworzy kolumny oraz rows. Mamy dla ProMicro B1-B6, C6, D0-D4, E6, F4-F7 co daje razem 17 punktów. Jeśli podłączę do mojego modelu  matrycę 4x3 oraz trzy rejestry to następują jakieś przypisania 1-96, które nie potrafię przewidzieć, może mam jakieś zahamowania. Pojęcie Shift nic mi nie mówi. Na koniec pytanie, może ktoś już przez to przechodził.
Ciekawy może być projekt "Arduino HID - project" o którym wspomniał shopik.

Odp: Kontrolery Arduino
« Odpowiedź #14 dnia: Lipca 09, 2016, 12:42:00 »
shopiK wystarczy wgrać bibliotekę do folderu i załadować wsad do arduino- bez konieczności zmiany bootloadera
Dodam swoje trzy grosze. :) Tak jak pisze Vito Arduino jest ogólnie dostępne oraz jest do niego mnóstwo przykładów w siedzi. W chwili obecnej wykorzystuje dwa zewstawy Arduino micro - jeden służy jako sterownik do silnika krokowego, drugi jako joystick do obsługi przycisków z Cougara. Korzystam z biblioteki podanej w linku :https://github.com/MHeironimus/ArduinoJoystickLibrary Ograniczeniem tej biblioteki są 3 joysticki, ale do obsługi samego Cougara wystarcza. Micro posiada obsługę SPI i I2C. Bardzo ciekawe jest samo I2C do którego potrzeba jedynie 4 kabelków - VCC, GND, SCL i SDA. Mój układ który przedstawiałem w wątku budowy symulatora oparłem na dwóch układach 16 kanałowych MCP23017.