કોડ શોધો

આર્ડુનો કોડ 4-થી-16 ચેનલ 5V રિલે મોડ્યુલ માટે

આર્ડુનો કોડ 4-થી-16 ચેનલ 5V રિલે મોડ્યુલ માટે

આ ટ્યુટોરિયલમાં, આપણે શીખીશું કે Arduino નો ઉપયોગ કરીને 4-ચેનલ રિલે મોડ્યુલને કેવી રીતે નિયંત્રિત કરવું. આ તમને લાઇટ, પંખા અથવા હીટર જેવા AC લોડને સુરક્ષિત અને અસરકારક રીતે સંચાલિત કરવાની મંજૂરી આપશે. આપેલ કોડને વધુ ચેનલો ધરાવતા મોડ્યુલો માટે અનુકૂલિત કરી શકાય છે, જે તેને વિવિધ એપ્લિકેશનો માટે બહુમુખી બનાવે છે.

વિગતોમાં ઊંડા ઉતરતા પહેલા, આ પ્રોજેક્ટમાં સામેલ ઘટકોને સમજવું આવશ્યક છે. રિલે મોડ્યુલ એક સ્વિચ તરીકે કાર્ય કરે છે જે ઉચ્ચ વોલ્ટેજ ઉપકરણોને નિયંત્રિત કરી શકે છે જ્યારે Arduino થી ઓછા વોલ્ટેજ સિગ્નલો દ્વારા નિયંત્રિત થાય છે. દરેક રિલે સામાન્ય રીતે ખુલ્લો અથવા સામાન્ય રીતે બંધ હોઈ શકે છે, જે કનેક્ટેડ ઉપકરણો કેવી રીતે કાર્ય કરે છે તેમાં સુગમતા પ્રદાન કરે છે. વિઝ્યુઅલ માર્ગદર્શન માટે કૃપા કરીને વિડિઓનો સંદર્ભ લો (વિડિઓમાં 02:15 પર).

હાર્ડવેર સમજાવ્યું

આ પ્રોજેક્ટના મુખ્ય ઘટકોમાં Arduino બોર્ડ અને રિલે મોડ્યુલનો સમાવેશ થાય છે. Arduino નિયંત્રક તરીકે કાર્ય કરે છે, જે આપણે લખીએ છીએ તે કોડના આધારે રિલે મોડ્યુલને સિગ્નલ મોકલે છે. રિલે મોડ્યુલમાં બહુવિધ રિલે હોય છે જે AC લોડને ચાલુ અને બંધ કરી શકે છે. દરેક રિલેમાં ત્રણ ટર્મિનલ હોય છે: સામાન્ય રીતે બંધ (NC), સામાન્ય રીતે ખુલ્લું (NO), અને એક સામાન્ય ટર્મિનલ (COM).

જ્યારે રિલે સક્રિય થાય છે, ત્યારે સામાન્ય ટર્મિનલ સામાન્ય રીતે ખુલ્લા ટર્મિનલ સાથે જોડાય છે, જે લોડ દ્વારા વિદ્યુત પ્રવાહને વહેવા દે છે. આ એક ઓછું-ટ્રિગર રિલે છે, એટલે કે તે ઓછું વોલ્ટેજ સિગ્નલ (0V) પ્રાપ્ત કરે ત્યારે સક્રિય થાય છે અને ઉચ્ચ વોલ્ટેજ સિગ્નલ (5V) સાથે નિષ્ક્રિય થાય છે. AC ઉપકરણોને સુરક્ષિત રીતે નિયંત્રિત કરવા માટે આ પદ્ધતિને સમજવી નિર્ણાયક છે.

ડેટાશીટ વિગતો

