3.5. صنف LED¶
أبسط قطعة عتاد على الكاميرا هي مصابيح LED المدمجة على لوحتها. تحتوي معظم اللوحات على مصباح LED بألوان RGB (أحمر، أخضر، أزرق). والصنف machine.LED هو الصنف المخصص للتحكم بها؛ دون رقم دبوس، ودون مقاومة، ودون دائرة -- فالبحث، وتحديد التيار، والتوصيل، تتولاها الكاميرا نفسها.
import time
from machine import LED
red = LED("LED_RED")
red.on()
time.sleep(5)
red.off()
هذا برنامج عتاد كامل بمثابة "hello world": استورد الصنف، وأنشئ نسخة باسم اللون، وشغِّله، وانتظر، ثم أطفئه. ويكون LED مضاءً بوضوح أثناء فترة السكون الممتدة خمس ثوانٍ.
الاستدعاء الختامي red.off() متناظر مع الاستدعاء الافتتاحي red.on() ويجعل التنظيف صريحًا. كما تُعاد مصابيح LED المدمجة إلى حالتها تلقائيًا عند خروج البرنامج النصي. ومع تنامي البرامج النصية يصبح الاعتماد على التنظيف عند الخروج هشًّا؛ وجعل كل .on() مقترنًا بـ .off() صريح هو العادة التي تبقي البرامج النصية الطويلة قابلة للتنبؤ.
3.5.1. المُنشئ والطرائق¶
يأخذ المُنشئ إحدى القيم "LED_RED" أو "LED_GREEN" أو "LED_BLUE". وتكشف كل نسخة أربع طرائق:
on()-- تشغيله.off()-- إطفاؤه.toggle()-- قلب الحالة الراهنة.value()-- دون وسائط، يعيد الحالة الراهنة (0أو1)؛ وبوسيط واحد، يضبطها.
مصباح وامض، باستخدام نمط الحلقة الرئيسية:
import time
from machine import LED
led = LED("LED_RED")
while True:
led.toggle()
time.sleep_ms(500)
استعمل مصابيح LED المدمجة لأغراض المؤشرات والحالة: نبضة قلب تومض كل ثانية، ووميض أحمر عند الخطأ، ونبضة خضراء عندما تكون قراءة المستشعر ضمن النطاق.