طريقتان لإضافة زر إلى مشروع Raspberry Pi الخاص بك

طريقتان لإضافة زر إلى مشروع Raspberry Pi الخاص بك

إن تعلم استخدام دبابيس GPIO على Raspberry Pi الخاص بك يفتح لك عالمًا كاملاً من الاحتمالات. تمهد المبادئ الأساسية التي تم تعلمها من خلال مشاريع المبتدئين الطريق نحو المعرفة المفيدة لكل من إلكترونيات DIY والبرمجة.





سيوضح لك هذا البرنامج التعليمي طريقتين لإضافة زر إلى مشروع Raspberry Pi الخاص بك. سيتم استخدام الزر للتحكم في مؤشر LED. التعليمات المكتوبة متوفرة أسفل الفيديو.





سوف تحتاج

للبدء ، تأكد من أن لديك المكونات التالية:





  • 1 × Raspberry Pi (أي إرادة ، يتم استخدام الطراز 3B في هذا البرنامج التعليمي)
  • 1 × زر ضغط
  • 1 × ليد
  • 1 × 220 أوم المقاوم (القيم الأعلى جيدة ، سيصبح مؤشر LED الخاص بك باهتًا)
  • 1 × اللوح
  • ربط الأسلاك

بمجرد تجميعها ، يجب أن يكون لديك مكونات تشبه ما يلي:

ستحتاج أيضًا إلى بطاقة SD مثبت عليها نظام التشغيل Raspbian. أسرع طريقة للقيام بذلك هي باستخدام صورة NOOBS (برنامج جديد خارج الصندوق). تعليمات حول كيفية القيام بذلك متوفرة في هذا الفيديو:



انشاء الدائرة

ستستخدم دبابيس GPIO في Pi لإنشاء الدائرة ، وإذا لم تكن على دراية بها دليل لدبابيس Raspberry Pi GPIO سوف يساعد. الدائرة هنا هي نفسها تقريبًا كما في السابق مشروع Raspberry Pi LED ، مع إضافة الزر الذي ستستخدمه اليوم.

قم بإعداد دائرتك وفقًا لهذا الرسم التخطيطي:





  • ال 5 فولت و GND تتصل المسامير بقضبان الطاقة الخاصة باللوح.
  • دبوس 12 (GPIO 18) يتصل بالساق الإيجابية من الصمام.
  • ساق واحدة من المقاوم تعلق على الساق السلبية من LED ، والساق الأخرى متصلة بالسكة الأرضية للوح.
  • دبوس 16 (GPIO 23) يعلق على جانب واحد من الزر ، والجانب الآخر يعلق على السكة الأرضية للوح.

بمجرد إعداده ، إليك الشكل الذي يجب أن يبدو عليه:

تحقق من دائرتك للتأكد من صحتها ، ثم قم بتشغيل Raspberry Pi الخاص بك.





الطريقة الأولى: مكتبة RPi.GPIO

بمجرد تمهيد Pi ، توجه إلى القائمة وحدد برمجة> Thonny Python IDE . سيتم فتح نص بايثون جديد. إذا كنت جديدًا تمامًا على Python ، فهي لغة رائعة للمبتدئين وهناك العديد من الأماكن الرائعة لمعرفة المزيد عن Python بعد الانتهاء من هذا البرنامج التعليمي!

ابدأ باستيراد مكتبة RPi.GPIO ، وضبط وضع اللوحة.

import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BOARD)

أعلن الآن عن متغيرات LED وأرقام دبوس الزر.

ledPin = 12
buttonPin = 16

لاحظ أنه نظرًا لأن لدينا وضع اللوحة مضبوطًا على مجلس نحن نستخدم أرقام التعريف الشخصي بدلاً من أرقام GPIO. إذا كان هذا محيرًا لك ، فيمكن أن يساعدك مخطط Raspberry Pi pinout في توضيحه.

إعداد الزر

حان الوقت لإعداد دبابيس GPIO. اضبط دبوس LED للإخراج ، ودبوس الزر للإدخال بمقاوم سحب

GPIO.setup(ledPin, GPIO.OUT)
GPIO.setup(buttonPin, GPIO.IN, pull_up_down=GPIO.PUD_UP)

