int p1=A0;
int p2=A1;
int p3=A2;
int p4=A3;
//case vals
int ld1v=HIGH;
int ld2v=HIGH;
int ld3v=HIGH;
int ld4v=HIGH;
//calculated value
int RV1;
int RV2;
int RV3;
int RV4;
//led state
int ld1s = HIGH;
int ld2s = HIGH;
int ld3s = HIGH;
int ld4s = HIGH;
//led case state
int plds1=HIGH;
int plds2=HIGH;
int plds3=HIGH;
int plds4=HIGH;
//piezo output
float pZ1;
float pZ2;
float pZ3;
float pZ4;
//LED's
int ld1=2;
int ld2=3;
int ld3=4;
int ld4=5;
//delaytime
int dt1=1;
int dt2=3000;
int dt3=30;
//analog data read
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
pinMode(ld1, OUTPUT);
pinMode(ld2, OUTPUT);
pinMode(ld3, OUTPUT);
pinMode(ld4, OUTPUT);
digitalWrite(ld1,HIGH);
digitalWrite(ld2,HIGH);
digitalWrite(ld3,HIGH);
digitalWrite(ld4,HIGH);
pinMode(pZ1, INPUT);
pinMode(pZ2, INPUT);
pinMode(pZ3, INPUT);
pinMode(pZ4, INPUT);
delay (dt2);
}
void loop(){
// put your main code here, to run repeatedly:
RV1=analogRead(p1);
pZ1=RV1;
Serial.print("piezo 1 val ");
Serial.println(pZ1);
if(pZ1>=1000)
{
digitalWrite(ld1,LOW);
}
delay(dt1);
RV2=analogRead(p2);
pZ2=RV2;
Serial.print("piezo 2 val ");
Serial.println(pZ2);
if(pZ2>=1000)
{
digitalWrite(ld2,LOW);
}
delay(dt1);
RV3=analogRead(p3);
pZ3=RV3;
Serial.print("piezo 3 val ");
Serial.println(pZ3);
if(pZ3>=1000)
{
digitalWrite(ld3,LOW);
}
delay(dt1);
RV4=analogRead(p4);
pZ4=RV4;
Serial.print("piezo 4 val ");
Serial.println(pZ4);
if(pZ4>=1000)
{
digitalWrite(ld4,LOW);
}
delay(dt1);
if (digitalRead(ld1) == LOW and digitalRead(ld2) == LOW and digitalRead(ld3) == LOW and digitalRead(ld4) ==HIGH)
{
digitalWrite(ld1,HIGH);
// everything below here seems to not work or run in a loop to previous statement i.e. led flashing
if (digitalRead(ld1) == LOW and digitalRead(ld2) == LOW and digitalRead(ld3) == LOW and digitalRead(ld4) ==HIGH)
{
digitalWrite(ld2,HIGH);
}
}
}