// Code for controlling Flash with Arduino in project Lur Maskopi by Erik Rask and Markus Appelbäck
// http://www.jormahuset.se/lurmaskopi (swedish)
#define soundOne 0
#define soundTwo 1
#define soundThree 2
#define soundFour 3
#define soundFive 4
#define soundSix 5
#define knappOne 2
#define knappTwo 3
#define knappThree 4
#define knappFour 5
#define knappFive 6
#define knappSix 7
#define soundOn 60
#define soundOff 70
#define knappOn 80
#define knappOff 90
#define ledOne 8
#define ledTwo 9
#define ledThree 10
#define ledFour 11
#define ledFive 12
#define ledSix 13
boolean knappActive[6] = {false, false, false, false, false, false};
boolean soundActive[6] = {false, false, false, false, false, false};
int knappVal = 0;
int soundVal = 0;
int soundHTH = 100;
int soundLTH = 30;
void setup()
{
pinMode(knappOne, INPUT);
pinMode(knappTwo, INPUT);
pinMode(knappThree, INPUT);
pinMode(knappFour, INPUT);
pinMode(knappFive, INPUT);
pinMode(knappSix, INPUT);
digitalWrite(knappOne, HIGH);
digitalWrite(knappTwo, HIGH);
digitalWrite(knappThree, HIGH);
digitalWrite(knappFour, HIGH);
digitalWrite(knappFive, HIGH);
digitalWrite(knappSix, HIGH);
pinMode(ledOne, OUTPUT);
pinMode(ledTwo, OUTPUT);
pinMode(ledThree, OUTPUT);
pinMode(ledFour, OUTPUT);
pinMode(ledFive, OUTPUT);
pinMode(ledSix, OUTPUT);
Serial.begin(115200);
}
void loop(){
readAudio();
readButtons();
delay(5);
}
void readAudio(){
for(int i=0; i<6; i++){
soundVal = analogRead(soundOne+i);
//Serial.println(soundOneVal);
if (soundVal > soundHTH){
if(soundActive[i] == false){
Serial.print(soundOn+i);
//Serial.print(soundVal);
Serial.print("\0");
digitalWrite(ledOne+i, HIGH);
soundActive[i] = true;
}
}
else {
if(soundVal < soundLTH && soundActive[i] == true){
digitalWrite(ledOne+i, LOW);
Serial.print(soundOff+i);
Serial.print("\0");
soundActive[i] = false;
}
}
}
}
void readButtons(){
for(int i=0; i<6; i++){
knappVal = digitalRead(knappOne+i);
if(knappVal == LOW){
if(knappActive[i] == false){
Serial.print(knappOn+i);
Serial.print("\0");
}
knappActive[i] = true;
}
else{
if(knappActive[i]){
Serial.print(knappOff+i);
Serial.print("\0");
}
knappActive[i] = false;
}
}
}