Arduino USB <-> Serial come Device MIDI con LUFA

Salve a tutti,
io e alcuni compagni stiamo lavorando a un progetto per un controller midi, siamo incappati in un problema che credo sia abbastanza un classico perchè cercando su internet ne abbiamo lette di ogni tipo ma con pochi risultati.

Il nostro sistema si baserà di base su queste componenti:

  • Arduino Yùn
  • Arduino USB Serial Light Adapter
  • Altri sensori vari…

La nostra prima prova è stata fatta sfruttando Processing (software per calibrare i sensori e altre boiate) e qualche libreria MIDI per mandare dei segnali al programma di turno, subito ci siamo accorti che il problema più grande era quello di non avere un device MIDI plug ‘n’ play e che quindi eravamo costretti a sfruttare MIDI Yoke (win) o Driver IAC (mac). Tentando di risolvere questo problema abbiamo deciso di acquistare l’adattatore USB <-> Seriale e riprogrammarlo perchè venisse riconosciuto come un device MIDI con LUFA. In rete abbiamo trovato poco e niente, vorremmo sapere se qualcuno di voi può aiutarci a flashare il chip ATmega8U2 (quello dell’adattatore) per farlo diventare un device MIDI.

Qualche suggerimento?

Grazie mille a tutti e in anticipo!
Andrea

[UPDATE] Ovviamente vogliamo usare l’adattatore per non intaccare la porta per programmare Arduino, che deve rimanere libera per future modifiche al codice! :smiley:

A quanto mi pare di capire ti servono 3 porte seriali una usb con il pc usata con driver midi una per la manutenzione una rs232 come porta midi verso il mondo esterno

se non hai proprio bisogno della usb master della yun ti consiglio una atmega2560 che avendo il controllore 16u2 puoi svilippare là il driver midi

non posso riprogrammare l'8u2 dell'adattatore usb-seriale? oppure usare quello (l'adattatore) per programmare la yun e usare la master come device midi?

per il primo punto ok, anche per il secondo, mentre per la usb master è fatta per riconoscere device quali: mouse, porte midi, memorie di massa, schede audio, (non certo tutte contemporaneamente perchè dipende da quanti drivers riesci a farci stare dentro la yun) ma non è fatta per essere lei stessa un device midi

quindi cosa mi consigli per far rilevare l'ardu come un device midi su pc? :D

ciao, ma voi conoscete questo progettino? http://projectgus.github.io/hairless-midiserial/

avevamo visto quel software ma volevamo evitare di avere programmi intermedi perchè fosse il più user-friendly possibile, con processing siamo riusciti a ricevere il seriale da arduino e mandarlo a una midi in (quella di yoke o dei driver iac di osx) senza problemi, ma non esistono librerie che creino una midi virtuale che venga letta da ableton, logic e affini… si può solo mandare messaggi midi a software come yoke :frowning:

se qualcuno avesse idea di come creare una midi virtuale (un po’ come fanno i software tipo yoke) con processing sarebbe interessante in quanto un interfaccia con processing ci sarà comunque per la calibrazione dei sensori del dispositivo!

imakkie: quindi cosa mi consigli per far rilevare l'ardu come un device midi su pc? :D

Questa cosa non l'ho mai fatta..mi manca... comunque se vuoi utlizzare il pid vid di un produttore e prodotto esistente senza richiedere alla usb.org un pid/vid tuo ...e pagare..... devi praticamente clonare via software un prodotto esistente, quindi trova un prodotto esistente che abbia un mega16u2 e studialo..

quindi non mi basta usare lufa? http://www.fourwalledcubicle.com/LUFA.php

certo puoi caricare il firmware midi sui 8u2 o 16u2 (quello dell'arduino uno , per l'adattatore devi provare)

io ti consiglio questo firmware https://github.com/ddiakopoulos/hiduino

per farlo devi scaricare e installare atmel flip http://www.atmel.com/tools/FLIP.aspx colleghi al pc arduino e metti a massa il reset del 16u2 in modo da farlo entrare in dfu mode. poi con atmel flit gli carichi il firmware