USB HID protokol "jednoduše" na Arduino Nano?

Odpovědět
HrAd
Příspěvky: 35
Registrován: 12 říj 2017, 22:45
Reputation: 0

USB HID protokol "jednoduše" na Arduino Nano?

Příspěvek od HrAd » 27 srp 2019, 22:03

Vím že opravdu jednoduše to jde na A.Leonardo nebo A.Micro, které to mají implementované přímo v procesoru.
Nevíte prosím někdo jak a zda vůbec by to šlo implementovat - naprogramovat u A.NANO?

Zaujal mne tento DIY RC vysílač, který používa Nano jako analogový převodník napěťových úrovní ze 4 potenciometrů ve 2 joysticích a následně to koduje do PPM signálu, ten už jde přímo do 2,4MHz vysílacícho modulu.
Obrázek
Napadlo mne, že by tak šlo udělat low end ovládač (Gamepad) pro RC simulátory - 2x levný analogový joystick + 1 Arduino + něco práce +
a/ složitě programově přidělat ten HIM protokol a posílat data přes USB do PC
b/ jednoduše překopat tento projekt na Arduino Micro a pomocí HIM šup s tím přímo do RC simulátoru jako je třeba FMS a zalétat si s modelem letadla, vrtulníku či dronem :)

Je mne jasné že B je správně, ale červíček zvědavosti mne přeci jen žere, co když existuje nějaká knihovna a pak varianta A by ty data jenom odklonila do USB...

martinius96
Příspěvky: 579
Registrován: 01 srp 2017, 19:29
Reputation: 0
Bydliště: Poprad
Kontaktovat uživatele:

Re: USB HID protokol "jednoduše" na Arduino Nano?

Příspěvek od martinius96 » 27 srp 2019, 22:21

Šlo by to, ak si napíšeš C/C# app, ktorá bude prijímať dáta na tvojom COM porte, resp. na zbernicu RS232 kde je Arduino pripojené (bude teba komunikovať sériovou linkou - UART-om s určitou rýchlosťou).
Tá appka bude prijímať dáta (znaky) a na ich základe vie urobiť to, čo potrebuješ. S Arduinom Leonardo, ktoré má 32u4 procesor by si vedel pristupovať priamo a príkaz poslať.

Takto potrebuješ nejaký medzikrok (tú C/C# appku), ktorá ti ten prijatý znak spracuje a vykoná akciu, spustí v podstate systémové volanie. Appka ti bude bežať na pozadí, takže si vieš nastaviť jej zapnutie pri spustení OS. To Arduino bude plug n' play. Len ho pripojíš a máš plnohodnotný joystick. Neviem ale ako to bude s odozvou :-)

Gamepady fungujú na veľmi podobnom princípe. Aj u nich často potrebuješ doinštalovať nejakú Windows app, ktorá ich vie nastaviť, nakalibrovať, priradiť k hre a pod. V tomto projekte vidím za najťažšiu vec to plne prispôsobiť a nakalibrovať, čo sa týka analógového joysticku :-) Aby to bolo dostatočne "pomalé" a hratelné pri pohybe joystickom.

Uživatelský avatar
gilhad
Příspěvky: 779
Registrován: 07 bře 2018, 11:22
Reputation: 0

Re: USB HID protokol "jednoduše" na Arduino Nano?

Příspěvek od gilhad » 27 srp 2019, 22:42

Ano, jde to udelat a takova knihovna pro AVR existuje, napriklad
https://www.obdev.at/products/vusb/index.html
(dokonce ma explicitne zminenou 328 v podporovanych, cili i Nano),

akorat je tam problem s napetovyma urovnema (5V vs. 3V3 vyzadovanych u USB), nektere veci (jako osetreni chybovych stavu) to nema plne kompatibilni a jsou tam dalsi mensi zadrhele (je to knihovna primo pro ten procesor, nikoli primo pro Arduino framework - ale to taky jde upravit, je to Open source)

(Ostatne to uz nekdo udelal, napr. zde - opet pro 328:
https://github.com/adafruit/Pro_Trinket ... rd_Library
)

otazkou je, zda je to pro tebe dost "jednoduse", nebo zda najdes nejakou lepsi, nebo zda si koupis za necela 3 eura na aliexpresu arduino, ktere to dela HW spravne a stejne ma dost pinu pro vsechno, co potrebujes ...

HrAd
Příspěvky: 35
Registrován: 12 říj 2017, 22:45
Reputation: 0

Re: USB HID protokol "jednoduše" na Arduino Nano?

Příspěvek od HrAd » 31 srp 2019, 07:58

Paráda, díky za odkazy.
To A.Micro je sice již na cestě, ale než dorazí asi se v těch odkazech pohrabu a vyzkouším to s tím A.Nano...

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 4 hosti