const int PUSH_BTN_PIN = 8;
const int LED_GREEN_PIN = 2;
const int LED_RED_PIN = 3;
bool power_switch_status = false;
const int LED_GREEN_INTERVAL = 2000;
const int LED_RED_INTERVAL = 500;
int led_green_last_on_time = 0;
int led_red_last_on_time = 0;
void setup() {
// put your setup code here, to run once:
pinMode(PUSH_BTN_PIN, INPUT);
pinMode(LED_GREEN_PIN, OUTPUT);
pinMode(LED_RED_PIN, OUTPUT);
Serial.begin(9600);
}
void loop() {
// put your main code here, to run repeatedly:
int btnStatus = digitalRead(PUSH_BTN_PIN);
//Serial.println(btnStatus);
delay(20);
if(btnStatus == HIGH){
power_switch_status = ! power_switch_status;
delay(200);
}
digitalWrite(LED_GREEN_PIN, LOW);
digitalWrite(LED_RED_PIN, LOW);
if(power_switch_status == true) {
if(millis() - led_green_last_on_time >= LED_GREEN_INTERVAL){
led_green_last_on_time += LED_GREEN_INTERVAL;
digitalWrite(LED_GREEN_PIN, HIGH);
}
if(millis() - led_red_last_on_time >= LED_RED_INTERVAL){
led_red_last_on_time += LED_RED_INTERVAL;
digitalWrite(LED_RED_PIN, HIGH);
}
}
}