الفرق بين المراجعتين لصفحة: «Arduino/constants»
جميل-بيلوني (نقاش | مساهمات) إضافة محتويات الصفحة. |
جميل-بيلوني (نقاش | مساهمات) طلا ملخص تعديل |
||
سطر 67: | سطر 67: | ||
* [https://www.arduino.cc/reference/en/language/variables/constants/constants/ صفحة constants في توثيق أردوينو الرسمي.] | * [https://www.arduino.cc/reference/en/language/variables/constants/constants/ صفحة constants في توثيق أردوينو الرسمي.] | ||
[[تصنيف: Arduino]] | [[تصنيف: Arduino]] | ||
[[تصنيف: Arduino Constants]] | [[تصنيف: Arduino Constants & Variables]] |
المراجعة الحالية بتاريخ 13:59، 1 نوفمبر 2018
الثوابت هي تعابير معرَّفة مسبقًا في لغة أردوينو. تُستعمَل لتسهيل عمل المبرمجين أثناء كتابتهم للشيفرة، بالإضافة إلى جعل الشيفرة أكثر قابلية للقراءة. تُصنَّف الثوابت في مجموعات بحسب وظيفتها.
تعريف المستويات المنطقية (الثوابت المنطقية)
يوجد ثابتان يستعملان لتمثيل الحقيقة (truth) والزيف (falsity) في لغة أردوينو هما: true
، و false
.
الثابت false
تمثِّل القيمة false
المنطقية قيمة خطأ، وتعرَّف على أنَّها صفر (0) من الناحية العددية.
الثابت true
تمثِّل القيمة true
المنطقية قيمة صحيحة وتُعرَّف على أنَّها واحدٌ (1) من الناحية العددية. حقيقةً، تمثِّل القيمة true
مجالًا أوسع من القيم العددية لا يقتصر على العدد 1 فقط، إذ يشار إلى أي قيمة غير صفرية على أنَّها القيمة true
من الناحية المنطقية. بناءً على ذلك، تشير القيم 1-، و 2، و 200- جميعها إلى القيمة true
منطقيًّا.
انتبه إلى أنَّ الثابتين true
و false
مكتوبان بأحرف صغيرة خلافًا لثوبات أخرى مثل HIGH
، و LOW
، و INPUT
...إلخ.
تعريف حالة الأرجل (مستوى الجهد)
عند قراءة قيمة الأرجل الرقمية أو الكتابة عليها، نجد أنَّنا نتعامل مع قيمتين لا ثالث لهما؛ يمكن أن تأخذ إحدى الأرجل الرقمية أو تُضبط إلى القيمة HIGH
أو LOW
.
الثابت HIGH
معنى القيمة HIGH
الثابتة، عند التعامل مع أرجل لوحة أردوينو، يختلف باختلاف وضع الرجل؛ أي إن كانت الرجل رجلَ دخلٍ (INPUT
) أو رجلَ خرجٍ (OUTPUT
). فإن ضُبِطت الرجل إلى رجل دخل بتمرير القيمة INPUT
إلى الدالة pinMode()
وقُرِئَت باستعمال الدالة digitalRead()
، فستبِّلغ اللوحة (المتحكم ATmega) عن القيمة HIGH
إذا كان:
- الجهد المطبَّق على الرجل أكبر من 3.0V في اللوحات ذات الجهد 5V، أو
- الجهد المطبَّق على الرجل أكبر من 2.0V في اللوحات ذات الجهد 3.3V.
يمكن أيضًا ضبط الرجل إلى رجل دخل بتمرير الثابت INPUT
إلى الدالة pinMode()
ثم كتابة القيمة HIGH
عليها باستعمال الدالة digitalWrite()
، إذ سيؤدي ذلك إلى تفعيل مقاومة الرفع الداخلية المتصلة بتلك الرجل. تفعيل هذه المقاومة سيرفع جهد الرجل إلى المستوى HIGH
إلا إذا خُفِّض إلى المستوى LOW
بوصلها مع دارة خارجية. هذا مماثل تمامًا لما يفعله الثابت INPUT_PULLUP
عند تمريره إلى الدالة pinMode()
الذي سنتطرق إلى ذكره لاحقًا.
عندما يُضبَط وضع الرجل إلى رجل خرج بتمرير الثابت OUTPUT
إلى الدالة pinMode()
، ثمَّ كتابة القيمة HIGH
عليها باستعمال الدالة digitalWrite()
، فسيكون جهد تلك الرجل:
- 5 فولط في اللوحات ذات الجهد 5V، أو
- 3.3 فولط في اللوحات ذات الجهد 3.3V.
عندما تكون الرجل في هذه الحالة، يمكن آنذاك استجرار تيارٍ منها لإضاءة ضوء ليد مثلًا بوصل أحد أقطابه بها ووصل القطب الآخر مع مقاومة على التسلسل بالقطب الأرضي.
الثابت LOW
يختلف أيضًا معنى القيمة LOW
الثابتة باختلاف وضع الرجل؛ أي إن كانت رجل دخلٍ أو رجل خرج. فإن ضُبِطت الرجل إلى رجل دخل بتمرير القيمة INPUT
إلى الدالة pinMode()
وقُرِئَت باستعمال الدالة digitalRead()
، فستبِّلغ اللوحة (المتحكم ATmega) عن القيمة LOW
إذا كان:
- الجهد المطبَّق على الرجل أصغر من 1.5V في اللوحات ذات الجهد 5V، أو
- الجهد المطبَّق على الرجل أصغر من 1.0V تقريبًا في اللوحات ذات الجهد 3.3V.
عندما يُضبَط وضع الرجل إلى رجل خرج بتمرير الثابت OUTPUT
إلى الدالة pinMode()
، ثمَّ كتابة القيمة LOW
عليها باستعمال الدالة digitalWrite()
، فسيكون جهد تلك الرجل هو 0 فولط (في اللوحات 5V و 3.3V كلاهما). عندما تكون الرجل في هذه الحالة، يمكن تصريف تيارٍ فيها مثل وصل أحد أقطاب ضوء ليد بها ووصل القطب الآخر مع مقاومة على التسلسل بقطبٍ جهده 5V+ (أو 3.3V+) لإضاءته.
تعريف وضع الأرجل (دخل أو خرج)
يمكن استعمال الأرجل الرقمية كأرجل دخل أو أرجل خرج عبر استعمال أحد الثوابت INPUT
، أو INPUT_PULLUP
، أو OUTPUT
مع الدالة pinMode()
. عند تهيئة الرجل بهذا الشكل، يُغيَّر سلوكها الكهربائي بشكل كامل داخليًّا.
الثابت INPUT
يقال أنَّ أرجل لوحة أردوينو (أرجل المتحكم) المضبوطة كأرجل دخل عبر استعمال الثابت INPUT
مع الدالة pinMode()
تكون في حالة مقاومة عالية (high-impedance state). تجعل الأرجل المضبوطة إلى أرجل دخل (INPUT
) الأعباء الملقاة على الدارة التي تفحصها صغيرةً جدًا؛ أي ما يعادل وجود مقاومة على التسلسل قيمتها 100 ميغا أوم أمام الرجل. هذا يجعل الأرجل مفيدة جدًا في قراءة قيم الحساسات.
إن ضبطت إحدى الأرجل كرجل دخل واستُعملَت لقراءة قاطعة (switch)، فستكون حالة الرجل «عائمة» (floating) عندما تكون القاطعة مفتوحة؛ سيؤدي هذا إلى إعطاء نتائج غير متوقعة. للتأكد من قراءة حالة الرجل بشكل صحيح عندما تكون القاطعة مفتوحة، يجب استعمال مقاومة رفع (pull-up) أو مقاومة خفض (pull-down) خارجية مع هذه الرجل. الهدف من وصل المقاومة بهذه الرجل هو ضبط جهدها إلى حالة معروفة عندما تكون القاطعة مفتوحة. يُستعمَل عادةً مقاومة بقيمة 10 كيلو أوم، إذ هذه القيمة صغيرة بما فيه الكفاية لمنع انتقال رجل الدخل إلى الحالة العائمة، وكبيرة بما فيها الكفاية في الوقت نفسه لعدم سحب كمية كبيرة من التيار عند إغلاق القاطعة. اطلع على هذا الدرس التعليمي لمزيد من المعلومات.
إن استُعملَت مقاومة خفض خارجية (pull-down resistor)، فسيكون جهد رجل الدخل منخفضًا (LOW
) عندما تُفتَح القاطعة، ومرتفعًا (HIGH
) عندما تُغلَق القاطعة.
إن استُعملَت مقاومة رفع خارجية (pull-up resistor)، فسيكون جهد رجل الدخل مرتفعًا (HIGH
) عندما تُفتَح القاطعة، ومنخفضًا (LOW
) عندما تُغلَق القاطعة.
الثابت INPUT_PULLUP
يملك المتحكم ATmega في لوحة أردوينو مقاومة رفع داخلية متصلة بكل رجل من أرجل الدخل والخرج يمكن التحكم بها. إن كنت تفضل استعمال هذه المقاومة عوضًا عن إضافة مقاومة رفع خارجية، فيمكنك فعل ذلك بتمرير الثابت INPUT_PULLUP
إلى الدالة pinMode()
عند تهيئة الرجل. اطلع على هذا الدرس التعليمي الذي يحوي مثالًا عمليًّا عمَّا ذكرناه.
تحذير: يمكن للأرجل المضبوطة كأرجل دخل باستعمال الثابت INPUT
أو الثابت INPUT_PULLUP
أن تَتلَف أو تَتخرَّب إن وُصِلَت مع جهود أقل من الجهد الأرضي (جهود سالبة)، أو أكبر من الجهد الموجب (5V أو 3.3V).
الثابت OUTPUT
يقال أنَّ أرجل لوحة أردوينو (أرجل المتحكم) المضبوطة كأرجل خرج عبر استعمال الثابت OUTPUT
مع الدالة pinMode()
تكون في حالة مقاومة عالية (high-impedance state). هذا يعني أنَّها يمكن أن توفِّر كمية كافية من التيار للأجهزة والدارات الأخرى المتصلة بها. تستطيع أي رجل من أرجل المتحكم ATmega أن تعطي الأجهزة والدارات الأخرى أو تُصرِّف منها تيارًا يصل إلى 40 ميلي أمبير. تجاوز هذه القيمة من التيار يؤدي إلى إتلاف المتحكم، لذا يجب استعمال مقاومات أو أي عنصر إلكتروني مشابه لتحديد التيار عند وصل قطع إلكترونية تتطلب كميات كبيرة من التيار مثل المحركات.
تحذير: يمكن للأرجل المضبوطة كأرجل خرج باستعمال الثابت OUTPUT
أن تتلف أو تتخرب إن وصلت مع الجهد الأرضي أو الجهد الموجب لمصدر التيار المستعمل بشكل مباشر.
تعريف العناصر المدمجة باللوحة
الثابت LED_BUILTIN
تملك أغلب لوحات أردوينو ضوء ليد مدمج مع اللوحة ومتصل بإحدى أرجلها مع مقاومة على التسلسل. يمثِّل الثابت LED_BUILTIN
رقم الرجل المتصلة بهذا الضوء المدمج باللوحة. تكون هذه الرجل هي الرجل 13 في أغلب لوحات أردوينو التي تملك ضوءًا مدمجًا عليها.