Relay and arduino – Control High Voltage AC Devices

यदि आप Home automation system बनाना चाहते हैं तो आपको arduino से High voltage AC Devices को control करने  लिए Relay की जरूरत पड़ेगी | ये एक electromagnetic switch है इसके बारे में और अधिक जानने के लिए ये लेख पढ़ें –

What is Relay? How Relay Works

Click here for English Version

इस प्रोजेक्ट में हम 2 Channel SPDT(single pole double throw),5v Relay का use करेंगे पर 1 Channel को ही Control करेंगे | (आप चाहें तो 1 Channel 5v या 12v Module को  भी use कर सकते हैं ) Relay को हम arduino Serial Monitor से control करेंगे, Serial Monitor का use कैसे करते हैं उसके लिए ये पोस्ट पढ़ें –

Control LED using arduino serial monitor


Warning !

जब भी 220V /120V AC और Relay पर कार्य करें हमेशा सावधानी बरतें connection करने के बाद Relay को हाथ में न पकड़ें, अक्सर ये गलती हो जाती है |इससे आप बुरी तरह घायल हो सकते हैं और मृत्यु भी हो सकती है |

SPDT Relay Module Pinout :

5v SPDT relay img_1

इस 2 Channel SPDT Relay Module में आगे 2 section हैं | जिसमें पहले Section में 3 pins हैं –

  1. JD-VCC – Relay को Separate Power supply देने के लिए
  2. VCC
  3. GND

दूसरे section में 4 pins हैं –

  1. GND – Arduino की Gnd pin से connect करें
  2. IN1 – पहली Relay के लिए signal Input
  3. IN2 – दूसरी Relay के लिए signal Input
  4.  VCC – Arduino की 5V pin से connect करें
subscribe करें ताकि new post की जानकारी आपको मिलती रहे

Enter your email address:

Delivered by FeedBurner

Module में पीछे 3 pin Screw Terminals जो दोनों relays के लिए अलग-अलग हैं |

NO1 – Normally Open

COM1 – Common

NC1 – Normally close

Circuit तैयार करें –

यहाँ मैंने 2 तरह के Circuits बनाए हैं –

arduino controlled relay switch img_1

पहले Circuit में Vcc को JD-Vcc से जोड़कर हम Relay को drive करने के लिए arduino से ही power ले रहे हैं पर इसमें थोड़ा खतरा है क्योंकि Relay वाली post में मैंने आपको बताया था कि इसमें एक coil होती है जो power देने पर magnet का कार्य करती है |पहले Circuit में आपकी coil और arduino में Direct Connection होता है और यदि Relay में कोई खराबी आई तो आपका arduino board भी तुरंत जलकर खराब हो जाएगा |

arduino controlled relay switch img_2

अपने MCU या Arduino को जलने से बचने के लिए हम इस तरह separate power supply देकर optocoupler ic का use करते हैं ये IC module में पहले से लगी होती है ये optocoupler IC signal को भेजने के लिए LED Light का इस्तेमाल करती है एक जिससे हमारा Arduino पूरी तरह safe रहता है |

Arduino में Code Upload करें –

Relay को control करने के लिए हम Serial Monitor का use करेंगे | 1 Enter करने पर Relay activate हो जाएगी और 0 Enter करने पर deactivate.

यहाँ ध्यान देने की बात ये है Relay की INPUT pin उल्टे ढंग से कार्य करती है इसलिए हमें Relay को activate करने के लिए arduino pin को LOW पर set करना होगा और deactivate करने के लिए HIGH पर |

// Relay and arduino - Control High Voltage AC Devices
// Created by : Yogesh
// Date : 17 Dec 2017
// http://migdreem.com
// fb page : http://facebook.com/migdreem
// android apps : https://play.google.com/store/apps/developer?id=Migdreem
const int relay_1 = 9;
int s;

void setup() {
  pinMode(relay_1, OUTPUT);
  digitalWrite(relay_1, HIGH);
  Serial.begin(9600);
  Serial.println("Enter 1 for Activate and 0 for Deactivate");
}

void loop() {
  s = Serial.read();

  switch (s)
  {
    case '1':
      digitalWrite(relay_1, LOW);
      Serial.println("Relay_1 Activate - WOW");
      break;
    case '0':
      digitalWrite(relay_1, HIGH);
      Serial.println("Relay_1 Deactivate");
      break;
  }
}

Code को समझें –

const int relay_1 = 9;
int s;

हमने 2 variable, relay_1 और s माने |

void setup() {
  pinMode(relay_1, OUTPUT);
  digitalWrite(relay_1, HIGH);
  Serial.begin(9600);
  Serial.println("Enter 1 for Activate and 0 for Deactivate");
}

relay_1 को OUTPUT में set किया और setup में ही HIGH पर set कर दिया ताकि arduino को power देने पर relay deactivate रहे |

Serial port Open कर data rate को 9600 baud पर set किया, Serial monitor start करने पर ये लिखकर आएगा – Enter 1 for Activate and 0 for Deactivate. आप इसे बदल सकते हैं |

void loop() {
  s = Serial.read();

loop start किया और serial port से data read कर s variable में store कर लिया |

  switch (s)
  {
    case '1':
      digitalWrite(relay_1, LOW);
      Serial.println("Relay_1 Activate - WOW");
      break;
    case '0':
      digitalWrite(relay_1, HIGH);
      Serial.println("Relay_1 Deactivate");
      break;
  }
}

सही चुनाव के लिए switch statement का प्रयोग किया | हमें केवल Relay activate या deactivate  करनी है इसलिए केवल 2 case ही बनेंगे  |

Serial port से 1 Enter करने पर relay_1 की Pin low हो जाएगी और Serial Monitor पर “Relay_1 Activate – WOW” लिखाकर आएगा |

Serial port से 0 Enter करने पर relay_1 की Pin High हो जाएगी और Serial Monitor पर “Relay_1 Dectivate” लिखकर आएगा |

यदि लेख पसंद आया हो या फिर कोई परेशानी हो तो comment में लिखें और Subscribe जरूर करें |

§ Thank You ! §

प्रातिक्रिया दे

आपका ईमेल पता प्रकाशित नहीं किया जाएगा. आवश्यक फ़ील्ड चिह्नित हैं *

  • MIGDREEM.COM