unsigned long read_high; unsigned long read_low; unsigned long diff; unsigned long sum; int sensorMax = 117000; int sensorMin = 109000; int outputMin = 0; int outputMax = 255; int N_samples = 1000; int analog_pin = A0; void setup() { pinMode(D1,OUTPUT); Serial.begin(115200); } void loop() { sum = 0; for (int i = 0; i < N_samples; i++){ digitalWrite(D1,HIGH); read_high = analogRead(analog_pin); delayMicroseconds(100); digitalWrite(D1,LOW); read_low = analogRead(analog_pin); diff = read_high - read_low; sum += diff; } int output = constrain(map(sum, sensorMax, sensorMin, 0, 255), outputMin, outputMax); Serial.println(output); delay(100); }