آموزش آردوینو

آموزش کنترل رله با برد آردوینو (کنترل وسایل)

سلام. آموزش نحوه کنترل رله با آردوینو را آماده کرده ایم. (آموزش Arduino قسمت 8) را آماده کرده ایم.

آموزش کنترل رله با برد آردوینو

ما در قسمت قبلی سری آموزش های آردوینو ، با نحوه استفاده از شیفت رجیستر در Arduino آشنا شدیم. الان در قسمت 8 آموزش آردوینو هستیم. لطفا برای درک عمیق تر مطالب، آموزش ها را از قسمت اول بخوانید.

در این قسمت ما ابتدا به طور کامل با رله ها و نحوه کار آنها آشنا میشویم و سپس نحوه برنامه نویسی برد آردوینو برای کنترل رله را می آموزیم.

رله چیست و چگونه کار میکند ؟

رله یک سوئیچ الکترومغناطیسی است که توسط جریان کم کنترل می شود و برای روشن و خاموش کردن جریان بزرگتر مورد استفاده قرار می گیرد. با استفاده از جریان کوچک می توان حالت رله را تغییر داد. رله گزینه خوبی برای کنترل دستگاه های AC (جریان متناوب) با استفاده از یک جریان DC بسیار کوچکتر است. رله دارای پنج پایه به شرح زیر است :

رله چیست و چگونه کار میکند ؟

هنگامی که هیچ ولتاژی به سیم پیچ اعمال نشود، Com به NC متصل است. و هنگامی که مقدار ولتاژ به سیم پیچ اعمال شود، میدان الکترو مغناطیسی تولید میشود که آرماتور متصل به NC را به سمت خود جذب میکند و باعث میشود COM و NO به هم متصل شوند. این کار باعث میشود بتوانیم با استفاده از جریان کمتر مثل جریان برد آردوینو که 5 ولت است، ورود جریان به طور مثال 220 ولت را کنترل کنیم.

رله ها انواع بسیار مختلفی دارند، در اینجا ما از رله با ولتاژ عامل 6 ولت استفاده میکنیم که به ما اجازه میدهد عبور جریان 7 آمپر 250 ولت AC را کنترل کنیم.

جهت کسب اطلاعات بیشتر، مقاله رله چیست را بخوانید.

رله ها اغلب با استفاده از یک مدار درایور کوچک که شامل یک ترانزیستور، دیود و یک مقاومت ترکیب میشوند. ترانزیستور برای تقویت جریان استفاده می شود به طوری که جریان کامل (از منبع DC) می تواند از طریق یک سیم پیچ جریان یابد تا انرژی آن را به طور کامل استفاده کند. از مقاومت برای تهیه بایاس به ترانزیستور استفاده می شود. و هنگام خاموش شدن ترانزیستور از دیود برای جلوگیری از جریان معکوس استفاده می شود.

هر سیم پیچ Inductor با خاموش شدن ناگهانی جریان متضاد و قوی ای تولید میکند بنابراین باید از دیود برای جلوگیری از جریان معکوس استفاده می شود. ماژول های رله با دیود و قطعات لازم به صورت آماده در بازار موجود است اما در صورتی که میخواهید از رله تنها استفاده کنید باید خودتان دیود ، ترانزیستور و … را به آن متصل کنید.

مدار درایور رله به همراه قطعات مورد نیاز آن در تصویر زیر نشان داده شده است.

مدار و قطعات ماژول رله

نحوه اتصال رله به برد آردوینو

در تصویر زیر نحوه اتصال یک رله به برد Arduino را مشاهده میکنید. همانطور که میبینید ما از پین A0 آردوینو برای کنترل رله استفاده کرده ایم.

قطعات مورد نیاز را از فروشگاه قطعات آیرنکس تهیه کنید.

شماتیک نحوه اتصال رله به برد آردوینو

در این مدار کنترل رله ما از آردوینو برای کنترل رله از طریق ترانزیستور BC547 استفاده کرده ایم. ما پایه ترانزیستور را از طریق یک مقاومت 1k به pin A0 وصل کرده ایم. یک لامپ AC برای نمایش عملکرد استفاده می شود. از آداپتور 12v برای تغذیه مدار استفاده می شود.

اگر در مورد این مطلب سوالی دارید در قسمت نظرات بپرسید

