EMF detector code by Zac Bohon

//emf detector averaging code by Zac Bohon

#define SAMPLE_SIZE 50

int ledPin = 11;
int inPin = 0;
int val = 0;
int rSample[SAMPLE_SIZE];
long avg = 0;

void setup(){
  Serial.begin(9600);

}

void loop(){
 
  val = analogRead(inPin);                   
  rSample[0] = val;                         
                                             

 
  for (int i = SAMPLE_SIZE - 1; i > 0 ; i--){    
    avg = avg + rSample[i];                   
    rSample[i] = rSample[i-1];                
  }                                              
 
   avg = avg / SAMPLE_SIZE;
   val= int(avg);
   avg = 0;  
  
  if(val>=1){
    val = constrain(val, 1, 100);
    val = map(val, 1, 100, 1, 255);
    analogWrite(ledPin, val);
  }
  else {
    analogWrite(ledPin, 0);
  }
  Serial.println(val);
}


Comments