جدول المحتويات:

التحكم في مصابيح LED المتعددة باستخدام Python ودبابيس GPIO الخاصة بـ Raspberry Pi: 4 خطوات (بالصور)
التحكم في مصابيح LED المتعددة باستخدام Python ودبابيس GPIO الخاصة بـ Raspberry Pi: 4 خطوات (بالصور)

فيديو: التحكم في مصابيح LED المتعددة باستخدام Python ودبابيس GPIO الخاصة بـ Raspberry Pi: 4 خطوات (بالصور)

فيديو: التحكم في مصابيح LED المتعددة باستخدام Python ودبابيس GPIO الخاصة بـ Raspberry Pi: 4 خطوات (بالصور)
فيديو: Raspberry Pi Pico RP2040 Programming in MicroPython, Complete Course for Beginners with Examples 2024, يوليو
Anonim
التحكم في المصابيح المتعددة باستخدام Python ودبابيس GPIO الخاصة بـ Raspberry Pi
التحكم في المصابيح المتعددة باستخدام Python ودبابيس GPIO الخاصة بـ Raspberry Pi

يوضح هذا Instructable كيفية التحكم في عدة دبابيس GPIO على RaspberryPi لتشغيل 4 مصابيح LED. سيقدم لك أيضًا المعلمات والعبارات الشرطية في بايثون.

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

الخطوة 1: ما سوف تحتاجه

ما سوف تحتاجه
ما سوف تحتاجه
ما سوف تحتاجه
ما سوف تحتاجه

- تم تثبيت RaspberryPi مع Raspbian بالفعل. ستحتاج أيضًا إلى أن تكون قادرًا على الوصول إلى Pi باستخدام شاشة وماوس ولوحة مفاتيح أو عبر سطح المكتب البعيد. يمكنك استخدام أي نموذج من Raspberry Pi. إذا كان لديك أحد طرازات Pi Zero ، فقد ترغب في لحام بعض دبابيس الرأس بمنفذ GPIO.

- المصابيح الحمراء والزرقاء والأصفر والأخضر

- نموذج أولي بدون لحام

- مقاومات 4 × 330 أوم

- بعض أسلاك العبور من الذكور إلى الإناث

الخطوة الثانية: بناء دائرتك

بناء دائرتك
بناء دائرتك
بناء دائرتك
بناء دائرتك

قم ببناء الدائرة أعلاه على اللوح الخاص بك مع التأكد من عدم تلامس أي من المكونات الخيوط وتوصيل مصابيح LED بالطريقة الصحيحة.

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

بمجرد التحقق من دائرتك ، قم بتوصيل كبلات التوصيل الخاصة بك دبابيس GPIO الخاصة بـ Raspberry Pi باتباع الرسم التخطيطي أعلاه.

الخطوة 3: قم بإنشاء برنامج نصي للتحكم في مصابيح LED واختبارها

قم بإنشاء برنامج نصي للتحكم في المصابيح واختبارها
قم بإنشاء برنامج نصي للتحكم في المصابيح واختبارها

على Raspberry Pi الخاص بك ، افتح IDLE (القائمة> البرمجة> Python 2 (IDLE)).

افتح مشروعًا جديدًا ، انتقل إلى ملف> ملف جديد. ثم اكتب (أو انسخ والصق) الكود التالي:

استيراد RPi. GPIO كـ GPIO

وقت الاستيراد GPIO.setmode (GPIO. BCM) GPIO.setup (17، GPIO. OUT) GPIO.setup (18، GPIO. OUT) GPIO.setup (22، GPIO. OUT) GPIO.setup (23، GPIO. OUT) GPIO.output (17، True) time.sleep (3) GPIO.output (17، False) time.sleep (1) GPIO.output (18، True) time.sleep (3) GPIO.output (18، False) time.sleep (1) GPIO.output (22، True) time.sleep (3) GPIO.output (22، False) time.sleep (1) GPIO.output (23، True) time.sleep (3) GPIO. الإخراج (23 ، خطأ)

احفظ مشروعك كملف multilights.py (ملف> حفظ باسم) في مجلد مستندات Raspberry Pis.

على Raspberry Pi ، افتح Terminal (القائمة> الملحقات> Terminal) وانتقل إلى مجلد المستندات بكتابة ما يلي:

cd / home / pi / Documents

يمكنك الآن تشغيل البرنامج النصي الجديد بكتابة ما يلي:

ثعبان multilights.py

ستأخذها الأضواء بدورها لتشغيلها وإيقافها. يستخدم النص أعلاه الأمر time.sleep لإنشاء توقف مؤقت بين كل خطوة ، مما يجعل كل ضوء يظل مضاءًا لمدة 3 ثوانٍ وينتظر لمدة ثانية واحدة قبل تشغيل المصباح التالي.

