//#define ARRAY
//#define DELAY
#define DIRECT
#ifdef ARRAY
int arrDelay[10] = {1000, 900, 800, 700, 600, 500, 400, 300, 200, 100};
//int arrDelay[10] = {33, 31, 28, 25, 22, 20, 18, 17, 15, 14};
#endif
bool ledOn = false;
int BUTTON = 2;
int LED = 3;
void setup() {
Serial.begin(115200);
pinMode(BUTTON, INPUT_PULLUP); // пин с кнопкой
pinMode(LED, OUTPUT); // пин с диодом
}
void loop() {
if (digitalRead(BUTTON) == 0 && !ledOn) {
digitalWrite(LED, HIGH );
ledOn = true;
#ifdef array
delay(arrDelay[analogRead(A1) / 103]); // [ переводим 0-1023 в 0-9 ]
#else
#ifdef DIRECT
delay(analogRead(A1));
#else
delay(map(analogRead(A1),0,1023,1023,0));
#endif
#endif
digitalWrite(LED, LOW);
#ifdef DELAY
delay(50);
#endif
}
if (digitalRead(BUTTON) && ledOn) {
ledOn = false;
int value = analogRead(A1);
Serial.println(value);
#ifdef DELAY
delay(50);
#endif
}
}