Paper piano MIDI

Salve a tutti! mi chiamo Davide, sono alle prime armi con Arduino UNO e avrei bisogno di una mano.
Sul tubo e in rete ho trovato questo bellissimo progetto "Paper piano".
Sono riuscito a far accendere un led al tocco del pulsante sulla carta.. quello che vorrei fare è convertire questo segnale in midi.
Qualcuno può aiutarmi ad implementare il codice?
(ovviamente utilizzo in programma esterno "Hairless-midiserial" che permetterà la conversione seriale - midi di arduino)

#include <CapacitiveSensor.h>

int led=13;
CapacitiveSensor   cs_4_2 = CapacitiveSensor(4,2);

void setup()                    
{
  pinMode(led, OUTPUT);
  cs_4_2.set_CS_AutocaL_Millis(0xFFFFFFFF);     // turn off autocalibrate on channel 1 - just as an example
}

void loop()                    
{
    long total1 =  cs_4_2.capacitiveSensor(30);

if (total1>100)
{
digitalWrite(led,HIGH);
}else
{digitalWrite(led,LOW);
}
    delay(10);
}

Potresti provare ad usare PureData e inviare i dati da Arduino al PC e con puredata inviarli ad un sintetizzatore

Ho gia provato con Max/msp.. ma non è esattamente quello che cercavo di fare! Il mio progetto cerca di imitare in piccolo il dispositivo Makey Makey in modo da poter creare master keyboard con qualunque oggetto organico o inchiostro bare conductive.
un pò come questo:

grazie sempre! :smiley:

Scusa non ho capito cosa non funziona

http://www.spikenzielabs.com/SpikenzieLabs/Serial_MIDI.html

Ho usato:

  • Midi yoke come simulatore midi
  • Hairless come convertitore seriale midi

#include <CapacitiveSensor.h>

int velocity = 127;
int led=13;
int noteON = 144;
CapacitiveSensor cs_4_2 = CapacitiveSensor(4,2);

void setup()
{
Serial.begin(9600);
pinMode(led, OUTPUT);
cs_4_2.set_CS_AutocaL_Millis(0xFFFFFFFF); // turn off autocalibrate on channel 1 - just as an example
}

void loop()
{
long total1 = cs_4_2.capacitiveSensor(30);

if (total1 > 50) {

for (int note=48;note<49;note++) {//from note 50 (D3) to note 69 (A4)
MIDImessage(noteON, note, velocity);//turn note on
delay(8000);
MIDImessage(noteON, note, 0);}}//turn note off
}
//send MIDI message
void MIDImessage(int command, int MIDInote, int MIDIvelocity) {
Serial.write(command);//send note on or note off command
Serial.write(MIDInote);//send pitch data
Serial.write(MIDIvelocity);//send velocity data
}

sta funzionando!!! quando tocco l'estremità del cavo arriva un segnale midi al sintetizzatore di Albeton live: il codice è un pò confuso.. ma per ora sembra andare.
Se volete darmi una mano ad ampliare il progetto fate pure :smiley: :smiley: