کوڈ تلاش کریں

آردوینو کے ساتھ ریلے اور اے سی/ڈی سی لوڈز کو کنٹرول کرنے کے لیے ریڈ سوئچ کا استعمال

آردوینو کے ساتھ ریلے اور اے سی/ڈی سی لوڈز کو کنٹرول کرنے کے لیے ریڈ سوئچ کا استعمال

اس ٹیوٹوریل میں، ہم دریافت کریں گے کہ ایک ریڈ سوئچ کو Arduino کے ساتھ استعمال کرتے ہوئے ایک ریلے کو کیسے کنٹرول کیا جائے جو AC اور DC دونوں لوڈز کو سنبھال سکتا ہے۔ ریڈ سوئچ ایک مقناطیسی سینسر کے طور پر کام کرتا ہے، جس سے ہم مقناطیس کی قربت کی بنیاد پر ریلے کو متحرک کر سکتے ہیں۔ یہ کنفیگریشن الارم، خودکار لائٹس، یا کسی بھی منظر نامے کے لیے بہترین ہے جہاں آپ مقناطیسی فیلڈ کی موجودگی یا غیر موجودگی کی بنیاد پر آلات کو کنٹرول کرنا چاہتے ہیں۔ نتیجہ ایک مکمل طور پر فعال سرکٹ ہوگا جو ریڈ سوئچ کی حالت کے لحاظ سے لائٹ یا الارم کو آن یا آف کر سکتا ہے۔

Reed Switch Schematic
Reed Switch module

جیسے ہی ہم اس پروجیکٹ کو بنائیں گے، ہم شامل اہم اجزاء پر بحث کریں گے، بشمول ریڈ سوئچ، ریلے، اور Arduino۔ ریڈ سوئچ کے تین پن ہیں: VCC (پاور)، GND (گراؤنڈ)، اور OUTPUT (سگنل)۔ جب مقناطیس قریب آتا ہے، سوئچ بند ہو جاتا ہے، جس سے سگنل پن HIGH ہو جاتا ہے، جو پھر ریلے کو متحرک کر سکتا ہے۔ ریلے زیادہ وولٹیج والے لوڈز کے لیے ایک سوئچ کے طور پر کام کرتا ہے، جو اسے لیمپ یا الارم جیسے آلات کو کنٹرول کرنے کے لیے موزوں بناتا ہے۔

بصری مظاہرے اور مزید وضاحت کے لیے، متعلقہ ویڈیو کو (ویڈیو میں 00:00 پر) ضرور دیکھیں۔

Reed Switch module to view

ہارڈویئر کی وضاحت

اس پروجیکٹ کے اہم اجزاء میں ایک ریڈ سوئچ، ایک ریلے ماجیول، اور ایک Arduino بورڈ شامل ہیں۔ ریڈ سوئچ ایک مقناطیسی سینسر ہے جو اپنے رابطے بند کر دیتا ہے جب مقناطیس قریب ہوتا ہے، جس سے OUTPUT پن کے ذریعے کرنٹ بہنے لگتا ہے۔ یہ پن ریلے کو سگنل بھیجتا ہے، جو زیادہ وولٹیج والے آلات کو محفوظ طریقے سے کنٹرول کر سکتا ہے۔

ریلے ماجیول بڑے لوڈز کو کنٹرول کرنے کے لیے ڈیزائن کیا گیا ہے۔ اس کے تین اہم کنکشن ہیں: Common (COM)، Normally Open (NO)، اور Normally Closed (NC)۔ جب ریلے Arduino کے ذریعے فعال ہوتا ہے، تو یہ COM پن کو NO پن سے جوڑتا ہے، جس سے منسلک ڈیوائس تک کرنٹ بہنے لگتا ہے۔ یہ سیٹ اپ Arduino کو زیادہ وولٹیجز کے ساتھ براہ راست انٹرفیس کیے بغیر مختلف برقی آلات پر ورسٹائل کنٹرول کی اجازت دیتا ہے۔ ریڈ سوئچ سگنل کو بڑھانے کے لیے استعمال ہونے والا مرکزی ایمپلیفائر LM393 آپریشنل ایمپلیفائر ہے۔

