Loading
Loading
تخلص من دالة delay() واجعل الأردوينو ينفذ أكثر من شيء في نفس الوقت.
ليدين منفصلين.
unsigned long lastBlink = 0;
const int ledPin = 13;
int ledState = LOW;
void setup() { pinMode(ledPin, OUTPUT); }
void loop() {
unsigned long currentMillis = millis();
// يومض كل 500 مللي ثانية بدون إيقاف الـ loop
if (currentMillis - lastBlink >= 500) {
lastBlink = currentMillis;
ledState = !ledState;
digitalWrite(ledPin, ledState);
}
// هنا يمكنك قراءة حساسات أخرى براحة
}استخدام نوع بيانات `int` لحفظ قيمة `millis()`. `millis()` يصل لأرقام ضخمة وسيتجاوز حجم المتغير (Overflow) خلال 32 ثانية فقط إذا كان `int`. يجب استخدام `unsigned long`.