Go Down

Topic: Midi controller conversione codice (Read 574 times) previous topic - next topic

sigesoft

Sono nuovo del forum avrei bisogno di uno spunto di codice  per questo problema.
Vorrei leggere il codice binario che si presenta sui tre Pin del Multiplexer (A b C) e questo, puntando a una tabella di conversione mi restituisce un codice decimale da me assocciato,( Es. 0001=10  0002=18 ecc...).

L'idea è di inserire questo codice decimale in Which Control..

val = analogRead(1)/8;   // Divide by 8 to get range of 0-127 for midi
  MIDI_TX(176,1,val);         // 176 = CC command, 1 = Which Control, val = value read from Potentionmeter
Avrò bisogno di almeno 50 codici tra potenziometri e interuttori.
la cosa è fattibile?.Grazie

lesto

dunque 50 codici...
ogni entrata della tabella serve:
1 byte per la chiave, e 1 byte per il dato corrispondente (quindi valori da 0 a 254)
2 byte * 50=100byte
direi che con lo spazio non dovresti avere troppi problemi.
Azi addirittura potresti fare che la tabella la invii via pc nel setup e la salvi su EEPROM, così dovresti starci con certezza...
io parlo per un'atmega 328 in su, per altri non so
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

sigesoft

Possiedo Arduino uno,qualche riga di codice per il discorso tabella?

lesto

certo!
byte tabella[2][50];
ora hai una tabella a 2 entrate: tabella
  • [y]
    x può essere 0 o 1, in 0 io metterei il valore da cercare, in 1 il suo equivalente
    y invece va da 0 a 49, e quindi rappresenta tutti i codici.
    per inizializzarla puoi fare così: esempio 2 codici a -> 1 e b -> 2:
    byte tabella[2][50] = {{'a', 1},{'b', 2}};
    occhio che le celle non inizializzate contengono valori a caso
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Go Up