با سلام
شما باید حین کد نویسی یه flag تعریف کنی تا به جواب برسی.
کد زیر رو نگا کن

کد:
int flag = 0; void setup() { pinMode(13, OUTPUT); pinMode(12, OUTPUT); Serial.begin(9600); } void loop() { int c = Serial.parseInt(); if (c == 4 && flag == 0) { digitalWrite(13, HIGH); delay(150); flag = 1; if (c == 4 && flag == 1) digitalWrite(13, LOW); } if (c == 5) { flag = 0; digitalWrite(12, HIGH); delay(500); digitalWrite(12, LOW); } }
تو کد بالا وقتی شرط 4 شد ابتدا پین 13 روشن میشه و بعد 150 میلی ثانیه خاموش میشه و مادامیکه شرط همون 4 باشه پین 13 خاموش باقی میمونه. حال فرض کن ورودی برابر 5 بشه. پس دستورات داخل if مربوطه اجرا میشن. حال اگه دوباره شرط 4 بشه باز پین 13 روشن میشه و بعد 150 میلی ثانیه خاموش میشه و مادامی که شرط همون 4 باشه پین خاموش باقی میمونه.