کار ساده است ، ما باید پین RELAY یعنی PIN A0 را فعال کنیم تا ماژول رله روشن شود و پین رله را غیرفعال کنیم تا ماژول رله خاموش شود. چراغ / وسیله AC طبق رله روشن و خاموش می شود.

برنامه نویسی رله در آردوینو

در این قسمت ما به طور کامل با نحوه برنامه نویسی رله در نرم افزار Arduino آشنا میشویم.

در قسمت اول کد ما پین رله را تعریف میکنیم که همانطور که گفتیم A0. همچنین برای اینکه برنامه از سادگی در بیاید ما یک متغیر تعریف میکنیم به نام interval که نمایان گر 1000 است. کمی جلوتر میفهمید به چه کار می آید.

#define relay A0 // تعریف پین رله
#define interval 1000 // تعریف 1000

سپس به تابع void setup میرسیم، در این قسمت پین رله (A0) را به عنوان پین خروجی تعریف میکنیم.

void setup() {
  pinMode(relay, OUTPUT); // تنظیم پین رله به عنوان خروجی
}

سپس به اصل کار میرسیم که تابع void loop است. هرچه در این تابع قرار دهیم پی در پی تکرار میشود. ما در این قسمت کد ها را طوری مینویسیم که رله ما خاموش و روشن شود.

void loop()
{
   digitalWrite(relay, HIGH); // رله روشن
   delay(interval); // به مدت تعریف شده 1 ثانیه
   digitalWrite(relay, LOW); // رله خاموش
   delay(interval); // به مدت تعریف شده 1 ثانیه
}

در قسمت بالا میبینید که در روبروی Delay که همان تاخیر است به جای عدد از کلمه interval استفاده کرده ایم. این کار باعث میشود در برنامه هایی که تعداد زیادی تاخیر شبیه به هم وجود دارد ، تغییر زمان انتظار راحت تر شود.

به طور مثال ما میخواهیم 10 ال ای دی را به فلاشر تبدیل کنیم که هر 1 ثانیه چشمک بزنند. اینجا اگر برای هر ال ای دی ، یک Delay عددی بنویسیم، در صورتی که بخواهیم مقدار تاخیر را به 2 ثانیه تبدیل کنیم باید 10 قسمت از کد را تغییر دهیم. اما اگر مثل اینجا یک کلمه را به جای عدد تعریف کنیم فقط با تغییر عدد تاخیر در اول کد، تاخیر برای هر 10 ال ای دی تغییر میکند.

کد کامل را در باکس زیر آورده ایم.

#define relay A0
#define interval 1000
void setup() {
  pinMode(relay, OUTPUT);
}
void loop()
{
   digitalWrite(relay, HIGH);
   delay(interval);
   digitalWrite(relay, LOW);
   delay(interval);
}
4.1 (32 نفر)

برای دریافت مطالب جدید کانال تلگرام یا پیج اینستاگرام ما را دنبال کنید.

محمد رحیمی

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