يشير النص بعد GPIO.IN إلى ملف مقاوم سحب داخلي من Raspberry Pi. تحتاج إلى تمكين هذا للحصول على قراءة نظيفة من الزر. نظرًا لأن الزر ينتقل إلى الدبوس الأرضي ، فنحن بحاجة إلى مقاومة سحب لإبقاء دبوس الإدخال عاليًا حتى تضغط عليه.

قبل أن نمضي قدمًا ، لنلقِ نظرة على مقاومات السحب لأعلى والمقاومات المنسدلة.

الاستراحة: سحب / سحب المقاومات

عند تكوين دبوس GPIO للإدخال ، فإنه يقرأ هذا الدبوس لتحديد حالته. في هذه الدائرة ، تحتاج إلى قراءة ما إذا كان الدبوس أم لا عالي أو قليل لتشغيل مؤشر LED عند الضغط على الزر. سيكون هذا بسيطًا إذا كانت تلك هي الحالات الوحيدة التي يمكن أن يمتلكها الدبوس ، ولكن لسوء الحظ ، هناك حالة ثالثة: يطفو على السطح .

الدبوس العائم له قيمة بين العالي والمنخفض ، مما يجعل الإدخال يعمل بشكل غير متوقع. المقاومات المنسدلة / المنسدلة تحل هذا.

الصورة أعلاه عبارة عن رسم تخطيطي مبسط لزر و Raspberry Pi. يتصل دبوس GPIO بالأرض من خلال الزر. يقوم مقاوم السحب الداخلي بتوصيل دبوس GPIO بمصدر طاقة Pi الداخلي. يتدفق هذا التيار ويتم سحب الدبوس بأمان إلى المستوى العالي.

عندما تضغط على الزر ، يتصل دبوس GPIO مباشرة بالدبوس الأرضي ، ويقرأ الزر منخفضًا.

المقاومات المنسدلة مخصصة عندما يكون المفتاح متصلاً بدبوس الطاقة. هذه المرة ، يقوم المقاوم الداخلي بتوصيل دبوس GPIO بالأرض ، مع الاستمرار في الضغط المنخفض حتى تضغط على الزر.

تعتبر نظرية المقاومة المنسدلة والسحب لأعلى مربكة للوهلة الأولى ، ولكنها معرفة مهمة يجب امتلاكها عند العمل مع وحدات التحكم الدقيقة. في الوقت الحالي ، إذا لم تفهمها تمامًا ، فلا تقلق!

دعنا نكمل من حيث توقفنا.

حلقة البرنامج

بعد ذلك ، قم بإعداد حلقة البرنامج:

while True:
buttonState = GPIO.input(buttonPin)
if buttonState == False:
GPIO.output(ledPin, GPIO.HIGH)
else:
GPIO.output(ledPin, GPIO.LOW)

ال احيانا صحيح loop تعمل باستمرار على تشغيل الكود بداخلها حتى ننهي البرنامج. في كل مرة يتم فيها إجراء حلقات ، يتم تحديث ملف زر الدولة من خلال قراءة المدخلات من زر . أثناء عدم الضغط على الزر ، يبقى عالي .

بمجرد الضغط على الزر ، زر الدولة يصبح قليل . يؤدي هذا إلى تشغيل ملف إذا البيان ، حيث خاطئة بالضبط مثل قليل ، ويضيء المصباح. ال آخر يقوم البيان بإيقاف تشغيل مؤشر LED عندما لا يكون buttonPin خطأ.

احفظ البرنامج النصي وقم بتشغيله

احفظ البرنامج النصي الخاص بك عن طريق النقر ملف> حفظ باسم واختيار اسم الملف. يمكنك تشغيل الرسم بالنقر فوق اللون الأخضر يلعب زر في شريط أدوات Thonny.

الآن اضغط على الزر ، ويجب أن يضيء مؤشر LED الخاص بك! اضغط على اللون الأحمر قف زر في أي وقت لإيقاف البرنامج

إذا كنت تواجه صعوبات ، فتحقق من الكود وإعداد الدائرة بدقة بحثًا عن الأخطاء وحاول مرة أخرى.

