#include SoftwareSerial mySerial(2, 1); // RX, TX int a, b, c; int wait = 15; void setup() { mySerial.begin(9600); pinMode(4, OUTPUT); } void loop() { digitalWrite(4, HIGH); //Turning ON LED delayMicroseconds(500); //wait a = analogRead(A3); //take reading from photodiode(pin A3) :noise+signal digitalWrite(4, LOW); //turn Off LED delayMicroseconds(500); //wait b = analogRead(A3); //again take reading from photodiode :noise c = b - a; //taking differnce:[ (noise) - (noise+signal)] just signal // mySerial.println(c); //denoised signal OUTPUT JUST FOR DEBUGGING if( c <= 200 ){ mySerial.print("10"); delay(wait); mySerial.print("20"); } if ( c >= 205 && c <= 450 ){ mySerial.print("11"); delay(wait); mySerial.print("20"); } if ( c >= 455 && c <= 850 ){ mySerial.print("11"); delay(wait); mySerial.print("21"); } if ( c >= 855 ){ mySerial.print("10"); delay(wait); mySerial.print("20"); delay(wait); mySerial.print("11"); delay(wait); mySerial.print("21"); } delay(wait); }