int pin = 2; // پین متصل به دکمه
int led = 4; // پین متصل به LED
int value = 0; // مقدار خواندهشده از دکمه
bool ledState = false; // وضعیت LED (خاموش یا روشن)
bool buttonState = false; // وضعیت فعلی دکمه
bool lastButtonState = false; // وضعیت قبلی دکمه
void setup() {
pinMode(pin, INPUT); // تنظیم پین دکمه به عنوان ورودی
pinMode(led, OUTPUT); // تنظیم پین LED به عنوان خروجی
Serial.begin(9600);
}
void loop() {
// خواندن وضعیت فعلی دکمه
value = digitalRead(pin);
// بررسی تغییر وضعیت دکمه (فشرده شدن یا رها شدن)
if (value == HIGH && lastButtonState == LOW) {
buttonState = !buttonState; // تغییر وضعیت دکمه به حالت جدید
// اگر دکمه تازه فشرده شده باشد
if (buttonState) {
ledState = !ledState; // تغییر وضعیت LED
digitalWrite(led, ledState ? HIGH : LOW); // روشن یا خاموش کردن LED
}
// چاپ وضعیت فعلی LED
Serial.print("LED State: ");
Serial.println(ledState ? "ON" : "OFF");
}
// بهروزرسانی وضعیت قبلی دکمه
lastButtonState = value;
// تاخیر
delay(200);
}