#define Pinsw1 23
#define Pinsw2 22
#define Pinsw3 19
#define Pinsw4 18
#define led1 16
#define led2 4
#define led3 0
int sw1;
int lest_sw1 = HIGH;
int sw2;
int lest_sw2 = HIGH;
int sw3;
int lest_sw3 = HIGH;
int sw4;
int lest_sw4 = HIGH;
bool ledstate1 = LOW;
bool ledstate2 = LOW;
bool ledstate3 = LOW;
unsigned long lastDebounceTime = 0;
unsigned long debounceDelay = 50;
void setup(){
Serial.begin(115200);
pinMode(Pinsw1 , INPUT);
pinMode(Pinsw2 , INPUT);
pinMode(Pinsw3 , INPUT);
pinMode(Pinsw4 , INPUT);
pinMode(led1 , OUTPUT);
pinMode(led2 , OUTPUT);
pinMode(led3, OUTPUT);
}
void loop() {
//---------------------------Pinsw1---------------------
int reading1 = digitalRead(Pinsw1);
if (reading1 != lest_sw1) {
lastDebounceTime = millis();
}
if ((millis() - lastDebounceTime) > debounceDelay) {
if (reading1 != sw1) {
sw1 = reading1;
if (sw1 == LOW) {
if(digitalRead(Pinsw1) == 0){ //ให้เงื่อนไข Pinsw1
ledstate1 = !(ledstate1); //กดแล้ว ไฟLED จะเปิด
}
}
}
}
lest_sw1 = reading1;
//---------------------------Pinsw2---------------------
int reading2 = digitalRead(Pinsw2);
if (reading2 != lest_sw2) {
lastDebounceTime = millis();
}
if ((millis() - lastDebounceTime) > debounceDelay) {
if (reading2 != sw2) {
sw2 = reading2;
if (sw2 == LOW) {
if(digitalRead(Pinsw2) == 0){
ledstate2 = !(ledstate2);
}
}
}
}
lest_sw2 = reading2;
//---------------------------Pinsw3---------------------
int reading3 = digitalRead(Pinsw3);
if (reading3 != lest_sw3) {
lastDebounceTime = millis();
}
if ((millis() - lastDebounceTime) > debounceDelay) {
if (reading3 != sw3) {
sw3 = reading3;
if (sw3 == LOW) {
if(digitalRead(Pinsw3) == 0){
ledstate3 = !(ledstate3);
}
}
}
}
lest_sw3 = reading3;
//---------------------------Pinsw4---------------------
int reading4 = digitalRead(Pinsw4);
if (reading4 != lest_sw4) {
lastDebounceTime = millis();
}
if ((millis() - lastDebounceTime) > debounceDelay) {
if (reading4 != sw4) {
sw4 = reading4;
if (sw4 == LOW) {
if(digitalRead(Pinsw4) == 0){
ledstate1 = !(ledstate1);
ledstate2 = !(ledstate2);
ledstate3 = !(ledstate3);
}
}
}
}
lest_sw4 = reading4;
digitalWrite(led1,ledstate1); //ไฟ LED เปิดตลอด (ตัวแปร ledstate1=LOW จะให้)
digitalWrite(led2,ledstate2);
digitalWrite(led3,ledstate3);
}