Paso 6: código de
Ahora es el momento para subir el código a tu Arduino. Aquí está:SNARE
const int NumSnareReadings = 7;
int SnareReadings [NumSnareReadings];
int SnareIndex = 0;
int SnareTotal = 0;
int SnareAverage = 0;
int SnareMax = 700;
int SnarePin = A2;
Hola sombrero
const int NumHatReadings = 7;
int HatReadings [NumHatReadings];
int HatIndex = 0;
int HatTotal = 0;
int HatAverage = 0;
int HatMax = 700;
int HatPin = A0;
pedal bajo
const int NumBassReadings = 7;
int BassReadings [NumBassReadings];
int BassIndex = 0;
int BassTotal = 0;
int BassAverage = 0;
int BassMax = 700;
int BassPin = A4;
accidente (hi hat pedal hacia arriba)
int PedalPin = A3;
int luz = analogRead(A3);
const int NumCrashReadings = 7;
int CrashReadings [NumCrashReadings];
int CrashIndex = 0;
int CrashTotal = 0;
int CrashAverage = 0;
int CrashMax = 700;
int CrashPin = A5;
int umbral = 125;
Función Millis para dar un retardo entre notas MIDI
PreviousMillis1 largo = 0;
PreviousMillis2 largo = 0;
PreviousMillis3 largo = 0;
PreviousMillis4 largo = 0;
Interval1 largo = 100;
Interval2 largo = 100;
Interval3 largo = 100;
Interval4 largo = 100;
void setup() {}
Serial.Begin(31250);
pinMode (SnarePin, entrada);
pinMode (HatPin, entrada);
pinMode (BassPin, entrada);
pinMode (PedalPin, entrada);
analogReference(EXTERNAL);
para (int ThisSnareReading = 0; ThisSnareReading < NumSnareReadings; ThisSnareReading++)
SnareReadings [ThisSnareReading] = 0;
para (int ThisHatReading = 0; ThisHatReading < NumHatReadings; ThisHatReading++)
HatReadings [ThisHatReading] = 0;
para (int ThisBassReading = 0; ThisBassReading < NumBassReadings; ThisBassReading++)
BassReadings [ThisBassReading] = 0;
}
void loop)
{
unsigned CurrentMillis largo = millis();
SNARE
SnareTotal = SnareTotal - SnareReadings [SnareIndex];
SnareReadings[SnareIndex]=analogRead(SnarePin);
SnareTotal = SnareTotal + SnareReadings [SnareIndex];
SnareIndex = SnareIndex + 1;
Si (SnareIndex > = NumSnareReadings)
SnareIndex = 0;
SnareAverage = SnareTotal / NumSnareReadings;
Si (SnareAverage > SnareMax & & (CurrentMillis-PreviousMillis1) > Interval1)
{
PreviousMillis1 = CurrentMillis;
playMidiNote (1, 38, 127);
}
Hola sombrero
HatTotal = HatTotal - HatReadings [HatIndex];
HatReadings[HatIndex]=analogRead(HatPin);
HatTotal = HatTotal + HatReadings [HatIndex];
HatIndex = HatIndex + 1;
Si (HatIndex > = NumHatReadings)
{HatIndex = 0;
HatAverage = HatTotal / NumHatReadings;
Si (HatAverage > HatMax & & (CurrentMillis-PreviousMillis2) > Interval2 & & analogRead(A3) < umbral)
{playMidiNote (1, 42, 127);}
}
accidente
CrashTotal = CrashTotal - CrashReadings [CrashIndex];
CrashReadings[CrashIndex]=analogRead(CrashPin);
CrashTotal = CrashTotal + CrashReadings [CrashIndex];
CrashIndex = CrashIndex + 1;
Si (CrashIndex > = NumCrashReadings)
{CrashIndex = 0;
CrashAverage = CrashTotal / NumCrashReadings;
Si (CrashAverage > CrashMax & & (CurrentMillis-PreviousMillis4) > Interval4 & & analogRead(A3) > = umbral)
{playMidiNote (1, 46, 127);}
}
pedal bajo
BassTotal = BassTotal - BassReadings [BassIndex];
BassReadings[BassIndex]=analogRead(BassPin);
BassTotal = BassTotal + BassReadings [BassIndex];
BassIndex = BassIndex + 1;
Si (BassIndex > = NumBassReadings)
BassIndex = 0;
BassAverage = BassTotal / NumBassReadings;
Si (BassAverage > BassMax & & (CurrentMillis-PreviousMillis3 > Interval3))
{
PreviousMillis3 = CurrentMillis;
playMidiNote(1,36, 127);
}
}
void playMidiNote (canal de byte, byte nota, velocity byte)
{
byte midiMessage = 0x90 + (canal - 1);
Serial.Write(midiMessage);
Serial.Write(Note);
Serial.Write(Velocity);
}