// C++ code // unsigned long time_arr[256]; unsigned int arr_counter = 0; unsigned long first_read_time; unsigned long last_read_time; unsigned int sensor_counter; unsigned long millis_now; void setup() { pinMode(13, OUTPUT); pinMode(2, INPUT); sensor_counter = 0; last_read_time = 0; Serial.begin(9600); } void writeString(String stringData) { for (int i = 0; i < stringData.length(); i++) { Serial.write(stringData[i]); } } void loop() { millis_now = millis(); if((millis_now - last_read_time) > 100){ if (digitalRead(2)){ if (sensor_counter == 0){ first_read_time = millis_now; } sensor_counter += 1; last_read_time = millis(); } } if (sensor_counter > 2){ sensor_counter = 0; time_arr[arr_counter] = millis_now - first_read_time; arr_counter += 1; for (int k = 0; k < arr_counter; k++){ String time_to_press = String(k + 1, DEC) + ". time(ms): "; time_to_press += String(time_arr[k], DEC); Serial.println(time_to_press); } } }