From: Neil Smith Date: Mon, 22 Apr 2013 21:22:31 +0000 (+0100) Subject: All working on a single device X-Git-Url: https://git.njae.me.uk/?p=miniband.git;a=commitdiff_plain;h=5e76e418ae82a9d6ea7c593f003f53b310419102 All working on a single device --- diff --git a/STE-000.wav b/STE-000.wav new file mode 100644 index 0000000..6ed2985 Binary files /dev/null and b/STE-000.wav differ diff --git a/release/drums/drums.ino b/release/drums/drums.ino deleted file mode 100644 index 7781cab..0000000 --- a/release/drums/drums.ino +++ /dev/null @@ -1,27 +0,0 @@ - -const int NUMBER_OF_DRUMS = 4; -const int DELAY = 500; - -const int PINS[4] = { 8, 9, 10, 11 }; -int pinDelays[4] = { 0, 0, 0, 0 }; - -void setup() { - for (int i = 0; i < NUMBER_OF_DRUMS; i++) { - pinMode(PINS[i], INPUT); - } - Serial.begin(9600); -} - -void loop() { - for (int i = 0; i < NUMBER_OF_DRUMS; i++) { - if (digitalRead(PINS[i]) == HIGH && pinDelays[i] < 1) { - Serial.print("drum,"); - Serial.println(i); - pinDelays[i] = DELAY; - } - if (pinDelays[i] > 0) { - pinDelays[i] -= 1; - } - } -} - diff --git a/release/guitar/guitar.ino b/release/guitar/guitar.ino deleted file mode 100644 index 74db777..0000000 --- a/release/guitar/guitar.ino +++ /dev/null @@ -1,26 +0,0 @@ - -const int THRESHOLD = 10; -const int GUITAR_PIN = A0; -const int PINLIMIT = 5000; - -int val; -int pinDelay; - -void setup() { - Serial.begin(9600); -} - -void loop() { - val = analogRead(GUITAR_PIN); - - if (val >= THRESHOLD && pinDelay < 1) { - Serial.print("guitar,"); - Serial.println(val); - pinDelay = PINLIMIT; - } - - if (pinDelay > 0) { - pinDelay = pinDelay - 1; - } -} - diff --git a/release/instruments/instruments.ino b/release/instruments/instruments.ino new file mode 100644 index 0000000..61442ff --- /dev/null +++ b/release/instruments/instruments.ino @@ -0,0 +1,86 @@ +const int NUMBER_OF_MARACAS = 2; +const int MARACAS_PINS[] = {6, 7}; +const int MARACAS_DELAY = 5000; + +const int NUMBER_OF_DRUMS= 4; +const int DRUM_PINS[] = {8, 9, 10, 11}; +const int DRUM_DELAY = 2500; + +const int GUITAR_THRESHOLD = 20; +const int GUITAR_PIN = A0; +const int GUITAR_DELAY = 5000; + +int maracas_states[] = {-1,-1}; +int maracas_delays[] = {0, 0}; + +int drum_delays[] = {0, 0, 0, 0}; + +int guitar_delay = 0; + +void setup() { + for (int i = 0; i < NUMBER_OF_MARACAS; i++) { + pinMode(MARACAS_PINS[i], INPUT); + } + for (int i = 0; i < NUMBER_OF_DRUMS; i++) { + pinMode(DRUM_PINS[i], INPUT); + } + Serial.begin(9600); +} + +void loop() { + maracas(); + drums(); + guitar(); + update_delays(); +} + + +void maracas() { + for (int i = 0; i < NUMBER_OF_MARACAS; i++) { + int newState = digitalRead(MARACAS_PINS[i]); + if (newState != maracas_states[i] && maracas_delays[i] < 1) { + Serial.print("maracas,"); + Serial.print(i); + Serial.println(); + maracas_states[i] = newState; + maracas_delays[i] = MARACAS_DELAY; + } + } +} + +void drums() { + for (int i = 0; i < NUMBER_OF_DRUMS; i++) { + if (digitalRead(DRUM_PINS[i]) == HIGH && drum_delays[i] < 1) { + Serial.print("drum,"); + Serial.print(i); + Serial.println(); + drum_delays[i] = DRUM_DELAY; + } + } +} + +void guitar() { + int pitch = analogRead(GUITAR_PIN); + if (pitch >= GUITAR_THRESHOLD && guitar_delay < 1) { + Serial.print("guitar,"); + Serial.print(pitch); + Serial.println(); + guitar_delay = GUITAR_DELAY; + } +} + +void update_delays() { + for (int i = 0; i < NUMBER_OF_MARACAS; i++) { + if (maracas_delays[i] > 0) { + maracas_delays[i] -= 1; + } + } + for (int i = 0; i < NUMBER_OF_DRUMS; i++) { + if (drum_delays[i] > 0) { + drum_delays[i] -= 1; + } + } + if (guitar_delay > 0) { + guitar_delay -= 1; + } +} diff --git a/release/instruments1/instruments1.ino b/release/instruments1/instruments1.ino new file mode 100644 index 0000000..b3b3159 --- /dev/null +++ b/release/instruments1/instruments1.ino @@ -0,0 +1,40 @@ +const int NUMBER_OF_MARACAS = 2; +const int MARACAS_PINS[] = {6, 7}; +const int MARACAS_DELAY = 5000; + +int maracas_states[] = {-1,-1}; +int maracas_delays[] = {0, 0}; + +void setup() { + for (int i = 0; i < NUMBER_OF_MARACAS; i++) { + pinMode(MARACAS_PINS[i], INPUT); + } + Serial.begin(9600); +} + +void loop() { + maracas(); + update_delays(); +} + + +void maracas() { + for (int i = 0; i < NUMBER_OF_MARACAS; i++) { + int newState = digitalRead(MARACAS_PINS[i]); + if (newState != maracas_states[i] && maracas_delays[i] < 1) { + Serial.print("maracas,"); + Serial.print(i); + Serial.println(); + maracas_states[i] = newState; + maracas_delays[i] = MARACAS_DELAY; + } + } +} + +void update_delays() { + for (int i = 0; i < NUMBER_OF_MARACAS; i++) { + if (maracas_delays[i] > 0) { + maracas_delays[i] -= 1; + } + } +} diff --git a/release/instruments2/instruments2.ino b/release/instruments2/instruments2.ino new file mode 100644 index 0000000..66c8413 --- /dev/null +++ b/release/instruments2/instruments2.ino @@ -0,0 +1,66 @@ +const int NUMBER_OF_MARACAS = 2; +const int MARACAS_PINS[] = {6, 7}; +const int MARACAS_DELAY = 5000; + +const int NUMBER_OF_DRUMS= 4; +const int DRUM_PINS[] = {8, 9, 10, 11}; +const int DRUM_DELAY = 2500; + +int maracas_states[] = {-1,-1}; +int maracas_delays[] = {0, 0}; + +int drum_delays[] = {0, 0, 0, 0}; + +void setup() { + for (int i = 0; i < NUMBER_OF_MARACAS; i++) { + pinMode(MARACAS_PINS[i], INPUT); + } + for (int i = 0; i < NUMBER_OF_DRUMS; i++) { + pinMode(DRUM_PINS[i], INPUT); + } + Serial.begin(9600); +} + +void loop() { + maracas(); + drums(); + update_delays(); +} + + +void maracas() { + for (int i = 0; i < NUMBER_OF_MARACAS; i++) { + int newState = digitalRead(MARACAS_PINS[i]); + if (newState != maracas_states[i] && maracas_delays[i] < 1) { + Serial.print("maracas,"); + Serial.print(i); + Serial.println(); + maracas_states[i] = newState; + maracas_delays[i] = MARACAS_DELAY; + } + } +} + +void drums() { + for (int i = 0; i < NUMBER_OF_DRUMS; i++) { + if (digitalRead(DRUM_PINS[i]) == HIGH && drum_delays[i] < 1) { + Serial.print("drum,"); + Serial.print(i); + Serial.println(); + drum_delays[i] = DRUM_DELAY; + } + } +} + +void update_delays() { + for (int i = 0; i < NUMBER_OF_MARACAS; i++) { + if (maracas_delays[i] > 0) { + maracas_delays[i] -= 1; + } + } + for (int i = 0; i < NUMBER_OF_DRUMS; i++) { + if (drum_delays[i] > 0) { + drum_delays[i] -= 1; + } + } +} diff --git a/release/instruments3/instruments3.ino b/release/instruments3/instruments3.ino new file mode 100644 index 0000000..61442ff --- /dev/null +++ b/release/instruments3/instruments3.ino @@ -0,0 +1,86 @@ +const int NUMBER_OF_MARACAS = 2; +const int MARACAS_PINS[] = {6, 7}; +const int MARACAS_DELAY = 5000; + +const int NUMBER_OF_DRUMS= 4; +const int DRUM_PINS[] = {8, 9, 10, 11}; +const int DRUM_DELAY = 2500; + +const int GUITAR_THRESHOLD = 20; +const int GUITAR_PIN = A0; +const int GUITAR_DELAY = 5000; + +int maracas_states[] = {-1,-1}; +int maracas_delays[] = {0, 0}; + +int drum_delays[] = {0, 0, 0, 0}; + +int guitar_delay = 0; + +void setup() { + for (int i = 0; i < NUMBER_OF_MARACAS; i++) { + pinMode(MARACAS_PINS[i], INPUT); + } + for (int i = 0; i < NUMBER_OF_DRUMS; i++) { + pinMode(DRUM_PINS[i], INPUT); + } + Serial.begin(9600); +} + +void loop() { + maracas(); + drums(); + guitar(); + update_delays(); +} + + +void maracas() { + for (int i = 0; i < NUMBER_OF_MARACAS; i++) { + int newState = digitalRead(MARACAS_PINS[i]); + if (newState != maracas_states[i] && maracas_delays[i] < 1) { + Serial.print("maracas,"); + Serial.print(i); + Serial.println(); + maracas_states[i] = newState; + maracas_delays[i] = MARACAS_DELAY; + } + } +} + +void drums() { + for (int i = 0; i < NUMBER_OF_DRUMS; i++) { + if (digitalRead(DRUM_PINS[i]) == HIGH && drum_delays[i] < 1) { + Serial.print("drum,"); + Serial.print(i); + Serial.println(); + drum_delays[i] = DRUM_DELAY; + } + } +} + +void guitar() { + int pitch = analogRead(GUITAR_PIN); + if (pitch >= GUITAR_THRESHOLD && guitar_delay < 1) { + Serial.print("guitar,"); + Serial.print(pitch); + Serial.println(); + guitar_delay = GUITAR_DELAY; + } +} + +void update_delays() { + for (int i = 0; i < NUMBER_OF_MARACAS; i++) { + if (maracas_delays[i] > 0) { + maracas_delays[i] -= 1; + } + } + for (int i = 0; i < NUMBER_OF_DRUMS; i++) { + if (drum_delays[i] > 0) { + drum_delays[i] -= 1; + } + } + if (guitar_delay > 0) { + guitar_delay -= 1; + } +} diff --git a/release/maracas/maracas.ino b/release/maracas/maracas.ino deleted file mode 100644 index 2597bc3..0000000 --- a/release/maracas/maracas.ino +++ /dev/null @@ -1,25 +0,0 @@ -int newState; -int states[] = {-1,-1}; -const int pins[] = {6, 7}; -const int wait = 500; - -void setup() { - for (int i = 0; i < 2; i++) { - pinMode(pins[i], INPUT); - } - Serial.begin(9600); -} - -void loop() { - for (int i = 0; i < 2; i++) { - newState = digitalRead(pins[i]); - if (newState != states[i]) { - Serial.print("maracas,"); - Serial.print(i); - Serial.println(); - states[i] = newState; - delay(wait); - } - } -} - diff --git a/release/miniband.py b/release/miniband.py index 4f61e0c..2ec3769 100755 --- a/release/miniband.py +++ b/release/miniband.py @@ -17,7 +17,8 @@ PORT = 42001 DEFAULT_HOST = '127.0.0.1' BUFFER_SIZE = 240 #used to be 100 SOCKET_TIMEOUT = 1 -DEVICES = ['/dev/ttyACM0', '/dev/ttyACM1','/dev/ttyACM3'] +DEVICES = ['/dev/ttyACM3'] +#DEVICES = ['/dev/ttyACM0', '/dev/ttyACM1','/dev/ttyACM3'] ARDUINO_BAUD_RATE = 9600 BROADCAST_NAMES = {'guitar': 'guitar',