|
|
<!--
|
|
|
CO_OP_TRANSLATOR_METADATA:
|
|
|
{
|
|
|
"original_hash": "f8f541ee945545017a51aaf309aa37c3",
|
|
|
"translation_date": "2025-08-26T22:30:50+00:00",
|
|
|
"source_file": "2-farm/lessons/3-automated-plant-watering/virtual-device-relay.md",
|
|
|
"language_code": "ur"
|
|
|
}
|
|
|
-->
|
|
|
# ریلے کو کنٹرول کریں - ورچوئل IoT ہارڈویئر
|
|
|
|
|
|
اس سبق کے اس حصے میں، آپ اپنی ورچوئل IoT ڈیوائس میں مٹی کی نمی کے سینسر کے ساتھ ایک ریلے شامل کریں گے اور اسے مٹی کی نمی کی سطح کے مطابق کنٹرول کریں گے۔
|
|
|
|
|
|
## ورچوئل ہارڈویئر
|
|
|
|
|
|
ورچوئل IoT ڈیوائس ایک سیمولیٹڈ Grove ریلے استعمال کرے گی۔ یہ لیب کو اسی طرح رکھتا ہے جیسے آپ Raspberry Pi کے ساتھ ایک فزیکل Grove ریلے استعمال کر رہے ہوں۔
|
|
|
|
|
|
ایک فزیکل IoT ڈیوائس میں، ریلے عام طور پر ایک نارملی-اوپن ریلے ہوگا (یعنی جب ریلے کو کوئی سگنل نہیں بھیجا جاتا تو آؤٹ پٹ سرکٹ کھلا یا منقطع ہوتا ہے)۔ اس قسم کا ریلے 250V اور 10A تک کے آؤٹ پٹ سرکٹس کو سنبھال سکتا ہے۔
|
|
|
|
|
|
### CounterFit میں ریلے شامل کریں
|
|
|
|
|
|
ورچوئل ریلے استعمال کرنے کے لیے، آپ کو اسے CounterFit ایپ میں شامل کرنا ہوگا۔
|
|
|
|
|
|
#### کام
|
|
|
|
|
|
CounterFit ایپ میں ریلے شامل کریں۔
|
|
|
|
|
|
1. اگر پچھلے سبق سے `soil-moisture-sensor` پروجیکٹ VS Code میں پہلے سے کھلا نہیں ہے تو اسے کھولیں۔ آپ اس پروجیکٹ میں اضافہ کریں گے۔
|
|
|
|
|
|
1. یقینی بنائیں کہ CounterFit ویب ایپ چل رہی ہے۔
|
|
|
|
|
|
1. ایک ریلے بنائیں:
|
|
|
|
|
|
1. *Actuators* پین میں *Create actuator* باکس میں، *Actuator type* ڈراپ ڈاؤن کریں اور *Relay* منتخب کریں۔
|
|
|
|
|
|
1. *Pin* کو *5* پر سیٹ کریں۔
|
|
|
|
|
|
1. **Add** بٹن کو منتخب کریں تاکہ Pin 5 پر ریلے بنایا جا سکے۔
|
|
|
|
|
|

|
|
|
|
|
|
ریلے بنایا جائے گا اور ایکچوئیٹرز کی فہرست میں ظاہر ہوگا۔
|
|
|
|
|
|

