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.
119 lines
8.0 KiB
119 lines
8.0 KiB
<!--
|
|
CO_OP_TRANSLATOR_METADATA:
|
|
{
|
|
"original_hash": "f3c5d8afa2ef6a0b425ef8ff20615cb4",
|
|
"translation_date": "2025-08-25T21:27:30+00:00",
|
|
"source_file": "2-farm/lessons/3-automated-plant-watering/wio-terminal-relay.md",
|
|
"language_code": "fa"
|
|
}
|
|
-->
|
|
# کنترل یک رله - Wio Terminal
|
|
|
|
در این بخش از درس، شما یک رله به Wio Terminal خود اضافه میکنید، علاوه بر حسگر رطوبت خاک، و آن را بر اساس سطح رطوبت خاک کنترل میکنید.
|
|
|
|
## سختافزار
|
|
|
|
Wio Terminal به یک رله نیاز دارد.
|
|
|
|
رلهای که استفاده میکنید یک [رله Grove](https://www.seeedstudio.com/Grove-Relay.html) است، یک رله معمولاً باز (به این معنی که مدار خروجی باز یا قطع است وقتی سیگنالی به رله ارسال نمیشود) که میتواند مدارهای خروجی تا 250 ولت و 10 آمپر را مدیریت کند.
|
|
|
|
این یک عملگر دیجیتال است، بنابراین به پینهای دیجیتال روی Wio Terminal متصل میشود. پورت ترکیبی آنالوگ/دیجیتال قبلاً با حسگر رطوبت خاک استفاده شده است، بنابراین این رله به پورت دیگر که یک پورت ترکیبی I2C و دیجیتال است متصل میشود.
|
|
|
|
### اتصال رله
|
|
|
|
رله Grove میتواند به پورت دیجیتال Wio Terminal متصل شود.
|
|
|
|
#### وظیفه
|
|
|
|
رله را متصل کنید.
|
|
|
|

|
|
|
|
1. یک سر کابل Grove را به سوکت روی رله وارد کنید. این کابل فقط از یک جهت وارد میشود.
|
|
|
|
2. با قطع اتصال Wio Terminal از کامپیوتر یا منبع تغذیه دیگر، سر دیگر کابل Grove را به سوکت سمت چپ Wio Terminal متصل کنید (وقتی به صفحه نمایش نگاه میکنید). حسگر رطوبت خاک را به سوکت سمت راست متصل نگه دارید.
|
|
|
|

|
|
|
|
3. حسگر رطوبت خاک را در خاک قرار دهید، اگر از درس قبلی هنوز در خاک قرار نگرفته است.
|
|
|
|
## برنامهریزی رله
|
|
|
|
اکنون میتوانید Wio Terminal را برای استفاده از رله متصل برنامهریزی کنید.
|
|
|
|
### وظیفه
|
|
|
|
دستگاه را برنامهریزی کنید.
|
|
|
|
1. پروژه `soil-moisture-sensor` از درس قبلی را در VS Code باز کنید اگر هنوز باز نیست. شما به این پروژه اضافه خواهید کرد.
|
|
|
|
2. برای این عملگر کتابخانهای وجود ندارد - این یک عملگر دیجیتال است که با سیگنال بالا یا پایین کنترل میشود. برای روشن کردن آن، یک سیگنال بالا به پین ارسال میکنید (3.3 ولت)، و برای خاموش کردن آن یک سیگنال پایین ارسال میکنید (0 ولت). میتوانید این کار را با استفاده از تابع داخلی Arduino [`digitalWrite`](https://www.arduino.cc/reference/en/language/functions/digital-io/digitalwrite/) انجام دهید. ابتدا کد زیر را به انتهای تابع `setup` اضافه کنید تا پورت ترکیبی I2C/دیجیتال به عنوان یک پین خروجی برای ارسال ولتاژ به رله تنظیم شود:
|
|
|
|
```cpp
|
|
pinMode(PIN_WIRE_SCL, OUTPUT);
|
|
```
|
|
|
|
`PIN_WIRE_SCL` شماره پورت برای پورت ترکیبی I2C/دیجیتال است.
|
|
|
|
3. برای آزمایش اینکه آیا رله کار میکند، کد زیر را به تابع `loop` اضافه کنید، زیر آخرین `delay`:
|
|
|
|
```cpp
|
|
digitalWrite(PIN_WIRE_SCL, HIGH);
|
|
delay(500);
|
|
digitalWrite(PIN_WIRE_SCL, LOW);
|
|
```
|
|
|
|
این کد یک سیگنال بالا به پینی که رله به آن متصل است ارسال میکند تا آن را روشن کند، 500 میلیثانیه (نیم ثانیه) صبر میکند، سپس یک سیگنال پایین ارسال میکند تا رله خاموش شود.
|
|
|
|
4. کد را بسازید و به Wio Terminal آپلود کنید.
|
|
|
|
5. پس از آپلود، رله هر 10 ثانیه یک بار روشن و خاموش میشود، با یک تأخیر نیم ثانیهای بین روشن و خاموش شدن. صدای کلیک روشن و خاموش شدن رله را خواهید شنید. یک LED روی برد Grove هنگام روشن بودن رله روشن میشود و هنگام خاموش بودن خاموش میشود.
|
|
|
|

|
|
|
|
## کنترل رله با استفاده از رطوبت خاک
|
|
|
|
اکنون که رله کار میکند، میتوان آن را در پاسخ به خوانشهای رطوبت خاک کنترل کرد.
|
|
|
|
### وظیفه
|
|
|
|
رله را کنترل کنید.
|
|
|
|
1. سه خط کدی که برای آزمایش رله اضافه کردهاید حذف کنید. آنها را با کد زیر جایگزین کنید:
|
|
|
|
```cpp
|
|
if (soil_moisture > 450)
|
|
{
|
|
Serial.println("Soil Moisture is too low, turning relay on.");
|
|
digitalWrite(PIN_WIRE_SCL, HIGH);
|
|
}
|
|
else
|
|
{
|
|
Serial.println("Soil Moisture is ok, turning relay off.");
|
|
digitalWrite(PIN_WIRE_SCL, LOW);
|
|
}
|
|
```
|
|
|
|
این کد سطح رطوبت خاک را از حسگر رطوبت خاک بررسی میکند. اگر بالای 450 باشد، رله را روشن میکند و اگر زیر 450 باشد، آن را خاموش میکند.
|
|
|
|
> 💁 به یاد داشته باشید که حسگر رطوبت خاک خازنی به این صورت عمل میکند که هرچه سطح رطوبت خاک کمتر باشد، رطوبت بیشتری در خاک وجود دارد و بالعکس.
|
|
|
|
2. کد را بسازید و به Wio Terminal آپلود کنید.
|
|
|
|
3. دستگاه را از طریق مانیتور سریال نظارت کنید. خواهید دید که رله بسته به سطح رطوبت خاک روشن یا خاموش میشود. در خاک خشک امتحان کنید، سپس آب اضافه کنید.
|
|
|
|
```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/wio-terminal](../../../../../2-farm/lessons/3-automated-plant-watering/code-relay/wio-terminal) پیدا کنید.
|
|
|
|
😀 برنامه حسگر رطوبت خاک که یک رله را کنترل میکند موفقیتآمیز بود!
|
|
|
|
**سلب مسئولیت**:
|
|
این سند با استفاده از سرویس ترجمه هوش مصنوعی [Co-op Translator](https://github.com/Azure/co-op-translator) ترجمه شده است. در حالی که ما تلاش میکنیم دقت را حفظ کنیم، لطفاً توجه داشته باشید که ترجمههای خودکار ممکن است شامل خطاها یا نادرستیها باشند. سند اصلی به زبان اصلی آن باید به عنوان منبع معتبر در نظر گرفته شود. برای اطلاعات حساس، توصیه میشود از ترجمه حرفهای انسانی استفاده کنید. ما مسئولیتی در قبال سوء تفاهمها یا تفسیرهای نادرست ناشی از استفاده از این ترجمه نداریم. |