ماجیول کے لیے ڈیٹاشیٹ

مینوفیکچررنامعلوم
لاجک/IO وولٹیج3.3V- 5 V
سپلائی وولٹیج5 V
آؤٹ پٹ کرنٹ (فی چینل)10 A زیادہ سے زیادہ
پیک کرنٹ (فی چینل)16 A زیادہ سے زیادہ
PWM فریکوئنسی رہنمائیلاگو نہیں
ان پٹ لاجک تھریشولڈز2.5 V کم از کم (HIGH)
وولٹیج ڈراپ / RDS(on) / سیچوریشن0.1 V عام
تھرمل حدود85 °C زیادہ سے زیادہ
پیکیجPCB ماؤنٹ

وائرنگ ہدایات

Arduino wiring for Reed switch module
Arduino wiring for Reed switch module

سسٹم کو وائر کرنے کے لیے، ریڈ سوئچ کو جوڑ کر شروع کریں۔ ریڈ سوئچ کے VCC پن کو Arduino پر 5V آؤٹ پٹ سے جوڑیں، اور GND پن کو Arduino کے کسی ایک گراؤنڈ پن سے جوڑیں۔ ریڈ سوئچ کا OUTPUT پن Arduino پر ڈیجیٹل پن 2 سے منسلک ہونا چاہیے۔ اس سے Arduino کو ریڈ سوئچ کی حالت پڑھنے کی اجازت ملے گی۔

اگلا، ریلے ماجیول کو وائر کریں۔ ریلے کے VCC پن کو Arduino پر 5V آؤٹ پٹ سے اور GND پن کو گراؤنڈ سے جوڑیں۔ ریلے کا ان پٹ پن، جو ریلے کے آپریشن کو کنٹرول کرتا ہے، Arduino پر ڈیجیٹل پن 10 سے منسلک ہونا چاہیے۔ آخر میں، لوڈ (جیسے لائٹ بلب) کو ریلے کے Common اور Normally Open ٹرمینلز سے جوڑیں، اس بات کو یقینی بناتے ہوئے کہ لوڈ ریلے کی تصریحات کے لیے موزوں ہے۔

کوڈ مثالیں اور واک تھرو

درج ذیل کوڈ سنیپٹ پنوں کو ابتدائی کرتا ہے اور ڈیبگنگ کے لیے سیریل کمیونیکیشن سیٹ اپ کرتا ہے۔ ریڈ سوئچ پن 2 سے منسلک ہے، جبکہ ریلے پن 10 کے ذریعے کنٹرول کیا جاتا ہے۔


int LD = 200; // ایک اور ریڈنگ لینے سے پہلے انتظار کرنے کا وقت ملی سیکنڈ میں۔

void setup() {
    Serial.begin(9600);
    pinMode(10, OUTPUT); // ریلے سے منسلک
    pinMode(2, INPUT); // ریڈ سوئچ ان پٹ پن 2  
    Serial.println("Robojax Test: Reed switch");
}

لوپ فنکشن میں، ریڈ سوئچ کی حالت مسلسل چیک کی جاتی ہے۔ اگر سوئچ بند ہے (مقناطیس کی موجودگی کی نشاندہی کرتا ہے)، ریلے آن کیا جاتا ہے۔ اگر سوئچ کھلا ہے، ریلے 5 سیکنڈ کی تاخیر کے بعد بند کیا جاتا ہے، جو غیر فعال ہونے سے پہلے ایک مہلت کی مدت فراہم کرتا ہے۔


