Search Code

HC-SR501 મોશન સેન્સરને રિલે અને આર્ડુઈનો કોડ સાથે ઉપયોગ કરવું

HC-SR501 મોશન સેન્સરને રિલે અને આર્ડુઈનો કોડ સાથે ઉપયોગ કરવું

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

અમે હાર્ડવેર સેટઅપ, વાયરિંગ સૂચનાઓ અને આ કાર્યક્ષમતા પ્રાપ્ત કરવા માટે જરૂરી Arduino કોડ પર એક પગલું-દર-પગલાની માર્ગદર્શિકા પ્રદાન કરીશું. પ્રક્રિયાની સ્પષ્ટ સમજણ માટે, સંબંધિત વિડિઓ જોવાની ખાતરી કરો (વિડિઓમાં 00:00 પર).

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

આ પ્રોજેક્ટમાં પ્રાથમિક ઘટકોમાં HC-SR501 મોશન સેન્સર, એક રિલે મોડ્યુલ અને એક Arduino બોર્ડ શામેલ છે. HC-SR501 સેન્સરમાં ત્રણ પિન છે: VCC, GND અને OUT. VCC પિન પાવર સ્ત્રોત (5V) સાથે જોડાય છે, GND પિન ગ્રાઉન્ડ સાથે જોડાય છે, અને OUT પિન હિલચાલ શોધાય ત્યારે Arduino ને સિગ્નલ મોકલે છે.

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

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

ઉત્પાદકHC-SR501
ભાગ નંબરHC-SR501
લોજિક/IO વોલ્ટેજ5 V
સપ્લાય વોલ્ટેજ5–20 V
પાવર વપરાશ65 mA
શોધ કોણ120 ડિગ્રી
શોધ અંતર3–7 મી
ઓપરેટિંગ તાપમાન-15 થી 70 °C
આઉટપુટ પ્રકારડિજિટલ
પેકેજમોડ્યુલ

  • સેન્સર માટે યોગ્ય પાવર સપ્લાય (5–20 V) સુનિશ્ચિત કરો.
  • શ્રેષ્ઠ શોધ શ્રેણી માટે સંવેદનશીલતા પોટેન્શિયોમીટરને સમાયોજિત કરો.
  • લોડને અસરકારક રીતે નિયંત્રિત કરવા માટે રિલેના NO પિનનો ઉપયોગ કરો.
  • રિલેના વર્તમાન રેટિંગ (10 A મહત્તમ) વિશે સાવચેત રહો.
  • અંતિમ ઇન્સ્ટોલેશન પહેલાં મોશન સેન્સરની શોધ શ્રેણીનું પરીક્ષણ કરો.
  • ઉચ્ચ લોડ માટે રિલેનો ઉપયોગ કરતી વખતે ગરમીના વિસર્જનને ધ્યાનમાં લો.

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

Arduino wiring for HC-SR501 Motions sensor
Arduino wiring for HC-SR501 Motions sensor

HC-SR501 મોશન સેન્સર અને રિલેને Arduino સાથે વાયર કરવા માટે, મોશન સેન્સરના VCC પિનને Arduino પરના 5V પિન સાથે જોડીને શરૂ કરો. આગળ, સેન્સરના GND પિનને Arduino પરના એક GND પિન સાથે જોડો. મોશન સેન્સરમાંથી OUT પિન Arduino પર ડિજિટલ પિન 2 સાથે જોડાયેલ હોવો જોઈએ.

રિલે મોડ્યુલ માટે, VCC પિનને Arduino પરના 5V પિન સાથે અને GND પિનને ગ્રાઉન્ડ સાથે જોડો. રિલેનો ઇનપુટ પિન (ઘણીવાર IN અથવા સમાન લેબલવાળો) Arduino પર ડિજિટલ પિન 4 સાથે જોડાયેલ હોવો જોઈએ. આ સેટઅપ માટે તે સામાન્ય રીતે ખુલ્લું (NO) સેટ છે તેની ખાતરી કરવા માટે રિલેની દિશા તપાસવાની ખાતરી કરો. છેલ્લે, લોડ (દા.ત., એક AC બલ્બ) ને રિલેની વિશિષ્ટતાઓ અનુસાર રિલે સાથે જોડો, ખાતરી કરો કે જોડાણો સુરક્ષિત છે.

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

Arduino કોડમાં, આપણે સેન્સર અને રિલે પિન માટે સ્થિરાંકો વ્યાખ્યાયિત કરીએ છીએ. સેન્સર પિન SENSOR_PIN તરીકે સેટ છે, જે ડિજિટલ પિન 2 ને સોંપાયેલ છે, અને રિલે પિન RELAY_PIN તરીકે સેટ છે, જે ડિજિટલ પિન 4 ને સોંપાયેલ છે. આ રૂપરેખાંકન આપણને સેન્સરના આઉટપુટને વાંચવા અને તે મુજબ રિલેને નિયંત્રિત કરવાની મંજૂરી આપે છે.

const int SENSOR_PIN = 2; // સેન્સરના આઉટપુટ સાથે જોડાયેલ Arduino પિન
const int RELAY_PIN = 4; // રિલેને નિયંત્રિત કરવા માટે જોડાયેલ Arduino પિન

setup() ફંક્શનમાં, આપણે ડિબગિંગ માટે સીરિયલ મોનિટર શરૂ કરીએ છીએ અને સેન્સર અને રિલે પિન માટે પિન મોડ્સ સેટ કરીએ છીએ. આ સુનિશ્ચિત કરે છે કે Arduino જાણે છે કે કયા પિન ઇનપુટ અને આઉટપુટ છે.

