byte button_pin = 2;
byte button_led_pin = 3;
byte blink_led_pin = 4;
byte button_state;
byte blink_led_state;
uint16_t button_timer = 80;
uint16_t blink_timer = 500;
uint32_t button_prev_time = 0;
uint32_t blink_prev_time = 0;
uint32_t time_now;
void setup() {
pinMode(button_pin, INPUT_PULLUP);
pinMode(button_led_pin, OUTPUT);
pinMode(blink_led_pin, OUTPUT);
blink_led_state = digitalRead(blink_led_pin);
}
void loop() {
time_now = millis();
if (time_now - button_prev_time >= button_timer) {
button_state = digitalRead(button_pin) == LOW;
digitalWrite(button_led_pin, button_state ? HIGH : LOW);
button_prev_time += button_timer;
}
if (time_now - blink_prev_time >= blink_timer) {
blink_led_state = digitalRead(blink_led_pin) == HIGH;
digitalWrite(blink_led_pin, blink_led_state ? LOW : HIGH);
blink_prev_time += blink_timer;
}
}