#define FanPin 5
#define SwFanPin 12
int BTFan;
int BTFanState;
int LastBTFanState = LOW;
bool FanState = LOW;
unsigned long LastDebounceTimeBTFan = 0;
unsigned long DebounceDelay = 50;
void setup(){
pinMode(FanPin, OUTPUT);
digitalWrite(FanPin, HIGH);
pinMode(SwFanPin, INPUT_PULLUP);
}
void loop(){
BTFan = digitalRead(SwFanPin);
if(BTFan != LastBTFanState) {
LastDebounceTimeBTFan = millis();
}
if((millis() - LastDebounceTimeBTFan) > DebounceDelay){
if(BTFan != BTFanState) {
BTFanState = BTFan;
if(BTFanState == LOW) {
FanState = !FanState;
}
}
}
if(FanState==0){
digitalWrite(FanPin, LOW);
}
else{
digitalWrite(FanPin, HIGH);
}
LastBTFanState = BTFan;
}