3.6. أساسيات الإلكترونيات¶
يتطلب تشغيل أي شيء خارجي من دبوس GPIO وجود دائرة على الجانب الآخر من الدبوس. وهناك ثلاثة مفاهيم من أساسيات الإلكترونيات -- الجهد والتيار والعلاقة بينهما من خلال المقاومة -- تظهر في كل دائرة من هذا النوع.
3.6.1. الجهد والتيار والمقاومة¶
الجهد (بالفولت، V) هو فرق الكمون بين نقطتين في الدائرة. قد تكون قضيب التغذية للرقاقة عند 3.3 V نسبةً إلى الأرضي؛ ودبوس GPIO المدفوع إلى الحالة المرتفعة يكون عند نفس الجهد 3.3 V.
التيار (بالأمبير، A، أو بالميلي أمبير، mA) هو تدفق الشحنة عبر السلك. يعود التيار دائمًا إلى حيث جاء منه، لذا فلكي يتدفق أي تيار يجب أن تشكل الدائرة حلقة كاملة من التغذية وصولًا إلى الأرضي.
المقاومة (بالأوم، Ω) هي مقدار ما يقاومه المسار من ذلك التدفق. والغرض من المقاومة هو ضبط التيار إلى قيمة معلومة عند جهد معلوم.
يربط قانون أوم بينها جميعًا:
قانون أوم بصيغه الثلاث.¶
بالكلمات: الجهد عبر المقاومة يساوي التيار المار خلالها مضروبًا في المقاومة. ومعرفة أيٍّ اثنين من الثلاثة تعطيك الثالث بالجبر.
3.6.2. الثنائيات (الدايودات)¶
الثنائي (الدايود) مكوِّن ذو طرفين يوصِّل التيار في اتجاه واحد (من المصعد إلى المهبط) ويمنعه في الاتجاه الآخر.
يوصِّل الثنائي التيار من المصعد إلى المهبط فقط. وأما LED فهو ثنائي يبعث ضوءًا أثناء التوصيل.¶
للثنائي أيضًا جهد أمامي (Vf) -- وهو هبوط الجهد عبره عندما يتدفق التيار في اتجاه التوصيل. وبمجرد أن يبلغ الجهد المطبَّق قيمة Vf يتصرف الثنائي تقريبًا كالسلك؛ وأما دونها فلا يتدفق تيار يُذكر.
3.6.3. مصابيح LED¶
الثنائي الباعث للضوء (LED) هو ثنائي يحوِّل تيار توصيله إلى ضوء مرئي أو تحت أحمر. وتتناسب السطوع مع التيار؛ أما اللون فتحدده كيمياء LED، لا الدفع.
الجهود الأمامية النموذجية لمصابيح LED:
الأحمر: 1.8 -- 2.2 V
الأخضر أو الأصفر: 2.0 -- 2.4 V
الأزرق أو الأبيض: 2.8 -- 3.4 V
تيار التشغيل المفيد لمصباح LED مؤشِّر هو 5 -- 20 mA. والتيارات الأعلى أسطع لكنها تقصِّر عمر LED وقد تتجاوز حد الدفع لدبوس GPIO.
3.6.4. المقاومة المحدِّدة للتيار¶
إن توصيل مصباح LED مباشرةً بين دبوس GPIO والأرضي سيسمح بتدفق تيار غير محدود تقريبًا: فبمجرد بلوغ الجهد الأمامي يبدو LED كدائرة شبه قصيرة. وتضبط مقاومة على التوالي بين الدبوس وLED التيار إلى قيمة آمنة.
تضبط المقاومة على التوالي تيار LED.¶
ينقسم جهد التغذية بين المقاومة وLED: يُسقِط LED جهده الأمامي، وتُسقِط المقاومة الباقي. وبقانون أوم:
R = (Vsupply - Vf) / If
لمصباح LED أحمر (Vf ≈ 2.0 V) مدفوع من دبوس GPIO بجهد 3.3 V عند 10 mA:
R = (3.3 - 2.0) / 0.010 = 130 Ω
عمليًا، اختر أقرب قيمة قياسية أكبر (150 Ω أو 220 Ω). والنتيجة مصباح LED أقل سطوعًا قليلًا مع هامش أمان أصح. واعتمد قيمة من 200 -- 470 Ω كقيمة افتراضية معقولة عندما لا يهم السطوع بدقة.
3.6.5. لماذا يهم كل جزء¶
ينبثق شكل كل دائرة خرج GPIO من الأفكار الأربع أعلاه:
الجهد يحدد الطاقة المتاحة عند الدبوس. فدبوس GPIO بجهد 3.3 V لديه 3.3 V لإنفاقها عبر أي شيء يوصَّل بينه وبين الأرضي.
الثنائي (وهو في هذه الحالة LED) يستهلك جزءًا من ذلك الجهد كهبوط أمامي له ويرفض التوصيل في الاتجاه الخاطئ -- فهو يحدد الاتجاه والحصة الثابتة.
المقاومة المحدِّدة للتيار تستهلك الجهد المتبقي وتحوِّل الميزانية الفائضة إلى تيار مضبوط. وبدونها سيسحب LED أي تيار يستطيع الدبوس توفيره -- وهو عادةً ما يكفي لإتلاف أحدهما أو كليهما.
قانون أوم هو ما يجعل قيمة المقاومة قابلة للحساب: فعند معرفة الجهد المتبقي والتيار المطلوب، تخرج
Rبالجبر.
إن الجهد والتيار والمقاومة والثنائيات ومعادلة واحدة معاد ترتيبها تكفي لتصميم كل مرحلة خرج GPIO أساسية.
ظلت نفس الأجزاء مختبئة خلف مصباح LED المدمج على اللوحة طوال الوقت. فالاستدعاء machine.LED("LED_RED").on() يضيء LED لأن لوحة الكاميرا توفر مسبقًا كل ما يحيط به -- المقاومة المحدِّدة للتيار، والسلك إلى الأرضي، وLED نفسه -- ولا يفعل الصنف سوى تبديل GPIO في السيليكون خلفها. والقول إن "سطر واحد يضيء مصباح LED" صحيح؛ غير أنه طريقة مختصرة لقول "شغِّل تلك الدائرة". وإذا أزلت التجريد، فإن ما يبقى هو تمامًا الدائرة أعلاه.
الصنف machine.Pin هو نفس السيليكون مكشوفًا دون الأجزاء المحيطة. فالبرنامج النصي يتحكم في جهد الدبوس مباشرةً؛ وأنت توفر المقاومة (مقاسة بقانون أوم)، وLED، ومسار العودة إلى الأرضي. وتعود الأفكار الأربع نفسها، بتركيبات مختلفة قليلًا، خلف إزالة ارتداد المفاتيح، وترشيح PWM، وتشغيل المحركات.