const int pwm = 2 ; //naming pin 2 as ‘pwm’ variable const int adc = 0 ; //naming pin 0 of analog input side as ‘adc’ float sum1,sum2,sum3,x1,x2,x3; int n = 150; //sampling rate int i = 0; //count float vTh = 0.35; int state; float a1 = 0; float a2 = 0; float a3 = 0; void setup() { pinMode(pwm,OUTPUT) ; //setting pin 2 as output Serial.begin(9600); // open the serial port at 9600 bps: state = 0; } void loop() { i++; int adc = analogRead(0) ; //reading analog voltage and storing it in an integer sum1 += adc; //adc = analogRead(0) ; //sum2 += adc; //adc = analogRead(0) ; //sum3 += adc; if ( state == 0 && (a1 > vTh) && (a2 > vTh) && (a3 > vTh)) { digitalWrite(pwm,HIGH); state = 1; Serial.println(state); Serial.print("high "); Serial.print(a1); Serial.print(" "); Serial.print(a2); Serial.print(" "); Serial.println(a3); } if ( state == 1 && (a1 < vTh) && (a2 < vTh) && (a3 < vTh)) { digitalWrite(pwm,LOW); state = 0; Serial.println(state); Serial.print("low "); Serial.print(a1); Serial.print(" "); Serial.print(a2); Serial.print(" "); Serial.println(a3); } if (i == n) { //x1 = (sum1/n) * 0.049; //x2 = (sum2/n) * 0.049; //x3 = (sum3/n) * 0.049; Serial.println(state); a3 = (sum1/n) * 0.049; sum1 = 0; a1 = a2; a2 = a3; i = 0; } //sum1,sum2,sum3 = 0; //x1,x2,x3 = 0; delay(1); }