ઉત્પાદકજેનેરિક
ભાગ નંબર4-ચેનલ રિલે મોડ્યુલ
લોજિક/IO વોલ્ટેજ5 V
સપ્લાય વોલ્ટેજ5 V
આઉટપુટ કરંટ (પ્રતિ ચેનલ)10 A મહત્તમ
પીક કરંટ (પ્રતિ ચેનલ)15 A
PWM આવૃત્તિ માર્ગદર્શનN/A
ઇનપુટ લોજિક થ્રેશોલ્ડઓછું: 0 V; ઉચ્ચ: 5 V
વોલ્ટેજ ડ્રોપ / RDS(on) / સેચ્યુરેશનN/A
થર્મલ મર્યાદાઓ85 °C
પેકેજસ્ટાન્ડર્ડ રિલે મોડ્યુલ
નોંધો / વેરિઅન્ટ્સ2, 4, 8, અને 16 ચેનલ વેરિઅન્ટ્સમાં ઉપલબ્ધ

  • નુકસાન અટકાવવા માટે રિલેના કરંટ રેટિંગને ઓળંગવામાં ન આવે તેની ખાતરી કરો.
  • Arduino ને અલગ કરવા માટે ઉચ્ચ-કરંટ એપ્લિકેશનો માટે અલગ પાવર સપ્લાયનો ઉપયોગ કરો.
  • ઓપરેશન દરમિયાન રિલે માટે યોગ્ય ગરમી વિસર્જન જાળવો.
  • શોર્ટ સર્કિટ ટાળવા માટે વાયરિંગ કાળજીપૂર્વક તપાસો.
  • વધારાની સુરક્ષા માટે જરૂર પડે તો ઓપ્ટો-આઇસોલેટરનો ઉપયોગ કરો.

વાયરિંગ સૂચનાઓ

Arduino wirign for 4 channel relay to control 4 AC load
Arduino wirign for 4 channel relay to control 4 AC load

રિલે મોડ્યુલને તમારા Arduino સાથે વાયર કરવા માટે, રિલે મોડ્યુલના ગ્રાઉન્ડ પિનને Arduino પરના ગ્રાઉન્ડ પિન સાથે જોડીને શરૂ કરો. આગળ, રિલે મોડ્યુલ પરના VCC પિનને Arduino પરના 5V પિન સાથે જોડો. નિયંત્રણ પિન માટે, રિલે મોડ્યુલના IN1, IN2, IN3, અને IN4 પિનને અનુક્રમે Arduino પરના ડિજિટલ પિન 2, 3, 4, અને 5 સાથે જોડો. આ સેટઅપ Arduino ને દરેક રિલેની સ્થિતિને નિયંત્રિત કરવાની મંજૂરી આપે છે.

રિલે મોડ્યુલને ઇન્સ્યુલેટેડ સપાટી પર મૂકવાની ખાતરી કરો, કારણ કે તે AC લોડ સાથે વ્યવહાર કરે છે. જો તમે રિલે માટે બાહ્ય પાવર સપ્લાયનો ઉપયોગ કરી રહ્યા છો, તો સામાન્ય સંદર્ભ સુનિશ્ચિત કરવા માટે તેના ગ્રાઉન્ડને Arduino ગ્રાઉન્ડ સાથે જોડો. યોગ્ય કામગીરી અને સલામતી માટે આ નિર્ણાયક છે.

કોડ ઉદાહરણો અને વોકથ્રુ

નીચેનો કોડ સ્નિપેટ રિલેની સંખ્યા શરૂ કરે છે અને નિયંત્રણ પિન સેટ કરે છે:

int ch = 4; // તમારી પાસે રિલેની સંખ્યા
int relay[]={2,3,4,5}; // રિલે માટે Arduino પિન નંબર

આ રિલેની સંખ્યા અને તેમના અનુરૂપ Arduino પિન જોડાણોને વ્યાખ્યાયિત કરે છે. relay એરે દરેક રિલેને નિયંત્રિત કરવા માટે વપરાતા પિન નંબરો ધરાવે છે.

Wirig relay module to AC load

આગળ, આપણે setup() ફંક્શનમાં પિન સેટ કરીએ છીએ:

void setup() {
    Serial.begin(9600); // સીરિયલ મોનિટર તૈયાર કરો
    for(i=0; i < ch; i++) {
        pinMode(relay[i], OUTPUT); // i(મું) પિનને આઉટપુટ તરીકે સેટ કરો
        digitalWrite(relay[i], HIGH); // રિલેને બંધ કરો  
    }
    Serial.println("Robojax 4 રિલે ટેસ્ટ");
}

આ કોડ સીરિયલ મોનિટરને શરૂ કરે છે અને દરેક રિલે પિનને આઉટપુટ તરીકે સેટ કરે છે, તેમને ડિફોલ્ટ રૂપે બંધ કરે છે. સીરિયલ પ્રિન્ટ સ્ટેટમેન્ટ પુષ્ટિ કરે છે કે સેટઅપ પૂર્ણ થયું છે.

પ્રોગ્રામનો મુખ્ય લૂપ રિલેને નિયંત્રિત કરે છે:

