funziona tutto correttamente, ma ho verificato un piccolo problema: con una pedaliera MIDI Rolls (che invia solo program changes) arduino riconosce correttamente il midi (ed agisce di conseguenza secondo il mio scketch); quando invece il program change è inviato da un'altra pedaliera che ho (Behringer FCB1010), arduino sembra non riconoscere il midi in ingresso; vorrei sottolineare che la Behringer è stata fino ad oggi la mia pedaliera di uso comune (utilzzo un preamplificatore midi, il rocktron voodu valve);
il mio progetto aveva la finalità di risparmiare un pò di spazio, visto che la Behringer è un transatlantico, per cui vorrei utilizzare la Rolls (piccolissima) per i Program change, affidando a mio progetto arduino la gestione dei control change, del pedale di espressione, ecc....
Quindi diciamo che a me va bene così com'è (visto che con la Rolls funge), solo non mi spiego come mai il midi inviato dalla Behringer non sia riconosciuto (e la Behringer, come detto prima, funziona correttamente se utilizzata direttamente nel preamplificatore);
No, non è risolto: in particolare, la behringer funziona solo quando l'arduino è alimentato non USB... quando è alimentato USB noto i problemi di cui sopra (cioè sembra non ricevere il midi...)..
Mah, non credo sia di facile soluzione, ma ci ho provato lo stesso (a parte che tale comportamento potrebbe anche andarmi bene, visto che lo userò alimentato non USB)...
Controlla che hai messo la resistenza di 3,3KOhm a +5V e non a Vin.
Prova a controllare i 5V se ci sono e se non c'é alternata sopra sia quando alimenti l'arduino con la USB che esternamente.
Devo però dirti che ho messo sì la resistenza da 3.3k (3.6k per l'esattezza, non avevo in casa la 3.3k), e l'ho messa ai 5V (anche perchè il Vin, come da mio post precedente, l'ho bruciacchiato invertendo innavertitamente la polarità, ed ho dovuto rimediare installando un 7805 con relativi condensatori...).
Pensi che la resi da 3.6k invece che 3.3k possa essere il problema ?
ciao demym
No, il valore di quella resitenza non é critico. Serve solo a tirare il livello a HIGH quando il transitor del optocopler 4N28 non conduce. Quando il transistor conduce tira la tensione a massa e percui LOW. In quel caso circola una corrente attraverso la resistenza che é dato dalla tensione e il suo valore.
I limite di quella resstenza sono:
Non troppo piccola senó la corrente attraverso la resistenza é troppo grande nel caso LOW. Questa corrente é un consumo che si deve tenere limitato. Se si usa una batteria come alimentazione sono considerazioni da tenere conto; consuma la resistenza di piú del Arduino.
Non troppo grande senó a causa di correnti che entrano nel entrata del Arduino la resitenza non riesche a tirare su la tensione da riconosere come livello HIGH. (la resistenza interna delle entrate non é infinito ma molto grande).
Comunque tutto tra 1kOhm e 100kOhm va bene.
Hai controllato le tensioni e la parte ondulata della tensione di alimentazione?
Non so cosa voglia dire 'la parte ondulata della tensione di alimentazione'...
Altra domanda: questa pedaliera gestisce un pedale di espressione (jack stereo, 1 contatto ai 5v, l'altro a massa, e l'altro ancora al pin analogico del Nano); quando però il pedale non è collegato, la pedaliera mi rileva del segnale.... esiste per caso un meccanismo di pull-up interno anche sui pin analogici ? Ho fatto una ricerca sulla documentazione arduino, ma non mi pare di aver visto qualche riferimento al pull-up analogico, solo digitale... sbaglio ?
Ciao demym
"La parte ondulata" vuol dire che i 5 V possono non essere 5V corrente continua ma possono avere anche una parte di alternata. Se guardi con un oscilloscopio vedi non una riga dritta ma una riga ondulata. Questo deriva da un guasto di condensatori nel alimentatore del PC. Suppongo che non hai un osscilloscopio a disposizione metti il tuo tester sul campo tensione alternata e misura. Valori intorno ai 100mV sono normali.
Hai provato di alimentare l'arduino da un altro computer? Succede li la stessa cosa? Le pedaliere quanto consumano come alimentazione? Vengono alimentati dal Arduino?
Ciao Uwe
Ieri sera tardi mi sono accorto di una cosa incredibile ! Non ho montato il diodo tra i due piedini dell' 6N28 !!
Ora non sono in grado di verificare subito con il diodo, ma ad occhio e croce pensate possa essere per questo che non arriva il midi in dalla behringer FCB1010 ?? (ripeto, per altre pedaliere midi, il MIDI IN mi arriva perfettamente !! solo dalla Behringer niente da fare)... (tra l'altro il MIDI IN funziona uguale anche senza diodo... ?)
Non sono ancora riuscito a controllare la questione dell'alternata... appena provo trasmetto i risultati.
ciao demym
Visto che un LED (come integrato nel 4n28) supporta una tensione polarizzato in rovescio (polarita invertita rispetto a quella dove produce luce) abbastanza bassa (intorno ai 7V)
Questo diodo esterno protegge il Led dalla distruzione in polartitá inversa perche conduce e ci sono 0,7 V ai capi.
Probabilmente non hai rotto il LED perché c'era la resistenza di 220 Ohm che limitava la corrente.
Non so spiegarti perché non funzionava.
Per L' ondulata cerco di rispiegartelo:
Immaginati che hai una tensione alternata di 2V. Se adesso non é simmetrica rispetto a 0 V ma la linea centrale é a 4 V, Hai una tensione corente continua di 4 V con un ondulata di 2 Volt
Ho trovato questo come schema: http://upload.wikimedia.org/wikipedia/de/0/00/Rippelstrom.png
Ciao Uwe