BY BENNA SU
Here is the video of my lab!
And Here is the Code
int LedRedPin = 7;
int LedYellowPin = 8;
int LedBluePin = 9;
int LedGreenPin = 10;
int Button1 = 33;
int Button2 = 34;
int Button3 = 35;
int Button4 = 36;
int toggle = 37;
int potvalue = 0;
void setup() {
pinMode(LedRedPin, OUTPUT);
pinMode(LedYellowPin, OUTPUT);
pinMode(LedBluePin, OUTPUT);
pinMode(LedGreenPin, OUTPUT);
pinMode(Button1, INPUT);
pinMode(Button2, INPUT);
pinMode(Button3, INPUT);
pinMode(Button4, INPUT);
pinMode(toggle, INPUT);
Serial.begin(9600);
// put your setup code here, to run once:
}
void loop() {
toggleMode();
checkpot();
// put your main code here, to run repeatedly:
}
void Buttoncheck() {
if (digitalRead(Button1) == HIGH) {
usbMIDI.sendNoteOn(60, 127, 1);
digitalWrite(LedRedPin, HIGH);
delay(500);
digitalWrite(LedRedPin, LOW);
usbMIDI.sendNoteOff(60, 0, 1);
delay(500);
}
if (digitalRead(Button2) == HIGH) {
digitalWrite(LedYellowPin, HIGH);
usbMIDI.sendNoteOn(64, 127, 2);
delay(500);
digitalWrite(LedYellowPin, LOW);
usbMIDI.sendNoteOn(64, 0, 2);
delay(500);
}
if (digitalRead(Button3) == HIGH) {
digitalWrite(LedBluePin, HIGH);
usbMIDI.sendNoteOn(67, 127, 3);
delay(500);
digitalWrite(LedBluePin, LOW);
usbMIDI.sendNoteOn(67, 0, 3);
delay(500);
}
if (digitalRead(Button4) == HIGH) {
digitalWrite(LedGreenPin, HIGH);
usbMIDI.sendNoteOn(71, 127, 4);
delay(500);
digitalWrite(LedGreenPin, LOW);
usbMIDI.sendNoteOn(71, 0, 4);
delay(500);
}
}
void arpeggiatorMode() {
if (digitalRead(Button1) == HIGH) {
digitalWrite(LedRedPin, HIGH);
usbMIDI.sendNoteOn(60, 127, 1);
delay(potvalue);
digitalWrite(LedRedPin, LOW);
usbMIDI.sendNoteOff(60, 0, 1);
delay(potvalue);
digitalWrite(LedYellowPin, HIGH);
usbMIDI.sendNoteOn(64, 127, 2);
delay(potvalue);
digitalWrite(LedYellowPin, LOW);
usbMIDI.sendNoteOn(64, 0, 2);
delay(potvalue);
digitalWrite(LedBluePin, HIGH);
usbMIDI.sendNoteOn(67, 127, 3);
delay(potvalue);
digitalWrite(LedBluePin, LOW);
usbMIDI.sendNoteOn(67, 0, 3);
delay(potvalue);
digitalWrite(LedGreenPin, HIGH);
usbMIDI.sendNoteOn(71, 127, 4);
delay(potvalue);
digitalWrite(LedGreenPin, LOW);
usbMIDI.sendNoteOn(71, 0, 4);
delay(potvalue);
}
if (digitalRead(Button2) == HIGH) {
digitalWrite(LedRedPin, HIGH);
usbMIDI.sendNoteOn(64, 127, 1);
delay(potvalue);
digitalWrite(LedRedPin, LOW);
usbMIDI.sendNoteOff(64, 0, 1);
delay(potvalue);
digitalWrite(LedYellowPin, HIGH);
usbMIDI.sendNoteOn(68, 127, 2);
delay(potvalue);
digitalWrite(LedYellowPin, LOW);
usbMIDI.sendNoteOn(68, 0, 2);
delay(potvalue);
digitalWrite(LedBluePin, HIGH);
usbMIDI.sendNoteOn(72, 127, 3);
delay(potvalue);
digitalWrite(LedBluePin, LOW);
usbMIDI.sendNoteOn(72, 0, 3);
delay(potvalue);
digitalWrite(LedGreenPin, HIGH);
usbMIDI.sendNoteOn(76, 127, 4);
delay(potvalue);
digitalWrite(LedGreenPin, LOW);
usbMIDI.sendNoteOn(76, 0, 4);
delay(potvalue);
}
if (digitalRead(Button3) == HIGH) {
digitalWrite(LedRedPin, HIGH);
usbMIDI.sendNoteOn(68, 127, 1);
delay(potvalue);
digitalWrite(LedRedPin, LOW);
usbMIDI.sendNoteOff(68, 0, 1);
delay(potvalue);
digitalWrite(LedYellowPin, HIGH);
usbMIDI.sendNoteOn(72, 127, 2);
delay(potvalue);
digitalWrite(LedYellowPin, LOW);
usbMIDI.sendNoteOn(72, 0, 2);
delay(potvalue);
digitalWrite(LedBluePin, HIGH);
usbMIDI.sendNoteOn(76, 127, 3);
delay(500);
digitalWrite(LedBluePin, LOW);
usbMIDI.sendNoteOn(76, 0, 3);
delay(potvalue);
digitalWrite(LedGreenPin, HIGH);
usbMIDI.sendNoteOn(80, 127, 4);
delay(potvalue);
digitalWrite(LedGreenPin, LOW);
usbMIDI.sendNoteOn(80, 0, 4);
delay(potvalue);
}
if (digitalRead(Button4) == HIGH) {
digitalWrite(LedRedPin, HIGH);
usbMIDI.sendNoteOn(72, 127, 1);
delay(potvalue);
digitalWrite(LedRedPin, LOW);
usbMIDI.sendNoteOff(72, 0, 1);
delay(potvalue);
digitalWrite(LedYellowPin, HIGH);
usbMIDI.sendNoteOn(76, 127, 2);
delay(potvalue);
digitalWrite(LedYellowPin, LOW);
usbMIDI.sendNoteOn(76, 0, 2);
delay(potvalue);
digitalWrite(LedBluePin, HIGH);
usbMIDI.sendNoteOn(80, 127, 3);
delay(potvalue);
digitalWrite(LedBluePin, LOW);
usbMIDI.sendNoteOn(80, 0, 3);
delay(potvalue);
digitalWrite(LedGreenPin, HIGH);
usbMIDI.sendNoteOn(84, 127, 4);
delay(potvalue);
digitalWrite(LedGreenPin, LOW);
usbMIDI.sendNoteOn(84, 0, 4);
delay(potvalue);
}
}
void toggleMode() {
if (digitalRead(toggle) == HIGH) {
Buttoncheck();
}
if (digitalRead(toggle) == LOW) {
arpeggiatorMode();
}
}
void checkpot() {
potvalue = analogRead(A13);
Serial.print(potvalue);
}