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.
123 lines
6.5 KiB
123 lines
6.5 KiB
<!--
|
|
CO_OP_TRANSLATOR_METADATA:
|
|
{
|
|
"original_hash": "66b81165e60f8f169bd52a401b6a0f8b",
|
|
"translation_date": "2025-08-26T22:29:30+00:00",
|
|
"source_file": "2-farm/lessons/3-automated-plant-watering/pi-relay.md",
|
|
"language_code": "ar"
|
|
}
|
|
-->
|
|
# التحكم في الريليه - Raspberry Pi
|
|
|
|
في هذا الجزء من الدرس، ستضيف ريليه إلى Raspberry Pi بالإضافة إلى مستشعر رطوبة التربة، وستتحكم فيه بناءً على مستوى رطوبة التربة.
|
|
|
|
## الأجهزة
|
|
|
|
يحتاج Raspberry Pi إلى ريليه.
|
|
|
|
الريليه الذي ستستخدمه هو [Grove relay](https://www.seeedstudio.com/Grove-Relay.html)، وهو ريليه مفتوح عادةً (مما يعني أن دائرة الإخراج تكون مفتوحة أو غير متصلة عندما لا يتم إرسال إشارة إلى الريليه) ويمكنه التعامل مع دوائر الإخراج حتى 250V و10A.
|
|
|
|
هذا جهاز رقمي، لذا يتم توصيله بدبوس رقمي على قبعة Grove Base.
|
|
|
|
### توصيل الريليه
|
|
|
|
يمكن توصيل ريليه Grove بـ Raspberry Pi.
|
|
|
|
#### المهمة
|
|
|
|
قم بتوصيل الريليه.
|
|
|
|

|
|
|
|
1. أدخل أحد طرفي كابل Grove في المقبس الموجود على الريليه. لن يدخل إلا بطريقة واحدة.
|
|
|
|
1. مع إيقاف تشغيل Raspberry Pi، قم بتوصيل الطرف الآخر من كابل Grove بالمقبس الرقمي المسمى **D5** على قبعة Grove Base المثبتة على Pi. هذا المقبس هو الثاني من اليسار، في صف المقابس بجانب دبابيس GPIO. اترك مستشعر رطوبة التربة متصلاً بالمقبس **A0**.
|
|
|
|

|
|
|
|
1. أدخل مستشعر رطوبة التربة في التربة، إذا لم يكن بالفعل من الدرس السابق.
|
|
|
|
## برمجة الريليه
|
|
|
|
يمكن الآن برمجة Raspberry Pi لاستخدام الريليه المتصل.
|
|
|
|
### المهمة
|
|
|
|
قم ببرمجة الجهاز.
|
|
|
|
1. قم بتشغيل Pi وانتظر حتى يتم الإقلاع.
|
|
|
|
1. افتح مشروع `soil-moisture-sensor` من الدرس السابق في VS Code إذا لم يكن مفتوحًا بالفعل. ستقوم بإضافة إلى هذا المشروع.
|
|
|
|
1. أضف الكود التالي إلى ملف `app.py` أسفل الواردات الحالية:
|
|
|
|
```python
|
|
from grove.grove_relay import GroveRelay
|
|
```
|
|
|
|
هذا البيان يستورد `GroveRelay` من مكتبات Python الخاصة بـ Grove للتفاعل مع ريليه Grove.
|
|
|
|
1. أضف الكود التالي أسفل تعريف فئة `ADC` لإنشاء مثيل لـ `GroveRelay`:
|
|
|
|
```python
|
|
relay = GroveRelay(5)
|
|
```
|
|
|
|
هذا ينشئ ريليه باستخدام دبوس **D5**، الدبوس الرقمي الذي قمت بتوصيل الريليه به.
|
|
|
|
1. لاختبار عمل الريليه، أضف التالي إلى حلقة `while True:`:
|
|
|
|
```python
|
|
relay.on()
|
|
time.sleep(.5)
|
|
relay.off()
|
|
```
|
|
|
|
يقوم الكود بتشغيل الريليه، ينتظر 0.5 ثانية، ثم يطفئ الريليه.
|
|
|
|
1. قم بتشغيل تطبيق Python. سيقوم الريليه بالتشغيل والإيقاف كل 10 ثوانٍ، مع تأخير نصف ثانية بين التشغيل والإيقاف. ستسمع صوت نقرة الريليه عند التشغيل ثم عند الإيقاف. سيضيء LED على لوحة Grove عندما يكون الريليه قيد التشغيل، ثم ينطفئ عندما يكون الريليه متوقفًا.
|
|
|
|

|
|
|
|
## التحكم في الريليه بناءً على رطوبة التربة
|
|
|
|
الآن بعد أن أصبح الريليه يعمل، يمكن التحكم فيه استجابةً لقراءات رطوبة التربة.
|
|
|
|
### المهمة
|
|
|
|
تحكم في الريليه.
|
|
|
|
1. احذف الأسطر الثلاثة من الكود التي أضفتها لاختبار الريليه. استبدلها بالكود التالي:
|
|
|
|
```python
|
|
if soil_moisture > 450:
|
|
print("Soil Moisture is too low, turning relay on.")
|
|
relay.on()
|
|
else:
|
|
print("Soil Moisture is ok, turning relay off.")
|
|
relay.off()
|
|
```
|
|
|
|
يقوم هذا الكود بفحص مستوى رطوبة التربة من مستشعر رطوبة التربة. إذا كان أعلى من 450، فإنه يشغل الريليه، ويطفئه عندما ينخفض تحت 450.
|
|
|
|
> 💁 تذكر أن مستشعر رطوبة التربة السعوي يقرأ كلما كان مستوى رطوبة التربة أقل، كلما زادت الرطوبة في التربة والعكس صحيح.
|
|
|
|
1. قم بتشغيل تطبيق Python. سترى الريليه يعمل أو يتوقف بناءً على مستوى رطوبة التربة. جرب في تربة جافة، ثم أضف الماء.
|
|
|
|
```output
|
|
Soil Moisture: 638
|
|
Soil Moisture is too low, turning relay on.
|
|
Soil Moisture: 452
|
|
Soil Moisture is too low, turning relay on.
|
|
Soil Moisture: 347
|
|
Soil Moisture is ok, turning relay off.
|
|
```
|
|
|
|
> 💁 يمكنك العثور على هذا الكود في مجلد [code-relay/pi](../../../../../2-farm/lessons/3-automated-plant-watering/code-relay/pi).
|
|
|
|
😀 لقد نجحت في برمجة مستشعر رطوبة التربة للتحكم في الريليه!
|
|
|
|
---
|
|
|
|
**إخلاء المسؤولية**:
|
|
تم ترجمة هذا المستند باستخدام خدمة الترجمة بالذكاء الاصطناعي [Co-op Translator](https://github.com/Azure/co-op-translator). بينما نسعى لتحقيق الدقة، يرجى العلم أن الترجمات الآلية قد تحتوي على أخطاء أو معلومات غير دقيقة. يجب اعتبار المستند الأصلي بلغته الأصلية المصدر الموثوق. للحصول على معلومات حاسمة، يُوصى بالاستعانة بترجمة بشرية احترافية. نحن غير مسؤولين عن أي سوء فهم أو تفسيرات خاطئة تنشأ عن استخدام هذه الترجمة. |