Initial commit
This commit is contained in:
commit
5f0dc82993
136
PringlesLooper.ino
Executable file
136
PringlesLooper.ino
Executable file
@ -0,0 +1,136 @@
|
|||||||
|
|
||||||
|
#include <MIDI.h>
|
||||||
|
|
||||||
|
bool oldValues[9] = {
|
||||||
|
1, 1, 1, 1, 1, 1, 1, 1, 1};
|
||||||
|
int tempState = 1;
|
||||||
|
int time = 0;
|
||||||
|
int bar = 1;
|
||||||
|
int pedalNote = 10;
|
||||||
|
int clearNote = 9;
|
||||||
|
|
||||||
|
void tick()
|
||||||
|
{
|
||||||
|
if (time == 24)
|
||||||
|
time = 0;
|
||||||
|
|
||||||
|
if (bar == 4)
|
||||||
|
bar = 0;
|
||||||
|
|
||||||
|
|
||||||
|
if((time == 0)&&(bar == 0))
|
||||||
|
digitalWrite(13,HIGH);
|
||||||
|
|
||||||
|
if(time == 3)
|
||||||
|
digitalWrite(13,LOW);
|
||||||
|
|
||||||
|
|
||||||
|
if(time == 0)
|
||||||
|
bar++;
|
||||||
|
|
||||||
|
if((time == 0)&&(bar != 0))
|
||||||
|
digitalWrite(12,HIGH);
|
||||||
|
|
||||||
|
if(time == 3)
|
||||||
|
digitalWrite(12,LOW);
|
||||||
|
|
||||||
|
time++;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void goClock()
|
||||||
|
{
|
||||||
|
time = 0;
|
||||||
|
bar = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
void stopClock()
|
||||||
|
{
|
||||||
|
digitalWrite(13,LOW);
|
||||||
|
digitalWrite(12,LOW);
|
||||||
|
}
|
||||||
|
|
||||||
|
void setup() {
|
||||||
|
pinMode(2, INPUT_PULLUP);
|
||||||
|
pinMode(3, INPUT_PULLUP);
|
||||||
|
pinMode(4, INPUT_PULLUP);
|
||||||
|
pinMode(5, INPUT_PULLUP);
|
||||||
|
pinMode(6, INPUT_PULLUP);
|
||||||
|
pinMode(7, INPUT_PULLUP);
|
||||||
|
pinMode(8, INPUT_PULLUP);
|
||||||
|
pinMode(9, INPUT_PULLUP);
|
||||||
|
pinMode(10, INPUT_PULLUP);
|
||||||
|
pinMode(11, OUTPUT);
|
||||||
|
pinMode(12, OUTPUT);
|
||||||
|
pinMode(13, OUTPUT);
|
||||||
|
|
||||||
|
MIDI.begin(MIDI_CHANNEL_OMNI);
|
||||||
|
MIDI.setHandleClock(tick);
|
||||||
|
MIDI.setHandleStart(goClock);
|
||||||
|
// MIDI.setHandleContinue(goClock);
|
||||||
|
MIDI.setHandleStop(stopClock);
|
||||||
|
|
||||||
|
//Modeled
|
||||||
|
digitalWrite(11,HIGH);
|
||||||
|
}
|
||||||
|
|
||||||
|
void loop() {
|
||||||
|
MIDI.read();
|
||||||
|
|
||||||
|
for(int i = 2; i <= 10; i++) {
|
||||||
|
tempState = digitalRead(i);
|
||||||
|
if(tempState != oldValues[i-2])
|
||||||
|
{
|
||||||
|
// debouncetime
|
||||||
|
delay(1);
|
||||||
|
tempState = digitalRead(i);
|
||||||
|
|
||||||
|
if(tempState != oldValues[i-2]){
|
||||||
|
if(i == 10)
|
||||||
|
{
|
||||||
|
if(tempState == 0)
|
||||||
|
MIDI.sendNoteOn(pedalNote, 127, 1);
|
||||||
|
else
|
||||||
|
MIDI.sendNoteOff(pedalNote, 0, 1);
|
||||||
|
}
|
||||||
|
else if(i == 7)
|
||||||
|
{
|
||||||
|
if(tempState == 0){
|
||||||
|
if(pedalNote == 10)
|
||||||
|
{
|
||||||
|
pedalNote = 11;
|
||||||
|
clearNote = 13;
|
||||||
|
digitalWrite(11,LOW);
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
|
||||||
|
pedalNote = 10;
|
||||||
|
clearNote = 9;
|
||||||
|
digitalWrite(11,HIGH);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if(i == 9)
|
||||||
|
{
|
||||||
|
if(tempState == 0)
|
||||||
|
MIDI.sendNoteOn(clearNote, 127, 1);
|
||||||
|
else
|
||||||
|
MIDI.sendNoteOff(clearNote, 0, 1);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if(tempState == 0)
|
||||||
|
MIDI.sendNoteOn(i, 127, 1);
|
||||||
|
else
|
||||||
|
MIDI.sendNoteOff(i, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
oldValues[i-2] = tempState;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user