All working on a single device
authorNeil Smith <neil.git@njae.me.uk>
Mon, 22 Apr 2013 21:22:31 +0000 (22:22 +0100)
committerNeil Smith <neil.git@njae.me.uk>
Mon, 22 Apr 2013 21:22:31 +0000 (22:22 +0100)
STE-000.wav [new file with mode: 0644]
release/drums/drums.ino [deleted file]
release/guitar/guitar.ino [deleted file]
release/instruments/instruments.ino [new file with mode: 0644]
release/instruments1/instruments1.ino [new file with mode: 0644]
release/instruments2/instruments2.ino [new file with mode: 0644]
release/instruments3/instruments3.ino [new file with mode: 0644]
release/maracas/maracas.ino [deleted file]
release/miniband.py

diff --git a/STE-000.wav b/STE-000.wav
new file mode 100644 (file)
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 (file)
index 7781cab..0000000
+++ /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 (file)
index 74db777..0000000
+++ /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 (file)
index 0000000..61442ff
--- /dev/null
@@ -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 (file)
index 0000000..b3b3159
--- /dev/null
@@ -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 (file)
index 0000000..66c8413
--- /dev/null
@@ -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 (file)
index 0000000..61442ff
--- /dev/null
@@ -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 (file)
index 2597bc3..0000000
+++ /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);
-    }
-  }
-}
-
index 4f61e0c70232f23aeb6417bd2b561c1bc26eb976..2ec376961a533f061784a200efcdd74147a12e5d 100755 (executable)
@@ -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',