int led1 = 13;
int led2 = 12;
int led3 = 10;
int sw1 = 2;
int sw2 = 3;
bool sw_state=0,last_sw_state,buttonstate=1,change=0;
bool state=0;
unsigned long time1;
bool sw_state2=0,last_sw_state2,buttonstate2=1,change2=0;
bool state2=0;
unsigned long time2;
int debounceDelay=40;
bool LED1State=0;
unsigned long delayTime1;
unsigned long delayA0;
void setup()
{
pinMode(led1,OUTPUT);
pinMode(led2,OUTPUT);
pinMode(led3,OUTPUT);
pinMode(6,OUTPUT);
pinMode(sw1,INPUT_PULLUP);
pinMode(sw2,INPUT_PULLUP);
Serial.begin(115200);
}
void loop()
{
checkSW1();
if(state==0){ digitalWrite(led2,LOW);}
else{ digitalWrite(led2,HIGH);}
checkSW2();
if(state2==0){ digitalWrite(led3,LOW);}
else{ digitalWrite(led3,HIGH);}
if ((millis() - delayTime1) > 1000)
{
LED1State=!LED1State;
digitalWrite(led1, LED1State);
delayTime1=millis();
}
if ((millis() - delayA0) > 800)
{
int sensorValue = analogRead(A0);
int PWM = map(sensorValue,0,1023,0,255);
analogWrite(6,PWM);
Serial.print("sensorValue:");
Serial.print(sensorValue);
Serial.print(" PWM:");
Serial.println(PWM);
delayA0=millis();
}
}
void checkSW1()
{
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;
}
void checkSW2()
{
sw_state2=digitalRead(sw2);
if(sw_state!= last_sw_state)
{
time1=millis();
}
if((millis()-time1)>debounceDelay)
{
if(buttonstate!=sw_state2)
{
buttonstate=sw_state2;
change=1;
}
}
if((buttonstate==0)&&(change==1))
{
state2=!state;
change=0;
}
if((buttonstate==1)&&(change==1))
{
change=0;
}
last_sw_state=sw_state;
}