31 نظر

  1. سلام وقت بخیر، میخواستم ببینم راهی هست که بشه ۲۰ عدد ماژول سنسور گاز را به برد آردونیو متصل کنم؟ نیاز به برد کمکی هست؟ نیاز به رله هست؟

  2. سلام ببخشید
    رله ها چه خطراتی می توانند داشته باشند ؟
    می توانند باعث آتش سوزی هم شوند ؟

    1. سلام وقتتون بخیر ببخشید یه سوال داشتم
      پایه های d0 تا d5 آردوینو چند ولت برق رو خروجی میدن
      و اینکه اگه به این پین ها لامپ ۳ ولتی وصل کنم نمیسوزه؟

  3. سلام و درود ببخشید شما پروژه ی سفارش درست می کنید

    می خواستم پروژه ای با اردینو نانو بسازم که وقتی آب پر می شود با رله پمپ آب خاموش بشود

    اگه میشود میتوانید آن را در یکی از پست هاتون بگذارید

    1. سلام عزیز
      دوره آردوینو را مشاهده کنید برنامه نویسی پروژه های مختلف را یاد میگیرید.

  4. سلام، اگه من بخوام، یک چراغ خواب با اردوینو درست کنم، که با ولتاژ 220 ولت کار کنه، باید چیکار کنم؟
    ممنون میشم اگه کمکم کنید

    1. سلام عزیز
      کافی هست از یک رله 5 استفاده کنید. اگر در کار با آردوینو تازه وارد هستید برای یادگیری برنامه نویسی میتوانید دوره آموزش آردوینو را مشاهده کنید.

    1. سلام عزیز
      خوشحالم که رضایت داشتین

  5. با سلام و خسته نباشید
    ترانزیستور رو برای محافظت از برد در مقابل جریان کشی رله به عنواک یک واسطه قرار دادیم با اتصال مثبت سیم پیچ به پنج ولت روی برد مشکلی پیش نمیاد؟ چون با روشن شدن رله جریان رله از مسیر ترانزیستور برقرار میشه ولی باز هم پنج ولت برد در مدار هست آسیبی به برد نمیزنه؟

    1. سلام عزیز
      خیر مشکلی پیش نمیاد، پایه 5 ولت آردوینو اونو میتونه 0.8 آمپر جریان را خارج کنه.

  6. سلام وقتتون بخیر و تشکر بخاطر آموزشتون
    اگر بخوایم روشن و خاموش شدن رله وابسته به یک ولتاژ DC ورودی باشه چطور میشه؟
    به فرض اگر ولتاژ 4 ولت به یک پین آردوینو وارد شد رله را روشن کند

    1. سلام عزیز
      با استفاده از آنالوگ به دیجیتال ولتاژ ورودی رو بدست بیارید و یک شرط اضافه کنید در صورتی که ولتاژ 4 بود رله روشن بشه

  7. سلام، من یک ماژول رله دارم که وقتی پایه رله رو خاموش میکنم رله روشن میشه و وقتی روشن میکنم رله خاموش میشه:

    رله روشن:
    digitalWrite(RelayPin, LOW)
    رله خواموش:
    digitalWrite(RelayPin, HIGH)

    چرا این اتفاق می افتد؟

    1. سلام عزیز
      بعضی از ماژول های رله اینطور ساخته و پیکربندی شده اند مسئله خاصی نیست

    2. با سلام ببخشید پین رله برای اردینو نانو در کجاست

  8. سلام
    موتور 12 ولت رو هم میشه با رله و آردوینو راه اندازی کرد(مشابه همین مدار که برای لامپ بستید)؟ در اینصورت بازم به درایور نیاز داریم؟

    1. سلام عزیز
      بله میشه اما استفاده از موتور درایور بهتر هست

  9. سلام خسته نباشید
    من این کد رو وارد می کنم و گزینه ی آپلود رو که می زنم نرم افزار ارور می دهد.
    چه کار باید بکنم؟

    1. سلام عزیز
      ارور دریافتی رو اینجا ارسال کنید

  10. سلام درود خدمت مهندس ببخشید اگر بخواهیم 50 عدد رله رو وصل کنیم چطور میشه

  11. سلام من خاموش روشن رله ۲ کانال رو میخام با سیم‌کارت انجام‌بشه همه لوازمشو خریدم .gprs shisld ono به همراه یه uno به همراه پاژول رله ث کانال . اگه میتونید کمک کنید کد بدید ممنون میشم اگر نه بنویسید برام هزینشو میدم ممنون

  12. سلام، ممنون از مطلب خوبتون، یه سوالی داشتم. من رله رو از لینک زیر خریدم:
    1603804
    نوشته ماژول رله. پس من دیگه نیازی نیست وقتی وصلش میکنم به برد آردوینو، براش ترانزیستور و مقاومت بذارم؟

  13. سلام وقت شما بخیر.برای راه اندازی موتور های تکفاز نیاز به کلاج و پلاتین هست،حالا بعضی از دینام ها لوازماش گیر نمیاد.همکار ها یه رله میگذارند سر راه موتور که کار همون کلاج و پلاتین را انجام میده. ضمناً کار کلاج پلاتین به این صورت هست که زمانی که روتور به گردش در میاد پلاتین خازن های موتور که برای استارت استفاده میشود را از مدار خارج میکنه تا زمانی که دوباره موتور خاموش بشه و نیاز به استارت باشه.
    حالا سوالم این است که از چه رله ای باید استفاده کنم و طریقه ی نصب چگونه است.متشکرم

  14. سلام وقت بخیر
    من میخوام دوتا جک برقی رو کنترل کنم
    که به چهار رله نیاز دارم
    سوالم اینه
    برای کنترل چهار رله میشه از یک برد اردینو استفاده کرد؟

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *