You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
129 lines
7.0 KiB
129 lines
7.0 KiB
4 years ago
|
<div dir="rtl">
|
||
|
|
||
|
# قم ببناء ضوء ليلي - Raspberry Pi
|
||
|
|
||
|
في هذا الجزء من الدرس ، ستضيف مؤشر LED إلى Raspberry Pi الخاص بك وتستخدمه لإنشاء ضوء ليلي.
|
||
|
|
||
|
## المعدات
|
||
|
|
||
|
يحتاج ضوء الليل الآن إلى مشغل.
|
||
|
|
||
|
المشغل هو ** LED ** ، <a href="https://wikipedia.org/wiki/Light-emitting_diode"> الصمام الثنائي الباعث للضوء</a> الذي ينبعث منه الضوء عندما يتدفق التيار خلاله. هذا مشغل رقمي له حالتان ، تشغيل وإيقاف. يؤدي إرسال القيمة 1 إلى تشغيل مؤشر LED و 0 يؤدي إلى إيقاف تشغيله. LED هو مشغل Grove خارجي ويجب توصيله بقبعة Grove Base على Raspberry Pi.
|
||
|
|
||
|
منطق ضوء الليل في الكود الزائف هو:
|
||
|
|
||
|
```output
|
||
|
تحقق من مستوى الضوء.
|
||
|
إذا كان الضوء أقل من 300
|
||
|
قم بتشغيل LED
|
||
|
غير ذلك
|
||
|
قم بإيقاف تشغيل LED
|
||
|
```
|
||
|
### قم بتوصيل الصمام
|
||
|
|
||
|
يأتي Grove LED كوحدة نمطية مع مجموعة مختارة من مصابيح LED ، مما يسمح لك باختيار اللون.
|
||
|
|
||
|
#### المهمة - قم بتوصيل LED
|
||
|
|
||
|
قم بتوصيل الصمام.
|
||
|
|
||
|
![A grove LED](../../../../images/grove-led.png)
|
||
|
|
||
|
1. اختر مؤشر LED المفضل لديك وأدخل الأرجل في الفتحتين على وحدة LED.
|
||
|
|
||
|
المصابيح هي صمامات ثنائية باعثة للضوء ، والصمامات الثنائية هي أجهزة إلكترونية يمكنها حمل التيار في اتجاه واحد فقط. هذا يعني أن مؤشر LED يحتاج إلى الاتصال بالطريقة الصحيحة ، وإلا فلن يعمل.
|
||
|
|
||
|
أحد أرجل مؤشر LED هو الدبوس الموجب ، والآخر هو الدبوس السالب. LED ليس مستديرًا تمامًا وهو مسطح قليلاً من جانب واحد. الجانب المسطح قليلاً هو الدبوس السالب. عندما تقوم بتوصيل مؤشر LED بالوحدة ، تأكد من توصيل دبوس الجانب المستدير بالمقبس المميز بعلامة ** + ** على الجزء الخارجي من الوحدة ، وأن الجانب المسطح متصل بالمقبس الأقرب إلى منتصف الجزء وحدة.
|
||
|
|
||
|
1. تحتوي وحدة LED على زر دوران يسمح لك بالتحكم في السطوع. اقلب هذا على طول الطريق لتبدأ بتدويره عكس اتجاه عقارب الساعة بقدر ما سيذهب باستخدام مفك براغي صغير من فيليبس.
|
||
|
|
||
|
1. أدخل أحد طرفي كبل Grove في المقبس الموجود في وحدة LED. سوف تذهب في اتجاه واحد فقط.
|
||
|
|
||
|
1. مع إيقاف تشغيل Raspberry Pi ، قم بتوصيل الطرف الآخر من كابل Grove بالمقبس الرقمي المميز بعلامة ** D5 ** على قبعة Grove Base المرفقة بـ Pi. هذا المقبس هو الثاني من اليسار ، على صف المقابس بجوار دبابيس GPIO.
|
||
|
|
||
|
![The grove LED connected to socket D5](../../../../images/pi-led.png)
|
||
|
|
||
|
|
||
|
## برمجة ضوء الليل
|
||
|
|
||
|
يمكن الآن برمجة ضوء الليل باستخدام مستشعر الضوء Grove و Grove LED.
|
||
|
|
||
|
### المهمة - برمجة ضوء الليل
|
||
|
|
||
|
برمجة ضوء الليل.
|
||
|
|
||
|
1. قم بتشغيل Pi وانتظر حتى يتم التمهيد
|
||
|
|
||
|
1. افتح مشروع Nightlight في VS Code الذي أنشأته في الجزء السابق من هذه المهمة ، سواء كان يعمل مباشرة على Pi أو متصل باستخدام امتداد Remote SSH.
|
||
|
|
||
|
1. أضف الكود التالي إلى ملف `app.py` للاتصال لاستيراد المكتبة المطلوبة. يجب إضافة هذا إلى الأعلى ، أسفل سطور "الاستيراد" الأخرى.
|
||
|
|
||
|
|
||
|
```python
|
||
|
from grove.grove_led import GroveLed
|
||
|
```
|
||
|
|
||
|
تستورد العبارة `from grove.grove_led import GroveLed`` GroveLed` من مكتبات Grove Python. تحتوي هذه المكتبة على رمز للتفاعل مع Grove LED.
|
||
|
|
||
|
1. أضف الكود التالي بعد إعلان "light_sensor" لإنشاء مثيل للفئة التي تدير مؤشر LED:
|
||
|
|
||
|
|
||
|
```python
|
||
|
led = GroveLed(5)
|
||
|
```
|
||
|
|
||
|
يُنشئ السطر `led = GroveLed (5)` مثيلًا لفئة `GroveLed` التي تتصل بالطرف ** D5 ** - دبوس Grove الرقمي الذي يتصل به مؤشر LED.
|
||
|
|
||
|
> 💁 جميع المقابس لها أرقام دبوس فريدة. الدبابيس 0 و 2 و 4 و 6 هي دبابيس تمثيلية ، والدبابيس 5 و 16 و 18 و 22 و 24 و 26 هي دبابيس رقمية.
|
||
|
|
||
|
1. أضف فحصًا داخل حلقة "while" وقبل "time.sleep" للتحقق من مستويات الإضاءة وتشغيل مؤشر LED أو إيقاف تشغيله:
|
||
|
|
||
|
|
||
|
</div>
|
||
|
|
||
|
```python
|
||
|
if light < 300:
|
||
|
led.on()
|
||
|
else:
|
||
|
led.off()
|
||
|
```
|
||
|
|
||
|
<div dir="rtl">
|
||
|
يتحقق هذا الرمز من قيمة "light". إذا كان هذا أقل من 300 ، فإنه يستدعي طريقة "on" لفئة "GroveLed" التي ترسل قيمة رقمية 1 إلى LED ، وتشغيلها. إذا كانت قيمة الضوء أكبر من أو تساوي 300 ، فإنها تستدعي طريقة "إيقاف التشغيل" ، وإرسال قيمة رقمية بقيمة 0 إلى LED ، وإيقاف تشغيلها.
|
||
|
|
||
|
> 💁 يجب وضع مسافة بادئة لهذا الرمز إلى نفس مستوى خط الطباعة ('Light level:'، light) `ليكون داخل حلقة while!
|
||
|
|
||
|
> 💁 عند إرسال القيم الرقمية إلى المشغلات ، تكون القيمة 0 هي 0 فولت ، والقيمة 1 هي أقصى جهد للجهاز. بالنسبة لـ Raspberry Pi مع مستشعرات ومشغلات Grove ، يكون الجهد 1 هو 3.3 فولت.
|
||
|
|
||
|
1. من VS Code Terminal ، قم بتشغيل ما يلي لتشغيل تطبيق Python:
|
||
|
|
||
|
```sh
|
||
|
python3 app.py
|
||
|
```
|
||
|
|
||
|
Light values will be output to the console.
|
||
|
|
||
|
```output
|
||
|
pi@raspberrypi:~/nightlight $ python3 app.py
|
||
|
Light level: 634
|
||
|
Light level: 634
|
||
|
Light level: 634
|
||
|
Light level: 230
|
||
|
Light level: 104
|
||
|
Light level: 290
|
||
|
```
|
||
|
1. قم بتغطية وكشف مستشعر الضوء. لاحظ كيف سيضيء مؤشر LED إذا كان مستوى الضوء 300 أو أقل ، وينطفئ عندما يكون مستوى الضوء أكبر من 300.
|
||
|
|
||
|
> 💁 إذا لم يتم تشغيل مؤشر LED ، فتأكد من توصيله بالطريقة الصحيحة ، وأن زر الدوران مضبوط على الوضع الكامل.
|
||
|
|
||
|
![The LED connected to the Pi turning on and off as the light level changes](../../../../images/pi-running-assignment-1-1.gif)
|
||
|
|
||
|
> 💁 يمكنك العثور على هذا الرمز في المجلد
|
||
|
[code-actuator/pi](../code-actuator/pi)
|
||
|
|
||
|
😀 كان برنامج الإضاءة الليلية الخاص بك ناجحًا!
|
||
|
</div>
|
||
|
|
||
|
|
||
|
|