All working on a single device
[miniband.git] / release / instruments1 / instruments1.ino
1 const int NUMBER_OF_MARACAS = 2;
2 const int MARACAS_PINS[] = {6, 7};
3 const int MARACAS_DELAY = 5000;
4
5 int maracas_states[] = {-1,-1};
6 int maracas_delays[] = {0, 0};
7
8 void setup() {
9 for (int i = 0; i < NUMBER_OF_MARACAS; i++) {
10 pinMode(MARACAS_PINS[i], INPUT);
11 }
12 Serial.begin(9600);
13 }
14
15 void loop() {
16 maracas();
17 update_delays();
18 }
19
20
21 void maracas() {
22 for (int i = 0; i < NUMBER_OF_MARACAS; i++) {
23 int newState = digitalRead(MARACAS_PINS[i]);
24 if (newState != maracas_states[i] && maracas_delays[i] < 1) {
25 Serial.print("maracas,");
26 Serial.print(i);
27 Serial.println();
28 maracas_states[i] = newState;
29 maracas_delays[i] = MARACAS_DELAY;
30 }
31 }
32 }
33
34 void update_delays() {
35 for (int i = 0; i < NUMBER_OF_MARACAS; i++) {
36 if (maracas_delays[i] > 0) {
37 maracas_delays[i] -= 1;
38 }
39 }
40 }