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.
IoT-For-Beginners/translations/fa/2-farm/lessons/3-automated-plant-watering/pi-relay.md

7.0 KiB

کنترل یک رله - رزبری پای

در این بخش از درس، شما یک رله به رزبری پای خود اضافه خواهید کرد، علاوه بر سنسور رطوبت خاک، و آن را بر اساس سطح رطوبت خاک کنترل خواهید کرد.

سخت‌افزار

رزبری پای نیاز به یک رله دارد.

رله‌ای که استفاده خواهید کرد Grove relay است، یک رله معمولاً باز (به این معنی که مدار خروجی باز یا قطع است زمانی که هیچ سیگنالی به رله ارسال نمی‌شود) که می‌تواند مدارهای خروجی تا 250 ولت و 10 آمپر را مدیریت کند.

این یک عملگر دیجیتال است، بنابراین به یک پین دیجیتال روی Grove Base Hat متصل می‌شود.

اتصال رله

رله Grove می‌تواند به رزبری پای متصل شود.

وظیفه

رله را وصل کنید.

یک رله Grove

  1. یک سر کابل Grove را به سوکت روی رله وارد کنید. کابل فقط از یک جهت وارد می‌شود.

  2. با خاموش بودن رزبری پای، سر دیگر کابل Grove را به سوکت دیجیتال با علامت D5 روی Grove Base Hat که به پای متصل است وصل کنید. این سوکت دومین سوکت از سمت چپ در ردیف سوکت‌های کنار پین‌های GPIO است. سنسور رطوبت خاک را به سوکت A0 متصل نگه دارید.

رله Grove متصل به سوکت D5 و سنسور رطوبت خاک متصل به سوکت A0

  1. سنسور رطوبت خاک را در خاک قرار دهید، اگر قبلاً از درس قبلی در خاک قرار داده نشده است.

برنامه‌نویسی رله

اکنون می‌توان رزبری پای را برای استفاده از رله متصل برنامه‌نویسی کرد.

وظیفه

دستگاه را برنامه‌نویسی کنید.

  1. پای را روشن کنید و منتظر بوت شدن آن باشید.

  2. پروژه soil-moisture-sensor از درس قبلی را در VS Code باز کنید اگر هنوز باز نشده است. شما به این پروژه اضافه خواهید کرد.

  3. کد زیر را به فایل app.py زیر واردات موجود اضافه کنید:

    from grove.grove_relay import GroveRelay
    

    این دستور GroveRelay را از کتابخانه‌های پایتون Grove برای تعامل با رله Grove وارد می‌کند.

  4. کد زیر را زیر اعلان کلاس ADC اضافه کنید تا یک نمونه از GroveRelay ایجاد کنید:

    relay = GroveRelay(5)
    

    این یک رله با استفاده از پین D5، پین دیجیتالی که رله به آن متصل شده است، ایجاد می‌کند.

  5. برای آزمایش اینکه آیا رله کار می‌کند، کد زیر را به حلقه while True: اضافه کنید:

    relay.on()
    time.sleep(.5)
    relay.off()
    

    این کد رله را روشن می‌کند، 0.5 ثانیه صبر می‌کند، سپس رله را خاموش می‌کند.

  6. برنامه پایتون را اجرا کنید. رله هر 10 ثانیه روشن و خاموش می‌شود، با تأخیر نیم ثانیه بین روشن و خاموش شدن. شما صدای کلیک رله را هنگام روشن و خاموش شدن خواهید شنید. یک LED روی برد Grove هنگام روشن بودن رله روشن می‌شود و هنگام خاموش بودن رله خاموش می‌شود.

    رله روشن و خاموش می‌شود

کنترل رله بر اساس رطوبت خاک

اکنون که رله کار می‌کند، می‌توان آن را بر اساس خوانش‌های رطوبت خاک کنترل کرد.

وظیفه

رله را کنترل کنید.

  1. سه خط کدی که برای آزمایش رله اضافه کردید حذف کنید. آن‌ها را با کد زیر جایگزین کنید:

    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 باشد، آن را خاموش می‌کند.

    💁 به یاد داشته باشید که سنسور رطوبت خاک خازنی به این صورت کار می‌کند که هرچه سطح رطوبت خاک پایین‌تر باشد، رطوبت بیشتری در خاک وجود دارد و بالعکس.

  2. برنامه پایتون را اجرا کنید. خواهید دید که رله بسته به سطح رطوبت خاک روشن یا خاموش می‌شود. ابتدا در خاک خشک امتحان کنید، سپس آب اضافه کنید.

    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 پیدا کنید.

😀 برنامه کنترل رله توسط سنسور رطوبت خاک شما موفقیت‌آمیز بود!

سلب مسئولیت:
این سند با استفاده از سرویس ترجمه هوش مصنوعی Co-op Translator ترجمه شده است. در حالی که ما تلاش می‌کنیم دقت را حفظ کنیم، لطفاً توجه داشته باشید که ترجمه‌های خودکار ممکن است شامل خطاها یا نادرستی‌ها باشند. سند اصلی به زبان اصلی آن باید به عنوان منبع معتبر در نظر گرفته شود. برای اطلاعات حیاتی، ترجمه حرفه‌ای انسانی توصیه می‌شود. ما مسئولیتی در قبال سوء تفاهم‌ها یا تفسیرهای نادرست ناشی از استفاده از این ترجمه نداریم.