الدالة digitalWrite()‎ في أردوينو

من موسوعة حسوب

تكتب الدالة digitalWrite()‎ إمَّا القيمة HIGH أو القيمة LOW على رجل رقمية معيَّنة.

إن هُيِّئَت الرجل على أنَّها خرج (أي OUTPUT) عبر الدالة pinMode()‎، فسيُضبَط جهد تلك الرجل إلى القيمة المقابلة التي هي: 5V (أو 3.3V في اللوحات ذات الجهد 3.3V) للقيمة HIGH، أو 0V (الأرضي) للقيمة LOW.

إن هُيِّئَت الرجل على أنَّها دخل (أي INPUT)، فستُفعِّل (مع HIGH) أو ستعطِّل (مع LOW) الدالة digitalWrite()‎ مقاومة الرفع الداخلية (internal pullup resistor) المرتبطة برجل الدخل تلك. يُنصَح باستعمال القيمة INPUT_PULLUP مع الدالة pinMode()‎ لتفعيل مقاومة الرفع الداخلية مباشرةً. اطلع على «الدرس التعليمي حول الأرجل الرقمية» لمزيدٍ من المعلومات.

إن لم تهيَّأ رجلٌ إلى OUTPUT عبر الدالة pinMode()‎ ووُصِل ضوء ليد معها، فقد يبدو ضوء الليد خافتًا عند استدعاء digitalWrite(HIGH)‎ مع هذه الرجل. دون تهيئة الرجل بصريح العبارة عبر الدالة pinMode()‎، ستفعِّل الدالة digitalWrite()‎ مقاومة الرفع الداخلية التي ستعمل على تنظيم التيار الكبير المار آنذاك.

البنية العامة

digitalWrite(pin, value)

المعاملات

pin

عددٌ يشير إلى الرجل الرقمية المراد كتابة القيمة value عليها.

value

القيمة HIGH أو LOW المراد كتابتها على الرجل pin.

القيم المعادة

لا يعاد أي شيء.

أمثلة

ضبط وضع الرجل 13 الرقمية إلى رجل خرج ثم قلب قيمتها من HIGH إلى LOW وبالعكس كل ثانية واحدة:

void setup()
{
  pinMode(13, OUTPUT);          // ضبط الرجل 13 الرقمية على أنها رجل خرج
}

void loop()
{
  digitalWrite(13, HIGH);       // HIGH ضبط قيمة الرجل 13 الرقمية إلى 
  delay(1000);                  // انتظار مرور ثانية واحدة
  digitalWrite(13, LOW);        // LOW ضبط قيمة الرجل 13 الرقمية إلى
  delay(1000);                  // انتظار مرور ثانية واحدة
}

ملاحظات وتحذيرات

  • يمكن استعمال أرجل الدخل التشابهية على أنَّها أرجل رقمية أيضًا، ويشار إليها آنذاك بالشكل A0، أو A1 ...إلخ.

انظر أيضًا

  • الدالة digitalRead()‎: تقرأ قيمة أحد الأرجل الرقمية التي تكون إمَّا HIGH أو LOW.
  • الدالة pinMode()‎: تهيِّئ رجل معيَّنة لتسلك إمَّا سلوك دخل (input) أو سلوك خرج (output).
  • درس تعليمي يشرح الأرجل الرقمية في لوحة أردوينو.

مصادر