الخطوة 4: إضافة المرونة باستخدام المعلمات والعبارات الشرطية

باستخدام المعلمات والعبارات الشرطية ، يمكننا جعل النص أعلاه أكثر مرونة.

تسمح لك المعلمة بتخزين قيمة يمكنك استخدامها لاحقًا في البرنامج النصي. أكثر أنواع القيم شيوعًا هي السلاسل (نصية) أو الأعداد الصحيحة (أرقام كاملة) أو الأعداد العشرية (الأرقام العشرية).

سيحدد البيان الشرطي ما إذا كان يجب تنفيذ جزء من الكود أم لا عن طريق التحقق من استيفاء شرط معين. يمكن أن تتضمن الحالة أيضًا معلمات.

افتح IDLE على Raspberry Pi الخاص بك وافتح مشروعًا جديدًا (ملف> ملف جديد). ثم اكتب ما يلي. كن حذرًا للتأكد من تضمين جميع المسافات البادئة (علامات التبويب) باستخدام مفتاح الجدولة:

استيراد RPi. GPIO كـ GPIO

وقت الاستيراد من sys import argv whichled = argv [1] ledaction = argv [2] LEDa = 17 LEDb = 18 LEDc = 22 LEDd = 23 GPIO.setmode (GPIO. BCM) GPIO.setup (LEDa ، GPIO. OUT) GPIO. setmode (GPIO. BCM) GPIO.setup (LEDb ، GPIO. OUT) GPIO.setmode (GPIO. BCM) GPIO.setup (LEDc ، GPIO. OUT) GPIO.setmode (GPIO. BCM) GPIO.setup (LEDd ، GPIO. OUT) إذا كان ledaction == "off": إذا كانت القيمة == "a": GPIO.output (LEDa ، False) إذا كانت معروضة == "b": GPIO.output (LEDb ، False) إذا كانت القيمة == "c": GPIO.output (LEDc، False) إذا تم ضبطه == "d": GPIO.output (LEDd، False) إذا تم تحديده == "all": GPIO.output (LEDa، False) GPIO.output (LEDb، False) GPIO. الإخراج (LEDc ، خطأ) GPIO.output (LEDd ، خطأ) إذا كان ledaction == "on": إذا تم تعيينه == "a": GPIO.output (LEDa ، True) إذا كانت القيمة == "b": GPIO.output (مؤشر LEDb ، صحيح) إذا تم ضبطه == "c": GPIO.output (LEDc ، صحيح) إذا تم ضبطه == "d": GPIO.output (LEDd ، True) إذا كان موجهًا == "all": GPIO.output (LEDa ، True) GPIO.output (LEDb ، True) GPIO.output (LEDc ، True) GPIO.output (LEDd ، True)

احفظ مشروعك كملف controlight.py (ملف> حفظ باسم) في مجلد المستندات ، والآن افتح Terminal (القائمة> الملحقات> Terminal) واكتب الأمر التالي:

python controlight.py b on

يجب أن يضيء المصباح الثاني. اكتب الآن ما يلي:

بيثون controlight.py b off

يجب أن ينطفئ المصباح الثاني.

في السطور 5 و 6 و 7 و 8 ، نقوم بإنشاء المعلمات LEDa و LEDb و LEDc و LEDd لتخزين دبوس GPIO الذي قمنا بتوصيله بمؤشر LED. يتيح لنا ذلك استخدام دبابيس GPIO بديلة دون الحاجة إلى إجراء تغييرات جوهرية على البرنامج النصي.

على سبيل المثال ، إذا أردنا توصيل أول مؤشرات LED بـ Pin 3 (GPIO 2) بدلاً من ذلك ، فسنحتاج فقط إلى تغيير السطر 5 إلى ما يلي:

LEDa = 2

يخزن السطر 4 القيم التي كتبتها بعد controlight.py في المعلمات التي تحمل (c) و ledaction (on). ثم يستخدم البرنامج النصي هذه المعلمات ، جنبًا إلى جنب مع عدد من العبارات الشرطية لتحديد مؤشر LED الذي يجب التحكم فيه وما إذا كان سيتم تشغيله أو إيقاف تشغيله.

السطر 16 (إذا كان ledaction == "on":) عبارة عن جملة شرطية. سيتم تشغيل الأسطر ذات المسافة البادئة التي تلي هذا البيان فقط إذا تم استيفاء شرط العبارة. في هذا السيناريو ، الشرط هو أن يحتوي الدليل على النص على.

من خلال قراءة العبارات الشرطية الأخرى للنص ، هل يمكنك توقع ما سيحدث عندما تكتب الأمر التالي في Terminal؟

python controlight.py all on

لماذا لا تعطيه الفرصة وانشر إجابتك في قسم التعليقات أدناه.

موصى به: