Salve ragazzi.. Io, insieme ad un mio amico vorremmo progettare un joypad per computer...
Volevo sapere se era possibile realizzarlo con un arduino nano..
Coem potrei fare per far riconoscere il mio arduino come periferica di gioco? Bisognerebbe creare un driver?
Ed in oltre.. per una comunicazione usb non bisogna avere un clock di 48mhz?
ciao
non è semplicissimo... però una delle migliori novità in Arduino UNO è che hanno sostituito il chip di comunicazione USB (FTDI) con un micro riprogramnmabile: questo significa che puoi sostituire il firmware con uno che "trasformi" il tuo Arduino in un HID (human input device) USB, come tastiera o mouse.
Guarda questo link:
http://hunt.net.nz/users/darran/weblog/13a32/Arduino_UNO_Keyboard_HID_Part_1.html
bye
Datti anche uno sguardo alla programmazione via icsp, ne avrai bisogno... ![]()
Sto scrivendo da ccellulare quindi sii clemente per errori di battitura
ora: per fare quello che vuoi possono esserci 3 metodi in base a ciò che sai fare
la prima è inviare i dati su seriale e poi con un programma su pc e driver apposito leggi da seriale e stampi su un hardware virtuale fatto da te. Gli esempi midi sé ne hai visti insomma.
Secondo metodo:
usi la libreria vusb che permette di creare un ubs slave da 2 pin con pochissima circuiteria esterna .
Terzo.metodo:
su scheda arduino uno e arduino mega 2500 (mi pare si.chiami così) riprogrammi il chip mega 8u2 che trasformi segnali da seriale a usb
@brain:
non serve.icsp basta una resistenza e programmi l8u2 da usb. Poi per il.debug non lo programmi fai.prima.la.parte del.328 e poi quella del'8u2
ah una cosa la prossima volta non potresti essere più chiaro nel titolo.del.topic? Scusa sé te lo dico ma così chi altro è interessato sa di che si parla fin da subito e la ricerca è più immediata ![]()
oppure serve un programma lato pc che legge l'arduino via seriale come al solito, e fa credere al Sistema Operativo di essere un joystick virtuale... mi sa che conviene usare la UNO
l'icsp servirà dopo aver riprogrammato l'8u2.
lesto:
oppure serve un programma lato pc che legge l'arduino via seriale come al solito, e fa credere al Sistema Operativo di essere un joystick virtuale... mi sa che conviene usare la UNO
Come avevo proposto magari usare qualcosa tipo ppjoy per semplificare il tutto
BrainBooster:
l'icsp servirà dopo aver riprogrammato l'8u2.
beh potrebbe sempre riprogrammarlo, io l'ho fatto basta cortocircuitare 2pin e si resetta poi lo.carichi col software atmel
superlol:
beh potrebbe sempre riprogrammarlo, io l'ho fatto basta cortocircuitare 2pin e si resetta poi lo.carichi col software atmel
Trovo semplicemente assurdo riprogrammare l'8u2 ogni volta che devi modificare il software su Arduino, in fase di sviluppo lo dovresti fare decine di volte.
Un conto è un prodotto finale dove poco importa se l'8u2 non lo puoi usare per riprogrammare Arduino e un conto è mentre stai scrivendo l'applicazione, se non hai un programmatore ISP da utilizzare al posto del bootloader diventa un vero calvario scrivere il software, in fase di sviluppo conviene usare un joystick virtuale sul pc al quale si passano le posizioni degli assi e dei pulsanti tramite seriale.
astrobeed:
superlol:
beh potrebbe sempre riprogrammarlo, io l'ho fatto basta cortocircuitare 2pin e si resetta poi lo.carichi col software atmelTrovo semplicemente assurdo riprogrammare l'8u2 ogni volta che devi modificare il software su Arduino, in fase di sviluppo lo dovresti fare decine di volte.
Un conto è un prodotto finale dove poco importa se l'8u2 non lo puoi usare per riprogrammare Arduino e un conto è mentre stai scrivendo l'applicazione, se non hai un programmatore ISP da utilizzare al posto del bootloader diventa un vero calvario scrivere il software, in fase di sviluppo conviene usare un joystick virtuale sul pc al quale si passano le posizioni degli assi e dei pulsanti tramite seriale.
superlol:
non serve.icsp basta una resistenza e programmi l8u2 da usb. Poi per il.debug non lo programmi fai.prima.la.parte del.328 e poi quella del'8u2
prima fa lo sketch su atmega 328 intendo che lo programma e passa tutto via seriale poi una volta che quello è correttamente programmato passa a fare la parte sull'8u2 che ovvio che se sbaglia andrà riprogrammato comunque.
era più che latro per risparmiare il fatto dell'ICSP che le prime volte risulta "ostica"
Scusate.. una cosa più semplice no ?
si collega tramite l' FT232 normalmente ed un programma che gira su PC apre la porta COM corrispondente e prende ciò che arduino gli manda e lo interpreta eseguendo i corrispondenti comendi sul PC....
Mi pare la via meno ostica ![]()
sennò prendi la Tensy se si chiama così boh.. una scheda simil arduino che ha un apposita libreira per cui te la colleghi al pc e lui la crede una tastiera USB e poi li ci lavori ![]()
MMhhh innanzitutto volevo ringraziarvi per i mille consigli che mi avete dato
Nel caso serva, posso anche sacrificare l'arduino UNO... Comuqnue...
Purtroppo non sò come riprogrammare l'8u2... Ed in oltre il problema principale a quel punto non sarebbe
Tanto al programmazione del microcontrollore quanto quella di creare un programma per windows che mi rilevi questa periferica come joystick virtuale.....
Non ho mai fatto una cosa del genere ed inoltre a scuola ho studiato l'anno scorso giusto qualche accenno della comunicazione seriale e parallela...
Il 8u2 si riprogramma saldando dei contatti sul ISP che sta sopra la presa USB (6 bucchetti disposti 2x3 coperti da stagno) e usando un programmatore ISP
Ciao Uwe
per programmare il chip esiste un progetto che in pratica è una collezzione di codici per far vedere al PC l'arduino come se fosse una VERA tastiera/mouse/joystick/stampante/etc... sono non ricordo il link...
superlol consiglia ppjoy per creare un joystick virtuale, che gfestisci con un tuo programma che comunicherà con arduino... io inizierei da lì che è il metodo più pratico e indolore (niente saldature o riprogrammate dell'arduino), poi quando hai in mano qualcosa che funziona non bene, ma da dio, ne riparliamo ![]()
non ho alcun problema ad effettuare saldature o altro... Però non ho ancora capito come fare.. Vorrei semplicemente che non appena collegassi il mio arduino Uno venga riconosciuto come periferica HID + precisamente come preriferica di gioco USB e di seguito poi creare delle dichiarazioni nelle quali specifico quali sono i tasti, quali gli assi ecc.. ecc... Solo che non ho idea di come poter fare ![]()
Allora devi per forza programmare un micro che faccia da "comunicatore" tra arduino e il pc.....
potresti usare python e un pinguino con (PIC18F2550) come tramite... il secondo lo programmi con lo stesso linguaggio di arduino.. solo che questo micro integra una USB nativa...
ratto93:
Allora devi per forza programmare un micro che faccia da "comunicatore" tra arduino e il pc.....
potresti usare python e un pinguino con (PIC18F2550) come tramite... il secondo lo programmi con lo stesso linguaggio di arduino.. solo che questo micro integra una USB nativa...
o programmare l'8u2...
purtoppo le arduino UNO sono ancora relativamente recenti, quindi trovi pochissima (se non nessuna) documentazione in italiano.. forse sul forum inglese sarai più fortunato ![]()
il progetto che hai in mente esiste gia' sul gia' citato uC, adafruit ha il progetto ed anche i componenti, tu vuoi replicarlo con arduino per qualche motivo particolare ?
purtroppo nessuno si e' messo ancora a lavorare sulla modifica del 8u2
lesto:
ratto93:
Allora devi per forza programmare un micro che faccia da "comunicatore" tra arduino e il pc.....
potresti usare python e un pinguino con (PIC18F2550) come tramite... il secondo lo programmi con lo stesso linguaggio di arduino.. solo che questo micro integra una USB nativa...o programmare l'8u2...
purtoppo le arduino UNO sono ancora relativamente recenti, quindi trovi pochissima (se non nessuna) documentazione in italiano.. forse sul forum inglese sarai più fortunato
L'ho detto solo perchè il pinguino puoi programmarlo con lo stesso identico (o cambia gran poco ) di arduino l' 8u2 devi usare WinAVR o AVR studio e la cosa si complica....
Testato:
il progetto che hai in mente esiste gia' sul gia' citato uC, adafruit ha il progetto ed anche i componenti, tu vuoi replicarlo con arduino per qualche motivo particolare ?purtroppo nessuno si e' messo ancora a lavorare sulla modifica del 8u2
sicuro di ciò che dici? A parte che per l'8u2 non sorve icsp per programmarlo ma basta l'ubs io mi sto avventurando però sono ancora allo stato embrionale per aprire un topic e che mi manca un atmega ancora
comunque io ho già riprogrammato il micro e sé non hai una uno smd dei saldare una resistenza sul retro da mi pare 330 sulle piazzole di reset e poi devi mettere in corto 2 pin dell'icsp quindi il micro si resetta come di fabbrica. Infine si installano i driver del micro.che trovi sul sito atmel col loro software. Quindi carichi l'hex nel programma e lo programmi
la risposta non era per te, scusa se non ho messo il quote, ma alla domanda iniziale del topic.
Cioe' come gia' detto, con il tensey adafriut ha un progetto, con sw ed hardware open source, con il quale costruisce proprio un joypad.