|
|
|
|
|
|
## ریلے کو پروگرام کریں
|
|
|
|
|
|
اب مٹی کی نمی کے سینسر ایپ کو ورچوئل ریلے استعمال کرنے کے لیے پروگرام کیا جا سکتا ہے۔
|
|
|
|
|
|
### کام
|
|
|
|
|
|
ورچوئل ڈیوائس کو پروگرام کریں۔
|
|
|
|
|
|
1. اگر پچھلے سبق سے `soil-moisture-sensor` پروجیکٹ VS Code میں پہلے سے کھلا نہیں ہے تو اسے کھولیں۔ آپ اس پروجیکٹ میں اضافہ کریں گے۔
|
|
|
|
|
|
1. موجودہ امپورٹس کے نیچے `app.py` فائل میں درج ذیل کوڈ شامل کریں:
|
|
|
|
|
|
```python
|
|
|
from counterfit_shims_grove.grove_relay import GroveRelay
|
|
|
```
|
|
|
|
|
|
یہ بیان Grove Python shim لائبریریوں سے `GroveRelay` کو امپورٹ کرتا ہے تاکہ ورچوئل Grove ریلے کے ساتھ تعامل کیا جا سکے۔
|
|
|
|
|
|
1. `ADC` کلاس کے اعلان کے نیچے درج ذیل کوڈ شامل کریں تاکہ `GroveRelay` کی ایک انسٹینس بنائی جا سکے:
|
|
|
|
|
|
```python
|
|
|
relay = GroveRelay(5)
|
|
|
```
|
|
|
|
|
|
یہ Pin **5** کا استعمال کرتے ہوئے ایک ریلے بناتا ہے، وہی پن جس سے آپ نے ریلے کو جوڑا تھا۔
|
|
|
|
|
|
1. یہ جانچنے کے لیے کہ آیا ریلے کام کر رہا ہے، درج ذیل کوڈ `while True:` لوپ میں شامل کریں:
|
|
|
|
|
|
```python
|
|
|
relay.on()
|
|
|
time.sleep(.5)
|
|
|
relay.off()
|
|
|
```
|
|
|
|
|
|
یہ کوڈ ریلے کو آن کرتا ہے، 0.5 سیکنڈ انتظار کرتا ہے، اور پھر ریلے کو آف کر دیتا ہے۔
|
|
|
|
|
|
1. Python ایپ چلائیں۔ ریلے ہر 10 سیکنڈ میں آن اور آف ہوگا، آن اور آف ہونے کے درمیان آدھے سیکنڈ کی تاخیر کے ساتھ۔ آپ CounterFit ایپ میں ورچوئل ریلے کو بند اور کھلتے ہوئے دیکھیں گے۔
|
|
|
|
|
|

|
|
|
|
|
|
## مٹی کی نمی سے ریلے کو کنٹرول کریں
|
|
|
|
|
|
اب جب کہ ریلے کام کر رہا ہے، اسے مٹی کی نمی کی ریڈنگز کے جواب میں کنٹرول کیا جا سکتا ہے۔
|
|
|
|
|
|
### کام
|
|
|
|
|
|
ریلے کو کنٹرول کریں۔
|
|
|
|
|
|
1. وہ 3 لائنز کوڈ حذف کریں جو آپ نے ریلے کو ٹیسٹ کرنے کے لیے شامل کی تھیں۔ ان کی جگہ درج ذیل کوڈ شامل کریں:
|
|
|
|
|
|
```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 ایپ چلائیں۔ آپ دیکھیں گے کہ ریلے مٹی کی نمی کی سطح کے مطابق آن یا آف ہو رہا ہے۔ مٹی کی نمی کے سینسر کے لیے *Value* یا *Random* سیٹنگز کو تبدیل کریں تاکہ ویلیو میں تبدیلی دیکھ سکیں۔
|
|
|
|
|
|
```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/virtual-device](../../../../../2-farm/lessons/3-automated-plant-watering/code-relay/virtual-device) فولڈر میں تلاش کر سکتے ہیں۔
|
|
|
|
|
|
😀 آپ کا ورچوئل مٹی کی نمی کا سینسر جو ریلے کو کنٹرول کرتا ہے، کامیاب رہا!
|
|
|
|
|
|
---
|
|
|
|
|
|
**ڈسکلیمر**:
|
|
|
یہ دستاویز AI ترجمہ سروس [Co-op Translator](https://github.com/Azure/co-op-translator) کا استعمال کرتے ہوئے ترجمہ کی گئی ہے۔ ہم درستگی کے لیے کوشش کرتے ہیں، لیکن براہ کرم آگاہ رہیں کہ خودکار ترجمے میں غلطیاں یا غیر درستیاں ہو سکتی ہیں۔ اصل دستاویز کو اس کی اصل زبان میں مستند ذریعہ سمجھا جانا چاہیے۔ اہم معلومات کے لیے، پیشہ ور انسانی ترجمہ کی سفارش کی جاتی ہے۔ ہم اس ترجمے کے استعمال سے پیدا ہونے والی کسی بھی غلط فہمی یا غلط تشریح کے ذمہ دار نہیں ہیں۔ |