Joypad arduino per comandare smartphone in usb

Salve,
Ho comprato un cavo per collegare il joypad della playstation 3 allo smartphone e nei giochi in cui è possibile usare un controller esterno ovviamente funziona. Dato che è molto ingombrante vorrei realizzarne uno più piccolo con arduino. Ho già comprato la levetta analogica e 4 bottoni, ma poi mi sono reso conto che farli comunicare in usb non è così semplice. Vorrei evitare il bluetooth sia per non scaricare la batteria che per non ingrandire troppo il joypad. Ho poi notato che il controller della playstation funziona anche nell'appdrawer quindi non necessita di una particolare configurazione da parte di altre app.

Quindi ecco le domande che ho da porvi:
1)come posso far comunicare il joypad in usb con lo smartphone? EDIT: penso di aver risolto quindi cambio la domanda in: per ridurre le dimensioni conviene usare un arduino micro o costruirne uno da solo prendendo i singoli componenti?
2)non credo sia possibile, ma posso evitare di usare una batteria esterna e quindi usare quella dello smartphone per alimentare arduino? In alternativa, per caricare la batteria esterna, potrei usare un modulo di ricarica, ma come posso fare in modo che ricarichi quando è connesso ad un alimentatore e trasmetta segnali quando è connesso allo smartphone? Il controller della ps3 lo permette
3)Ho poi notato che il controller della playstation funziona anche nell'appdrawer quindi non necessita di una particolare configurazione da parte di altre app. Com'è possibile una cosa del genere? Sarebbe possibile farla con arduino?

Grazie in anticipo e scusate le troppe domande ma non sono molto ferrato su questi argomenti e cercando ho trovato solo come comandare il pc ma non lo smartphone

Puoi usare un Arduino Micro, che è basato sullo stesso microcontrollore della Leonardo e può apparire nativamente come una periferica USB.

Dai anche un'occhiata a GitHub - AlanChatham/UnoJoy: UnoJoy! allows you to easily turn an Arduino Uno (or Mega or Leonardo) into a PS3-compatible USB game controller.

Molto interessante, mi documenterò meglio e nel caso farò altre domande :slight_smile:

Sto facendo l'acquisto del materiale, potete dirmi se è necessario aggiungere qualcos'altro?

-arduino micro
-batteria da 1800 mAh li ion
-cavo micro usb-usb (da trasformare in micro usb-micro usb perchè non ne ho trovati già così) per connettere arduino micro e lo smartphone

  • modulo di ricarica batteria li ion

posseggo già una millefori, l'analogico e dei pulsanti (questi ultimi quando premuti fanno un rumore che potrebbe infastidire se si sente più volte, ne avete da consigliati più silenziosi?). Cos'altro può essere utile?

Uhm, sei sicuro ti serva la batteria? Non gli passa l'alimentazione il telefono? E non sono sicuro che un cavo microusb-microusb funzioni... Aspettiamo altre opinioni.

SukkoPera:
E non sono sicuro che un cavo microusb-microusb funzioni... Aspettiamo altre opinioni.

Infatti non va bene, serve un adattare USB-OTG al quale collegarsi con un normale cavo micro usb.
Senza il cavo USB-OTG lo smartphone è solo un device USB, tramite il cavo, che usa anche il quinto pin della microusb, diventa un HOST, ovviamente lo smartphone deve essere dotato di USB OTG, funzionalità HOST e possibilità di fornire alimentazione sulla USB, non tutti gli smartphone/tablet hanno i necessari requisiti.

Quindi basta l'alimentazione del telefono? Ottimo!

Per quanto riguarda il cavo poiché le connessioni avvengono tra Micro usb, passare per l'usb mi comporta un aumento delle dimensioni e in questo progettino sarebbe meglio evitarlo. Ho trovato questa guida Costruire un cavo OTG per sfruttare l'USB HOST del Galaxy S2 che penso possa essere adattata ad un cavo Micro usb. Confermate?