int led1 = 13;
int led2 = 12;
int led3 = 8;
int led4 = 9;
int led5 = 7;
int sw1 = 2;
bool sw_state=0,last_sw_state,buttonstate=1,change=0;
bool state=0;
unsigned long time1;
int debounceDelay=40;
bool LED1State=0;
unsigned long delayTime1;
unsigned long delayA0;
void setup()
{
pinMode(led1,OUTPUT);
pinMode(led2,OUTPUT);
pinMode(led3,OUTPUT);
pinMode(led4,OUTPUT);
pinMode(led5,OUTPUT);
pinMode(sw1,INPUT_PULLUP);
Serial.begin(115200);
}
void loop()
{
checkSW();
if(state==0)
{
digitalWrite(led1,HIGH);
digitalWrite(led2,HIGH);
digitalWrite(led3,HIGH);
digitalWrite(led4,HIGH);
digitalWrite(led5,HIGH);
}
else
{
digitalWrite(led1,LOW);
digitalWrite(led2,LOW);
digitalWrite(led3,LOW);
digitalWrite(led4,LOW);
digitalWrite(led5,LOW);
}
if ((millis() - delayTime1) > 10000)
{
LED1State=!LED1State;
digitalWrite(led1, LED1State);
delayTime1=millis();
LED1State=!LED1State;
digitalWrite(led2, LED1State);
delayTime1=millis();
LED1State=!LED1State;
digitalWrite(led3, LED1State);
delayTime1=millis();
LED1State=!LED1State;
digitalWrite(led4, LED1State);
delayTime1=millis();
}
if ((millis() - delayA0) > 10000)
{
int sensorValue = analogRead(A0);
float volt = sensorValue*5.0/1024;
Serial.print("ADC:");
Serial.print(sensorValue);
Serial.print(" volt:");
Serial.println(volt);
delayA0=millis();
}
}
void checkSW()
{
sw_state=digitalRead(sw1);
if(sw_state!= last_sw_state)
{
time1=millis();
}
if((millis()-time1)>debounceDelay)
{
if(buttonstate!=sw_state)
{
buttonstate=sw_state;
change=1;
}
}
if((buttonstate==0)&&(change==1))
{
state=!state;
change=0;
}
if((buttonstate==1)&&(change==1))
{
change=0;
}
last_sw_state=sw_state;
}