الطريقة 2: مكتبة GPIO Zero

مكتبة RPi.GPIO رائعة ، لكن هناك طفل جديد في الكتلة. مكتبة GPIO Zero كانت تم إنشاؤه بواسطة مدير مجتمع Raspberry Pi Ben Nuttall بهدف جعل الكود أبسط وأسهل في القراءة والكتابة.

لاختبار المكتبة الجديدة ، افتح ملف Thonny جديدًا ، واستورد المكتبة.

from gpiozero import LED, Button
from signal import pause

ستلاحظ أنك لم تقم باستيراد المكتبة بأكملها. نظرًا لأنك تستخدم مؤشر LED وزرًا فقط ، فأنت تحتاج فقط إلى تلك الوحدات في البرنامج النصي. نحن أيضا نستورد يوقف من مكتبة الإشارات ، وهي مكتبة Python لإدارة الأحداث.

يعد إعداد المسامير أسهل بكثير مع GPIO Zero:

led = LED(18)
button = Button(23)

نظرًا لأن مكتبة GPIO Zero بها وحدات لمصباح LED والزر ، فلن تحتاج إلى إعداد المدخلات والمخرجات كما كان من قبل. ستلاحظ أنه على الرغم من أن الدبابيس لم تتغير ، فإن الأرقام هنا تختلف عن الأرقام أعلاه. وذلك لأن GPIO Zero لا يستخدم سوى أرقام دبوس GPIO (المعروفة أيضًا بأرقام Broadcom أو BCM).

كيف ترى الصداقة على الفيسبوك بين صديق وغير صديق

باقي النص يتكون من ثلاثة أسطر فقط:

button.when_pressed = led.on
button.when_released = led.off
pause()

ال وقفة() call here ببساطة توقف البرنامج النصي من الخروج عندما يصل إلى الأسفل. يتم تشغيل الأحداث ذات الزرين عند الضغط على الزر وتحريره. احفظ البرنامج النصي وقم بتشغيله وسترى نفس النتيجة كما كان من قبل!

طريقتان لإضافة زر إلى Raspberry Pi

من بين طريقتين لإعداد الزر ، يبدو أن طريقة GPIO Zero هي الأسهل. لا يزال الأمر يستحق التعلم عن مكتبة RPi.GPIO مثل معظم مشاريع Raspberry Pi المبتدئين استخدمه. وببساطة هذا المشروع ، يمكن استخدام المعرفة لعدد من الأشياء.

يعد استخدام دبابيس GPIO طريقة رائعة لتعلم وابتكار أجهزتك الخاصة ، ولكنها بعيدة كل البعد عن كل ما يمكنك فعله باستخدام Pi. دليلنا غير الرسمي لـ Raspberry Pi مليء بالأفكار والبرامج التعليمية الإبداعية التي يمكنك تجربتها بنفسك! للحصول على برنامج تعليمي آخر مثل هذا ، تحقق من كيفية عمل زر اتصال Wi-Fi .

يشارك يشارك سقسقة بريد الالكتروني 5 نصائح لزيادة كفاءة أجهزة VirtualBox Linux الخاصة بك

هل سئمت من الأداء الضعيف الذي تقدمه الأجهزة الافتراضية؟ إليك ما يجب عليك فعله لتعزيز أداء VirtualBox الخاص بك.

اقرأ التالي
مواضيع ذات صلة
  • افعلها بنفسك
  • فطيرة التوت
  • بايثون
  • GPIO
  • دروس مشروع DIY
نبذة عن الكاتب إيان باكلي(216 مقالة منشورة)

إيان باكلي صحفي مستقل وموسيقي وفنان ومنتج فيديو يعيش في برلين بألمانيا. عندما لا يكتب أو على خشبة المسرح ، فإنه يعبث بإلكترونيات أو أكواد DIY على أمل أن يصبح عالمًا مجنونًا.

المزيد من Ian Buckley

اشترك في نشرتنا الإخبارية

انضم إلى النشرة الإخبارية لدينا للحصول على نصائح تقنية ومراجعات وكتب إلكترونية مجانية وصفقات حصرية!

انقر هنا للاشتراك