//Written by MrSirLRD //"Signal" function will read in 100 readings from IR Phototransistor //and determind whether 200Hz pulse IR signal is present //function will return lowest value from array //and whether or not signal was detected //(if returned value is negitive signal detected) int Tr1=0;//analog pin - voltage drop accros the IR Phototransistor void setup(){ Serial.begin(9600); } void loop(){ Serial.println(Signal(Tr1)); delay(10); } int Signal(int In){ int Sig[100]; int i; int C=1023;//max analog read value int t=0; int t2=0; //Fill array with values for(i=0;i<100;i++){ Sig[i]=analogRead(In); //find lowest value in array if(Sig[i]-30){ C=Sig[i]; //t2= position in array of next lowest value t2=i; //if t2 is not = t, or near t if((t2!=t)&&((t2t+10))){ break; }//end if2 }//end if }//end for //Find distance between t and t2 int Val; if(t>t2){ Val=t-t2-48; }//end if else{ Val=t2-t-48; }//end else //if distance between t and t2 (positions in array) //is close to 48 - signal detected if (Val<4&&Val>-4){ //if signal dectected make output value negitive C*=(-1); }//end if return C; }//end signal