#define BUTTON_PIN 2 #define STATUS_LED_PIN 7 const uint8_t debounceDelay = 100; volatile bool robotEnabled = true; void setup() { /* Surunupp */ pinMode(BUTTON_PIN, INPUT); /* Roboti seisundi LED */ pinMode(STATUS_LED_PIN, OUTPUT); /* Konfigureerime katkestuse nupu langevale äärele */ attachInterrupt(digitalPinToInterrupt(BUTTON_PIN), RobotPower, FALLING); } void loop() { digitalWrite(STATUS_LED_PIN, robotEnabled); } void RobotPower(void) { static uint32_t lastDebounceTime = 0; /* stabiliseerimismehhanism, et nupu häiringuid vähendada */ if ((millis() - lastDebounceTime) > debounceDelay) { lastDebounceTime = millis(); robotEnabled = !robotEnabled; } }