#include <cmath>
#define PHOTOR 34
#define LENGTH 10
int values[LENGTH];
int diffs[LENGTH-1]; // diffs is one element shorter than values
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
Serial.println("Hello, ESP32!");
pinMode(PHOTOR, INPUT);
}
void loop() {
for(int i = 0; i < LENGTH - 1; i++){
values[i] = values[i+1];
}
values[LENGTH - 1] = analogRead(PHOTOR);
for (int i = 1; i < LENGTH; i++){
diffs[i-1] = values[i] - values[i - 1];
}
Serial.println(diffs[LENGTH - 2]);
delay(1000); // this speeds up the simulation
}
double mean(int* arr, int length) {
double sum = 0;
for (int i = 0; i < length; i++) {
sum += arr[i];
}
return sum / length;
}
double variance(int* arr, int length) {
double m = mean(arr, length);
double sum = 0;
for (int i = 0; i < length; i++) {
sum += pow(arr[i] - m, 2);
}
return sum / (length - 1);
}
double stdev(int* arr, int length) {
return sqrt(variance(arr, length));
}