Go Down

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

ezioangelo

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

lestofante

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
Guida per principianti http://playground.arduino.cc/Italiano/newbie
Unoffical Telegram group https://t.me/genuino

ezioangelo

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

lestofante

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
Guida per principianti http://playground.arduino.cc/Italiano/newbie
Unoffical Telegram group https://t.me/genuino

Go Up