Hi everybody,
This piezo midi drums are my school project. For now I have just one "drum". My Arduino sends a signal to Serial to MIDI Coverter then via LoopBe1 to Native Instruments:Traktor.
I have one serious problem. When I hit the piezo I get multiply values, sometimes it's even 20 values

. Program should search for maximum value
I hope you can help me.
here is my code:
int ledPin = 12;
int piezo = A0;
int threshold = 100;
int sensorReading = 0;
int i=0,MAX=0;
void setup() {
pinMode(ledPin, OUTPUT);
pinMode(piezo, INPUT);
Serial.begin(57600);
}
void loop() {
sensorReading = analogRead(piezo);
if (sensorReading > threshold) {
while(sensorReading > threshold){
if(sensorReading > MAX)
MAX=sensorReading;
else {
i++;
/*analogWrite(ledPin,MAX);
MidiTX(176, 0, 127);*/
Serial.println(MAX);
Serial.println(i);
Serial.println("\t");
Serial.println("TUC");
break;
}
}
}
MAX = 0;
digitalWrite(ledPin, LOW);
delay(20);
/*void MidiTX(unsigned char StatusByte, unsigned char Note, unsigned char Val)
{
Serial.write(StatusByte);
Serial.write(Note);
Serial.write(Val);
}
*/