void setup() {
  Serial.begin(9600); // માહિતી દર્શાવવા માટે સીરિયલ મોનિટર સેટ કરો
  pinMode(SENSOR_PIN, INPUT); // SENSOR_PIN ને સેન્સરમાંથી ઇનપુટ તરીકે વ્યાખ્યાયિત કરો
  pinMode(RELAY_PIN, OUTPUT); // RELAY_PIN ને રિલે માટે આઉટપુટ તરીકે વ્યાખ્યાયિત કરો
}

loop() ફંક્શનમાં, આપણે સતત મોશન સેન્સરની સ્થિતિ તપાસીએ છીએ. જો હિલચાલ શોધાય છે, તો આપણે સીરિયલ મોનિટર પર સંદેશ છાપીએ છીએ અને તેને ઓછું સેટ કરીને રિલે ચાલુ કરીએ છીએ. જો કોઈ હિલચાલ શોધાતી નથી, તો આપણે એક અલગ સંદેશ છાપીએ છીએ અને તેને ઊંચું સેટ કરીને રિલે બંધ કરીએ છીએ.

void loop() {
  int motion = digitalRead(SENSOR_PIN); // સેન્સર પિન વાંચો
  if (motion) {
    Serial.println("હિલચાલ શોધાઈ");
    digitalWrite(RELAY_PIN, LOW); // રિલે ચાલુ કરો
  } else {
    Serial.println("===કંઈ ખસતું નથી");
    digitalWrite(RELAY_PIN, HIGH); // રિલે બંધ કરો
  }
  delay(500);
}

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

જ્યારે મોશન સેન્સર હિલચાલ શોધે છે, ત્યારે રિલે સક્રિય થશે, જે જોડાયેલ લોડ, જેમ કે AC બલ્બ, માં પાવર વહેવા દેશે. તમારે હિલચાલ શોધાય ત્યારે તરત જ બલ્બ ચાલુ થતો જોવો જોઈએ. જો સેન્સર કોઈ હિલચાલ શોધતું નથી, તો બલ્બ બંધ રહેશે. ધ્યાન રાખો કે સેન્સરની સંવેદનશીલતા સેટિંગ્સ તેની શોધ શ્રેણીને અસર કરશે, તેથી શ્રેષ્ઠ કામગીરી માટે ગોઠવણો જરૂરી હોઈ શકે છે (વિડિઓમાં 05:00 પર).

સામાન્ય મુશ્કેલીઓમાં ખોટું વાયરિંગ અથવા રિલેની વર્તમાન મર્યાદા કરતાં વધી જવું શામેલ છે, જે નિષ્ફળતા તરફ દોરી શકે છે. ખાતરી કરો કે બધા જોડાણો સુરક્ષિત છે અને અંતિમ ઉપયોગ પહેલાં નિયંત્રિત વાતાવરણમાં સેટઅપનું પરીક્ષણ કરો.

વિડિઓ ટાઇમસ્ટેમ્પ્સ

  • 00:00 શરૂઆત
  • 00:35 હાર્ડવેર સમજાવ્યું
  • 04:35 રિલે પાવર રેટિંગ
  • 06:00 વાયરિંગ સમજાવ્યું
  • 07:53 આર્ડુઇનો કોડ સમજાવ્યો
  • 09:48 આ પ્રોજેક્ટનું પ્રદર્શન

Images

HC-SR501 back
HC-SR501 back
HC-SR501 module
HC-SR501 module
Arduino wiring for HC-SR501 Motions sensor
Arduino wiring for HC-SR501 Motions sensor
141-Arduino source code for an HC-SR501 motion sensor to control an AC bulb or load
Language: C++
/*
 * This Arduino code uses an HS-SR501 motion sensor and a relay
 * and switches an alarm or a device using the relay when motion is detected.
 * The device can be an alarm, a light, or any other device.
 *

 * Written by Ahmad Shamshiri on August 5, 2018, at 12:36 PM for Robojax.com
 * in Ajax, Ontario, Canada
 * Watch the video instruction for this code: https://youtu.be/QQ7iDagQnQM
 * This code has been downloaded from Robojax.com

 */

const int SENSOR_PIN = 2;// the Arduino pin connected to the output (middle) wire of the sensor
const int RELAY_PIN = 4;// the Arduino pin which is connected to control the relay

void setup() {
  Serial.begin(9600);// setup Serial Monitor to display information
   Serial.println("Robojax Arduino Tutorial");
   Serial.println("HC-SR501 sensor with relay");
  pinMode(SENSOR_PIN, INPUT);// Define SENSOR_PIN as Input from sensor
  pinMode(RELAY_PIN, OUTPUT);// Define RELAY_PIN as OUTPUT for relay
}

void loop() {
  // Robojax.com HC-SR501 motion sensor tutorial August 5, 2018
  int motion =digitalRead(SENSOR_PIN);// read the sensor pin and stores it in "motion" variable
 
  // if motion is detected
  if(motion){
    Serial.println("Motion detected");
    digitalWrite(RELAY_PIN, LOW);// Turn the relay ON
  }else{
     Serial.println("===Nothing moves");
     digitalWrite(RELAY_PIN,HIGH);// Turn the relay OFF
  }
  delay(500);
  // Robojax.com HC-SR501 motion sensor tutorial August 5, 2018
}

Resources & references

No resources yet.

Files📁

No files available.