void loop() {
    for(int i=0; i < ch; i++) {
        Serial.print("રિલે "); Serial.print(i+1); Serial.println(" ચાલુ");
        digitalWrite(relay[i], LOW); // રિલેને ચાલુ કરો    
        delay(wait);  
    }
    for(int i=0; i < ch; i++) {
        Serial.print("રિલે "); Serial.print(i+1); Serial.println(" બંધ");
        digitalWrite(relay[i], HIGH); // રિલેને બંધ કરો    
        delay(wait);  
    }
    Serial.println("====== લૂપ પૂર્ણ ==");
}

આ લૂપ પહેલા દરેક રિલેને એક પછી એક ચાલુ કરે છે, નિર્દિષ્ટ સમય માટે રાહ જુએ છે, અને પછી તેમને સમાન ક્રમમાં બંધ કરે છે. સીરિયલ આઉટપુટ રિલેની સ્થિતિને રીઅલ-ટાઇમમાં મોનિટર કરવામાં મદદ કરે છે.

પ્રદર્શન / શું અપેક્ષા રાખવી

જ્યારે તમે પ્રોગ્રામ ચલાવો છો, ત્યારે તમે રિલેને ક્રમમાં સક્રિય થતા જોશો, દર બે સેકન્ડે ચાલુ અને બંધ થતા. જો બધું યોગ્ય રીતે વાયર થયેલું હોય, તો રિલે સાથે જોડાયેલા AC લોડ તે મુજબ પ્રતિસાદ આપશે. આર્ડુઇનોમાંથી થતા કરંટ ડ્રો પ્રત્યે સાવધ રહો; જો ઘણા બધા રિલે એક સાથે સક્રિય થાય, તો તે બોર્ડની ક્ષમતા કરતાં વધી શકે છે (વિડિયોમાં 13:45 પર).

વિડિયો સમયસ્ટેમ્પ્સ

  • 00:00 પરિચય
  • 02:15 હાર્ડવેર સમજૂતી
  • 05:30 વાયરિંગ સૂચનાઓ
  • 08:45 કોડ વોકથ્રુ
  • 13:45 પ્રદર્શન

છબીઓ

Wirig relay module to AC load
Wirig relay module to AC load
Arduino wirign for 4 channel relay to control 4 AC load
Arduino wirign for 4 channel relay to control 4 AC load
88-This is code for a 4- to 16-channel 5V relay module for Arduino.
ભાષા: C++
++
/*
This is code to control 4 to 16 channel 5V relay modules using Arduino.
 * Watch the video on how to use 4 to unlimited relay channels: https://youtu.be/Wbm3MCMgM_s
 
 */
/*
 *  This code was written by Ahmad Shamshiri for Robojax.com.
// Written March 26, 2018, at 12:14 in Ajax, Ontario, Canada.

 *  
 */

int ch = 4;// number of relays you have
int relay[]={2,3,4,5}; // Arduino pin numbers. The same number of relays should be defined here as input pins


int wait = 2000;// delay time
int i=0;

void setup() {
    Serial.begin(9600);// prepare Serial monitor
    // set pins as output
 for(i=0; i < ch; i++)
 {    
    pinMode(relay[i], OUTPUT);// set i(th) pin as output
   digitalWrite(relay[i], HIGH); // Turn the relay OFF  
 }
               
    Serial.println("Robojax 4 Relay Test");
}

void loop() {
    
     
 for(int i=0; i < ch; i++)
 {
      Serial.print("Relay "); Serial.print(i+1);Serial.println(" ON");
      digitalWrite(relay[i], LOW); // Turn the relay ON    
      delay(wait);  
 }// for loop


 for(int i=0; i < ch; i++)
 {
      Serial.print("Relay "); Serial.print(i+1);Serial.println(" OFF");
      digitalWrite(relay[i], HIGH); // Turn the relay OFF    
      delay(wait);  
 }// for loop

    Serial.println("====== loop done ==");

}// loop
89-If you want to replace the loop inside setup(), then use this as shown in the video.
ભાષા: C++
pinMode(relay[0], OUTPUT);// connected to relay 1
    digitalWrite(relay[0], HIGH); // Turn the relay OFF  


    pinMode(relay[1], OUTPUT);// connected to relay 2
    digitalWrite(relay[1], HIGH); // Turn the relay OFF  

    pinMode(relay[2], OUTPUT);// connected to relay 3
    digitalWrite(relay[2], HIGH); // Turn the relay OFF  

    pinMode(relay[3], OUTPUT);// connected to relay 4
    digitalWrite(relay[3], HIGH); // Turn the relay OFF

તમને જોઈતી વસ્તુઓ

સંસાધનો અને સંદર્ભો

હજી સુધી કોઈ સંસાધનો નથી.

ફાઇલો📁

Fritzing ફાઇલ