/*
// กำหนดขาของ LED และ Push Switch
const int ledPin1 = 27; // GPIO 14 สำหรับ LED1
const int buttonPin1 = 5; // GPIO 27 สำหรับ Push Switch1
const int ledPin2 = 0; // GPIO 22 สำหรับ LED2
const int buttonPin2 = 22; // GPIO 17 สำหรับ Push Switch2
// ตัวแปรสำหรับเก็บสถานะของ Push Switch1
bool ledState1 = false; // สถานะของ LED1
bool lastButtonState1 = LOW; // สถานะก่อนหน้าของปุ่มกด1
bool ledState2 = false; // สถานะของ LED2
bool lastButtonState2 = LOW; // สถานะก่อนหน้าของปุ่มกด2
// เวลาในการดีบาวซ์
unsigned long lastDebounceTime = 0;
const unsigned long debounceDelay = 50;
void setup() {
// เริ่มต้นการสื่อสาร Serial
Serial.begin(115200);
// กำหนดขา LED เป็นเอาท์พุท
pinMode(ledPin1, OUTPUT);
// กำหนดขาปุ่มกดเป็นอินพุท
pinMode(buttonPin1, INPUT);
// เริ่มต้น LED เป็นปิด
digitalWrite(ledPin1, LOW);
Serial.println("ระบบควบคุม LED1 เริ่มต้นเรียบร้อยแล้ว");
// กำหนดขา LED เป็นเอาท์พุท
pinMode(ledPin2, OUTPUT);
// กำหนดขาปุ่มกดเป็นอินพุท
pinMode(buttonPin2, INPUT);
// เริ่มต้น LED เป็นปิด
digitalWrite(ledPin2, LOW);
Serial.println("ระบบควบคุม LED2 เริ่มต้นเรียบร้อยแล้ว");
}
void loop() {
// อ่านสถานะของปุ่มกด
int reading1 = digitalRead(buttonPin1);
// ตรวจสอบว่ามีการเปลี่ยนแปลงของสถานะปุ่มกดหรือไม่
if (reading1 != lastButtonState1) {
lastDebounceTime = millis();
}
// ถ้าผ่านเวลา debounceDelay แล้ว ให้ตรวจสอบสถานะใหม่
if ((millis() - lastDebounceTime) > debounceDelay) {
// ถ้าสถานะปุ่มกดเปลี่ยนจากก่อนหน้านี้
if (reading1 != ledState1) {
ledState1 = reading1;
// ถ้าปุ่มกดถูกกด (HIGH)
if (ledState1 == HIGH) {
digitalWrite(ledPin1, HIGH); // เปิด LED
Serial.println("LED1 เปิด");
}
// ถ้าปุ่มกดถูกปล่อย (LOW)
else {
digitalWrite(ledPin1, LOW); // ปิด LED
Serial.println("LED1 ปิด");
}
}
}
// อัปเดตสถานะปุ่มกดก่อนหน้า
lastButtonState1 = reading1;
// อ่านสถานะของปุ่มกด
int reading2 = digitalRead(buttonPin2);
// ตรวจสอบว่ามีการเปลี่ยนแปลงของสถานะปุ่มกดหรือไม่
if (reading2 != lastButtonState2) {
lastDebounceTime = millis();
}
// ถ้าผ่านเวลา debounceDelay แล้ว ให้ตรวจสอบสถานะใหม่
if ((millis() - lastDebounceTime) > debounceDelay) {
// ถ้าสถานะปุ่มกดเปลี่ยนจากก่อนหน้านี้
if (reading2 != ledState2) {
ledState2 = reading2;
// ถ้าปุ่มกดถูกกด (HIGH)
if (ledState2 == HIGH) {
digitalWrite(ledPin2, HIGH); // เปิด LED
Serial.println("LED2 เปิด");
}
// ถ้าปุ่มกดถูกปล่อย (LOW)
else {
digitalWrite(ledPin2, LOW); // ปิด LED
Serial.println("LED2 ปิด");
}
}
}
// อัปเดตสถานะปุ่มกดก่อนหน้า
lastButtonState2 = reading2;
}
*/
// กำหนดขาของ LED และ Push Switch
const int ledPin1 = 27;
const int buttonPin1 = 5;
const int ledPin2 = 0;
const int buttonPin2 = 22;
const int ledPin3 = 26;
const int buttonPin3 = 25;
// ตัวแปรสำหรับเก็บสถานะของ Push Switch1
bool ledState1 = false; // สถานะของ LED1
bool lastButtonState1 = LOW; // สถานะก่อนหน้าของปุ่มกด1
bool ledState2 = false; // สถานะของ LED2
bool lastButtonState2 = LOW; // สถานะก่อนหน้าของปุ่มกด2
bool ledState3 = false; // สถานะของ LED2
bool lastButtonState3 = LOW;
// เวลาในการดีบาวซ์
unsigned long lastDebounceTime = 0;
const unsigned long debounceDelay = 50;
void setup() {
// เริ่มต้นการสื่อสาร Serial
Serial.begin(115200);
// กำหนดขา LED เป็นเอาท์พุท
pinMode(ledPin1, OUTPUT);
// กำหนดขาปุ่มกดเป็นอินพุท
pinMode(buttonPin1, INPUT);
// เริ่มต้น LED เป็นปิด
digitalWrite(ledPin1, LOW);
Serial.println("ระบบควบคุม LED1 เริ่มต้นเรียบร้อยแล้ว");
// กำหนดขา LED เป็นเอาท์พุท
pinMode(ledPin2, OUTPUT);
// กำหนดขาปุ่มกดเป็นอินพุท
pinMode(buttonPin2, INPUT);
// เริ่มต้น LED เป็นปิด
digitalWrite(ledPin2, LOW);
Serial.println("ระบบควบคุม LED2 เริ่มต้นเรียบร้อยแล้ว");
// กำหนดขา LED เป็นเอาท์พุท
pinMode(ledPin3, OUTPUT);
// กำหนดขาปุ่มกดเป็นอินพุท
pinMode(buttonPin3, INPUT);
// เริ่มต้น LED เป็นปิด
digitalWrite(ledPin3, LOW);
Serial.println("ระบบควบคุม LED3 เริ่มต้นเรียบร้อยแล้ว");
}
void loop() {
// อ่านสถานะของปุ่มกด
int reading1 = digitalRead(buttonPin1);
// ตรวจสอบว่ามีการเปลี่ยนแปลงของสถานะปุ่มกดหรือไม่
if (reading1 != lastButtonState1) {
lastDebounceTime = millis();
}
// ถ้าผ่านเวลา debounceDelay แล้ว ให้ตรวจสอบสถานะใหม่
if ((millis() - lastDebounceTime) > debounceDelay) {
// ถ้าสถานะปุ่มกดเปลี่ยนจากก่อนหน้านี้
if (reading1 != ledState1) {
ledState1 = reading1;
// ถ้าปุ่มกดถูกกด (HIGH)
if (ledState1 == HIGH) {
digitalWrite(ledPin1, HIGH); // เปิด LED
Serial.println("LED1 เปิด");
}
// ถ้าปุ่มกดถูกปล่อย (LOW)
else {
digitalWrite(ledPin1, LOW); // ปิด LED
Serial.println("LED1 ปิด");
}
}
}
// อัปเดตสถานะปุ่มกดก่อนหน้า
lastButtonState1 = reading1;
// อ่านสถานะของปุ่มกด
int reading2 = digitalRead(buttonPin2);
// ตรวจสอบว่ามีการเปลี่ยนแปลงของสถานะปุ่มกดหรือไม่
if (reading2 != lastButtonState2) {
lastDebounceTime = millis();
}
// ถ้าผ่านเวลา debounceDelay แล้ว ให้ตรวจสอบสถานะใหม่
if ((millis() - lastDebounceTime) > debounceDelay) {
// ถ้าสถานะปุ่มกดเปลี่ยนจากก่อนหน้านี้
if (reading2 != ledState2) {
ledState2 = reading2;
// ถ้าปุ่มกดถูกกด (HIGH)
if (ledState2 == HIGH) {
digitalWrite(ledPin2, HIGH); // เปิด LED
Serial.println("LED2 เปิด");
}
// ถ้าปุ่มกดถูกปล่อย (LOW)
else {
digitalWrite(ledPin2, LOW); // ปิด LED
Serial.println("LED2 ปิด");
}
}
}
// อัปเดตสถานะปุ่มกดก่อนหน้า
lastButtonState2 = reading2;
// อ่านสถานะของปุ่มกด
int reading3 = digitalRead(buttonPin3);
// ตรวจสอบว่ามีการเปลี่ยนแปลงของสถานะปุ่มกดหรือไม่
if (reading3 != lastButtonState3) {
lastDebounceTime = millis();
}
// ถ้าผ่านเวลา debounceDelay แล้ว ให้ตรวจสอบสถานะใหม่
if ((millis() - lastDebounceTime) > debounceDelay) {
// ถ้าสถานะปุ่มกดเปลี่ยนจากก่อนหน้านี้
if (reading3 != ledState3) {
ledState3 = reading3;
// ถ้าปุ่มกดถูกกด (HIGH)
if (ledState3 == HIGH) {
digitalWrite(ledPin3, HIGH); // เปิด LED
Serial.println("LED3 เปิด");
}
// ถ้าปุ่มกดถูกปล่อย (LOW)
else {
digitalWrite(ledPin3, LOW); // ปิด LED
Serial.println("LED3 ปิด");
}
}
}
// อัปเดตสถานะปุ่มกดก่อนหน้า
lastButtonState3 = reading3;
}