جدول المحتويات:
- الخطوة 1: ما سوف تحتاجه
- الخطوة الثانية: بناء دائرتك
- الخطوة 3: قم بإنشاء برنامج نصي للتحكم في مصابيح LED واختبارها
- الخطوة 4: إضافة المرونة باستخدام المعلمات والعبارات الشرطية
فيديو: التحكم في مصابيح LED المتعددة باستخدام Python ودبابيس GPIO الخاصة بـ Raspberry Pi: 4 خطوات (بالصور)
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:38
يوضح هذا 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
لماذا لا تعطيه الفرصة وانشر إجابتك في قسم التعليقات أدناه.
موصى به:
كيفية قراءة القيم التناظرية المتعددة باستخدام دبوس تمثيلي واحد: 6 خطوات (بالصور)
كيفية قراءة القيم التناظرية المتعددة باستخدام دبوس تمثيلي واحد: في هذا البرنامج التعليمي ، سأوضح لك كيفية قراءة قيم تناظرية متعددة باستخدام دبوس إدخال تمثيلي واحد فقط
التحكم في المصابيح الخاصة بك مع جهاز التحكم عن بعد الخاص بالتلفزيون ؟! -- دروس Arduino IR: 5 خطوات (بالصور)
التحكم في المصابيح الخاصة بك مع جهاز التحكم عن بعد الخاص بالتلفزيون ؟! || Arduino IR Tutorial: في هذا المشروع سأوضح لك كيف أعدت تخصيص الأزرار عديمة الفائدة على جهاز التحكم عن بعد في التلفزيون للتحكم في المصابيح الموجودة خلف التلفزيون. يمكنك أيضًا استخدام هذه التقنية للتحكم في كل أنواع الأشياء بقليل من تحرير التعليمات البرمجية. سأتحدث أيضًا قليلاً عن النظرية
مصابيح شريط LED بسيطة (قم بترقية شرائط LED الخاصة بك): 4 خطوات (بالصور)
مصابيح شريط LED بسيطة (قم بترقية شرائط LED الخاصة بك): لقد كنت أستخدم شرائط LED منذ فترة طويلة الآن ولطالما أحببت بساطتها. لقد قمت للتو بقطع جزء من دور ، ولحام بعض الأسلاك به ، وقم بتوصيل مصدر طاقة وستحصل على مصدر ضوء. على مر السنين وجدت ج
أضف مصابيح LED إلى أزرار Sanwa Arcade Stick الخاصة بك: 6 خطوات (بالصور)
أضف مصابيح LED إلى أزرار Arcade Stick Sanwa!: هناك الكثير من حلول LED المتاحة لعصا القتال أو خزانة الممرات ولكن الإصدارات غير الملحومة أو التي تم شراؤها من المتجر قد تكلف بعض الشيء. لا أكون في وظيفة مدفوعة الأجر بشكل خاص ولكن ما زلت أرغب في الحصول على بعض الذوق LED في قتالتي ، فقد بحثت عن
كيف تصنع مصابيح LED الخاصة بك: 10 خطوات (بالصور)
كيف تصنع مصابيح LED الخاصة بك: برنامج تعليمي لصنع لمبات LED ذات مظهر تجاري. بعد العديد من المحاولات لإجراء جميع أنواع تحويلات LED ، وجدت أخيرًا حلاً واحدًا بسيطًا وفعالًا. بالطبع ، أنت بحاجة إلى قدر كبير من الصبر للقيام بذلك ولكن عندما