راه اندازی ماژول Relay

  • مدرس: علی بیگدلی
  • تاریخ انتشار: Aug 25, 2020

ما می توانیم دستگاه هایی با ولتاژ بالا را با استفاده از رله ها کنترل کنیم. یک رله در واقع یک سوئیچ است که توسط یک عملکرد الکترومغناطیسی صورت میگیرد. به شکلی که با تغییر ولتاژ در پایه های عمل کننده می تواند وضعیت رله را از متصل به قطع و بر عکس تبدیل کند. ماژول رله HL-52S به عنوان مثال برای این بخش ما از یک ماژول رله 2 کاناله HL-52S استفاده خواهیم کرد که دارای 2 رله با رتبه 10A @ 250 و 125 V AC و 10A @ 30 و 28 V DC است. اتصال خروجی ولتاژ بالا دارای 3 پین است، پین های معمولی پین معمولی است و همانطور که می توانیم از نشانه ها ببینیم، یکی از دو پین دیگر برای اتصال به طور معمول باز است و دیگری برای اتصال به طور معمول بسته است. (normally open and normally close) و حالا برای مثال نمونه ای از یک شماتیک اتصال یک رله به آردینو را به شما نمایش خواهیم داد.

برای مثال قطعه کد زیر نقش خاموش و روشن کردن رله مورد نظر پس از گذشت 10 ثانیه را دارد.

int relay_pin = 2;

// the setup function runs once when you press reset or power the board
void setup() {
  // initialize digital pin LED_BUILTIN as an output.
  pinMode(relay_pin, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(relay_pin, HIGH);   // turn the Relay on (HIGH is the voltage level)
  delay(10000);                       // wait for 10 second
  digitalWrite(relay_pin, LOW);    // turn the Relay off by making the voltage LOW
  delay(10000);                       // wait for 10 second
}

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

مثال:

//defining the pins for controling the relay when the button is pushed
int relay_pin = 2;
int push_btn = 3;

// the setup function runs once when you press reset or power the board
void setup() {
  // initialize digital pin relay pin as an output.
  pinMode(relay_pin, OUTPUT);
  // initialize digital pin button pin as an output.
  pinMode(push_btn, INPUT);
}

// the loop function runs over and over again forever
void loop() {
  //check if the button is pushed 
  if (digitalRead(push_btn) == HIGH) {
    digitalWrite(relay_pin, HIGH);   // turn the Relay on (HIGH is the voltage level)
  }
  else {
    digitalWrite(relay_pin, LOW);    // turn the Relay off by making the voltage LOW
  }
}

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

//defining the pins for controling the relay when the button is pushed
int relay_pin = 2;
int push_btn = 3;

boolean pin_state = false;
// the setup function runs once when you press reset or power the board

void setup() {
  // initialize digital pin relay pin as an output.
  pinMode(relay_pin, OUTPUT);
  // initialize digital pin button pin as an output.
  pinMode(push_btn, INPUT);
}

// the loop function runs over and over again forever
void loop() {
  //check if the button is pushed
  if (digitalRead(push_btn) == HIGH) {
    if (pin_state) {
      pin_state = false;
    }
    else {
      pin_state = true;
    }
    if (pin_state == true)
      digitalWrite(relay_pin, HIGH);   // turn the Relay on (HIGH is the voltage level)
  }
  else {
    digitalWrite(relay_pin, LOW);    // turn the Relay off by making the voltage LOW
  }
}

 

ثبت دیدگاه
نام *
ایمیل*
دیدگاه *
0دیدگاه