3.9. المفاتيح ومقاومات السحب¶
يقود دخل GPIO العتاد الخارجي. أما دخل GPIO فهو العكس: تقرأ الكاميرا الجهد على دبوس وتبلّغ عنه على أنه 0 أو 1. وأبسط جهاز دخل هو المفتاح -- وجعله قابلًا للقراءة بموثوقية يحتاج قطعة إلكترونية واحدة إضافة إلى المفتاح نفسه.
3.9.1. المفاتيح والمداخل العائمة¶
المفتاح تماس ميكانيكي: قطعتان من المعدن تتلامسان عندما يكون المفتاح مغلقًا وتنفصلان عندما يكون مفتوحًا. وهذا كهربائيًا هو الجهاز بأكمله. ولا يوجد مصدر جهد في داخله؛ فالمفتاح وحده لا يوفر سوى "متصل" أو "غير متصل".
إن توصيل مفتاح مباشرة بين دبوس GPIO والأرضي يعني أن الدبوس:
عند 0 V عندما يكون المفتاح مغلقًا (موصول الآن بالأرضي).
عائم عندما يكون المفتاح مفتوحًا (غير موصول بشيء).
ليس للدبوس العائم جهد محدد. فالدخل يقرأ أي شيء يصادف وجوده بقربه -- تداخل من الإشارات المجاورة، أو ضوضاء من التغذية، بل وحتى شحنة ساكنة على إصبع قريب من السلك. وتُرجع value() خلائط غير متوقعة من 0 و 1 عدة مرات في الثانية.
3.9.2. مقاومات السحب لأعلى والسحب لأسفل¶
الحل هو مقاومة سحب: مقاومة عالية القيمة (10 kΩ إلى 100 kΩ هي النموذجية) تربط الدخل بسكة معروفة عندما يكون المفتاح مفتوحًا.
تهيئتا السحب لأعلى (اليسار) والسحب لأسفل (اليمين) لدخل مفتاح.¶
السحب لأعلى. تربط المقاومة الدخل بسكة التغذية. عندما يكون المفتاح مفتوحًا، يسري تيار صغير فقط عبر المقاومة فيقرأ الدبوس قيمة مرتفعة. وعندما يُغلق المفتاح، يقصر دائرة الدبوس إلى الأرضي؛ فيقرأ الدبوس قيمة منخفضة. وتحدّ المقاومة من التيار الذي كان سيتدفق من التغذية إلى الأرضي عبر المفتاح المغلق.
السحب لأسفل. الصورة المعكوسة: تربط المقاومة الدخل بالأرضي، ويتصل المفتاح بالتغذية. فالمفتوح يقرأ منخفضًا، والمغلق يقرأ مرتفعًا.
السحب لأعلى هو العرف الأكثر شيوعًا -- أزرار "نشطة عند المنخفض". ويوفّر الـ MCU نفسه مقاومات سحب لأعلى ولأسفل مدمجة يمكن تمكينها بـ Pin.PULL_UP أو Pin.PULL_DOWN، فتُزال المقاومة الخارجية تمامًا.