void loop() {
    if(digitalRead(2)){
      Serial.println("Switch ON "); 
      digitalWrite(10, LOW); // ریلے کو آن کریں    
      delay(LD); 
    }else{
      delay(5000); // الارم بند کرنے سے پہلے 5 سیکنڈ انتظار کریں
      digitalWrite(10, HIGH); // ریلے کو آف کریں
    }
}

یہ کوڈ ریڈ سوئچ کی حالت کی بنیاد پر ریلے کو کنٹرول کرنے میں لچک فراہم کرتا ہے۔ آپ تاخیر کی اقدار یا سوئچ ان پٹ کی بنیاد پر ریلے کو کنٹرول کرنے کے طریقے کو تبدیل کرکے وقت اور رویے میں ترمیم کر سکتے ہیں۔

مظاہرہ / کیا توقع کریں

جب سیٹ اپ مکمل ہو جائے تو، ریڈ سوئچ کے قریب مقناطیس لانے سے ریلے فعال ہو جائے گا، جس سے منسلک لائٹ یا الارم آن ہو جائے گا۔ اگر مقناطیس ہٹا دیا جائے تو، لائٹ ایک مخصوص تاخیر کی مدت تک آن رہے گی اور پھر بند ہو جائے گی، جو صارف کے لیے بفر ٹائم فراہم کرتی ہے۔ سسٹم کو جانچنا یقینی بنائیں تاکہ تصدیق ہو سکے کہ ریلے توقع کے مطابق کام کرتا ہے اور ریڈ سوئچ پر درست جواب دیتا ہے۔

ویڈیو ٹائم اسٹیمپس

  • 00:00 - پروجیکٹ کا تعارف
  • 02:15 - ہارڈویئر کی وضاحت
  • 05:30 - وائرنگ کا مظاہرہ
  • 08:45 - کوڈ واک تھرو
  • 12:00 - متوقع نتائج اور ٹربل شوٹنگ تجاویز

تصاویر

Reed Switch module top view
Reed Switch module top view
Reed Switch Schematic
Reed Switch Schematic
reed_switch-4
reed_switch-4
Reed Switch module
Reed Switch module
Reed Switch module to view
Reed Switch module top view
Reed Switch module
Reed Switch module
Arduino wiring for Reed switch module
Arduino wiring for Reed switch module
22-Reed Magnetic Switch Arduino with Relay code
زبان: C++
++
//*
 * This is the Arduino code for a reed switch to
 * turn a relay ON, which the relay
 * can turn a light or alarm ON.
 * The reed switch is connected to pin 2.
 * The relay is connected to pin 10.
 
 * Watch the video for this code: https://www.youtube.com/watch?v=2RBFKqoauaI
 * 
 * Written by Ahmad Shamshiri for Robojax.com Video
 * Date: December 5, 2017, in Ajax, Ontario, Canada
 * Permission granted to share this code, given that this
 * note is kept with the code.
 
 * Please keep this note with the code.
 * This code is available on Robojax.com
 * 
 * This code is "AS IS" without warranty or liability. Free to be used as long as you keep this note intact.
 * This code has been downloaded from Robojax.com
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <https://www.gnu.org/licenses/>.
 */


 int LD = 200; // time in milliseconds to wait before making another reading.

void setup() {
    Serial.begin(9600);
    // output pins
    pinMode(10, OUTPUT);// connected to relay
         

    // input pins
    pinMode(2, INPUT);// reed switch  input pin 2  


    Serial.println("Robojax Test: Reed switch");

}

void loop() {

    // read the REED switch
    if(digitalRead(2)){
      Serial.println("Switch ON "); 
      digitalWrite(10, LOW); // Turn the relay ON    
      delay(LD); 
    }else{
      delay(5000);// wait 5 seconds before turning the alarm off
				// remove this line if you don't want any delay
      digitalWrite(10, HIGH);// Turn the relay OFF
      
    }
  




}// loop

وسائل اور حوالہ جات

ابھی تک کوئی وسائل نہیں۔

فائلیں📁

کوئی فائلیں دستیاب نہیں ہیں۔