کوڈ تلاش کریں

آردوینو پش بٹن کا استعمال کرتے ہوئے ریلے اور اے سی بلب کو سوئچ کرنا

آردوینو پش بٹن کا استعمال کرتے ہوئے ریلے اور اے سی بلب کو سوئچ کرنا

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

5V LOW-LEVEL trigger relay

جیسے جیسے ہم آگے بڑھیں گے، ہم ضروری اجزاء، وائرنگ ہدایات، اور اردوینو کوڈ کا احاطہ کریں گے جو اس پروجیکٹ کو ممکن بناتا ہے۔ بصری گائیڈ اور تفصیلی وضاحتوں کے لیے متعلقہ ویڈیو ضرور دیکھیں (ویڈیو میں 00:00 پر)۔

5V LOW-Level triggered Relay module

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

اس پروجیکٹ کے لیے، ہم ایک ریلے ماجیول، ایک اردوینو بورڈ، اور ایک پش بٹن استعمال کریں گے۔ ریلے ماجیول ایک سوئچ کی طرح کام کرتا ہے جو ہائی وولٹیج اے سی لوڈز، جیسے بلب، کو کنٹرول کر سکتا ہے، جبکہ اسے کم وولٹیج اردوینو سگنلز کے ذریعے کنٹرول کیا جاتا ہے۔ ریلے ماجیول میں لوڈ کو جوڑنے کے لیے تین اہم ٹرمینلز ہوتے ہیں: کامن (COM)، نارمل اوپن (NO)، اور نارمل کلوزڈ (NC)۔

پش بٹن ریلے کی حالت کو ٹوگل کرنے کے لیے یوزر انٹرفیس کا کام کرتا ہے۔ یہ اردوینو کے ڈیجیٹل پنوں میں سے ایک سے منسلک ہوتا ہے۔ جب بٹن دبایا جاتا ہے، تو یہ اردوینو کو سگنل بھیجتا ہے، جو پھر ریلے کو فعال یا غیر فعال کر دیتا ہے۔ یہ سادہ تعامل ہمیں لائٹ کو آسانی سے کنٹرول کرنے کی اجازت دیتا ہے۔

ریلے کے لیے ڈیٹاشیٹ تفصیلات

مینوفیکچررسونگلے
پارٹ نمبرSRD-05VDC-SL-C
کوائل وولٹیج5 وی ڈی سی
سوئچنگ وولٹیجاے سی 250 وی / ڈی سی 30 وی
سوئچنگ کرنٹزیادہ سے زیادہ 10 اے
کونٹیکٹ ریزسٹنس≤ 100 ایم اوہم
انسولیشن ریزسٹنس≥ 1000 ایم اوہم
آپریٹنگ درجہ حرارت-40 سے +70 °C
پیکیجمعیاری ریلے ماجیول

  • یقینی بنائیں کہ ریلے اس لوڈ کے لیے موزوں ہے جسے آپ سوئچ کر رہے ہیں۔
  • ریلے ماجیول کو 5 وی ڈی سی کے ساتھ پاورڈ رکھیں۔
  • اے سی کنکشنز کے لیے مناسب انسولیشن استعمال کریں۔
  • اے سی پاور کے ساتھ کام کرتے وقت محتاط رہیں؛ تبدیلیاں کرنے سے پہلے سرکٹ کو منقطع کریں۔
  • پش بٹن کو اردوینو کے مخصوص ان پٹ پن سے جوڑیں۔
  • بیرونی ریزسٹرس کی ضرورت سے بچنے کے لیے پش بٹن پن کے لیے INPUT_PULLUP موڈ استعمال کریں۔
  • اے سی لوڈز کو جوڑنے سے پہلے کم وولٹیج کے ساتھ ریلے کے آپریشن کی جانچ کریں۔
  • شارٹ سرکٹ سے بچنے کے لیے کنکشنز کی تصدیق کریں۔

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

Arduino wiring for AC bulb, LED and push button
Arduino wiring for AC bulb, LED and push button

ریلے ماجیول کو وائر کرنے کے لیے، ریلے کے VCC پن کو اردوینو کے 5V پن سے اور ریلے کے GND پن کو اردوینو کے GND پن سے جوڑ کر شروع کریں۔ ریلے کا IN پن اردوینو کے ڈیجیٹل پن 10 سے منسلک ہونا چاہیے۔ یہ پن ریلے کو فعال کرنے کے لیے سگنل بھیجے گا۔

پش بٹن کے لیے، ایک ٹرمینل کو اردوینو کے ڈیجیٹل پن 2 سے جوڑیں۔ دوسرا ٹرمینل GND سے منسلک ہونا چاہیے۔ یہ سیٹ اپ اردوینو کے اندرونی پل-اپ ریزسٹر کا استعمال کرتا ہے، لہذا یقینی بنائیں کہ پن کوڈ میں INPUT_PULLUP پر سیٹ ہے۔ جب بٹن دبایا جاتا ہے، تو یہ پن کو LOW پر لے آئے گا، اردوینو کو سگنل بھیجے گا۔

اے سی لوڈ کے لیے، ایک تار کو ریلے کے COM ٹرمینل سے اور دوسری تار کو NO ٹرمینل سے جوڑیں۔ یہ کنفیگریشن اے سی لوڈ کو آن ہونے کی اجازت دے گی جب ریلے فعال ہو۔ ہمیشہ یقینی بنائیں کہ اے سی کنکشنز محفوظ اور موصل ہیں۔

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

درج ذیل کوڈ ضروری پنوں کو انیشیالائز کرتا ہے اور ریلے کو ابتدائی طور پر آف رکھتا ہے۔ بٹن دبانے سے ریلے کی حالت ٹوگل ہوتی ہے اور لائٹ کی حیثیت کو اسی کے مطابق اپ ڈیٹ کرتا ہے۔

int pbuttonPin = 2; // آؤٹ پٹ کو پش بٹن سے جوڑیں
int relayPin = 10; // ریلے (ایل ای ڈی) سے منسلک

void setup() {
  Serial.begin(9600);
  pinMode(pbuttonPin, INPUT_PULLUP); 
  pinMode(relayPin, OUTPUT);
  digitalWrite(relayPin, HIGH); // شروع میں لوڈ کو آف رکھیں
}

کوڈ میں، متغیر pbuttonPin پن 2 پر سیٹ ہے، جو پش بٹن کے لیے استعمال ہوتا ہے۔ relayPin پن 10 پر سیٹ ہے، جو ریلے کو کنٹرول کرتا ہے۔ digitalWrite فنکشن اس بات کو یقینی بنانے کے لیے استعمال کیا جاتا ہے کہ ریلے آف حالت میں شروع ہو۔

void loop() {
  val = digitalRead(pbuttonPin); // پش بٹن کی قدر پڑھیں
  if(val == HIGH && lightON == LOW) {
    pushed = 1 - pushed; // پش اسٹیٹس کو ٹوگل کریں
    delay(100);
  }
  if(pushed == HIGH) {
    digitalWrite(relayPin, LOW); // ریلے کو آن کریں
  } else {
    digitalWrite(relayPin, HIGH); // ریلے کو آف کریں
  }
}

کوڈ کا یہ حصہ مسلسل پش بٹن کی حالت چیک کرتا ہے۔ جب بٹن دبایا جاتا ہے، تو یہ pushed متغیر کو ٹوگل کرتا ہے۔ pushed کی قدر کے لحاظ سے، ریلے آن یا آف ہوتا ہے، مؤثر طریقے سے لائٹ کو کنٹرول کرتا ہے۔ یہ لوپ مسلسل چلتا ہے، اس بات کو یقینی بناتا ہے کہ لائٹ کی حیثیت ریئل ٹائم میں اپ ڈیٹ ہو۔

مکمل کوڈ تفصیلات کے لیے، براہ کرم مضمون کے نیچے لوڈ کردہ کوڈ سے رجوع کریں۔

ڈیموسٹریشن / کیا توقع کریں

جب آپ پش بٹن دبائیں گے، تو ریلے فعال ہو جائے گا، منسلک اے سی بلب آن ہو جائے گا۔ بٹن دوبارہ دبانے سے بلب آف ہو جائے گا۔ سیریل مانیٹر اسٹیٹس پیغامات دکھائے گا، جس سے ظاہر ہوگا کہ لائٹ آن ہے یا آف۔ اگر آپ کو مسائل کا سامنا ہو، تو یقینی بنائیں کہ وائرنگ درست ہے، اور کسی بھی فلوٹنگ ان پٹ کو چیک کریں جو غیر متوقع رویے کا سبب بن سکتے ہیں (ویڈیو میں 10:00 پر)۔

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

  • 00:00 - تعارف
  • 01:30 - ہارڈویئر کا جائزہ
  • 03:15 - وائرنگ ہدایات
  • 05:45 - کوڈ واک تھرو
  • 08:00 - ڈیموسٹریشن

تصاویر

5V LOW-Level triggered Relay module
5V LOW-Level triggered Relay module
5V LOW-LEVEL trigger relay
5V LOW-LEVEL trigger relay
Arduino wiring for AC bulb, LED and push button
Arduino wiring for AC bulb, LED and push button
5V LOW-LEVEL trigger relay
5V LOW-LEVEL trigger relay
34-Using an Arduino push button to push-on and push-off a relay and AC bulb (toggle)
زبان: C++
/*
 * This is the Arduino code for a push button to turn ON and OFF a relay and AC bulb.
It toggles the bulb ON and OFF.
 * The output pin 10 is connected to the relay.
 * Watch video instructions on YouTube: https://youtu.be/7CCSRs5bvH0
 * Be careful working with AC; it is dangerous. Disconnect from AC power when working and wear protective gloves when touching AC components.
 
 * Full explanation of this code and wiring diagram is available in
 * my Arduino Course at Udemy.com here: http://robojax.com/L/?id=62

 * Written by Ahmad Shamshiri on December 14, 2017 in Ajax, Ontario, Canada
 * in Ajax, Ontario, Canada. www.robojax.com
 * 

 * Get this code and other Arduino codes from Robojax.com.
Learn Arduino step by step in a structured course with all materials, wiring diagrams, and libraries
all in one place. Purchase my course on Udemy.com: http://robojax.com/L/?id=62

If you found this tutorial helpful, please support me so I can continue creating 
content like this. You can support me on Patreon: http://robojax.com/L/?id=63

or make a donation using PayPal: http://robojax.com/L/?id=64

 *  * 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 pbuttonPin = 2;// connect output to push button
int relayPin = 10;// Connected to relay (LED)

int val = 0; // push value from pin 2
int lightON = 0;//light status
int pushed = 0;//push status


void setup() {
	// Robojax.com code and video tutorial for push button ON and OFF
  Serial.begin(9600);
  pinMode(pbuttonPin, INPUT_PULLUP); 
  pinMode(relayPin, OUTPUT);
 digitalWrite(relayPin, HIGH);// keep the load OFF at the begining. If you wanted to be ON, change the HIGH to LOW
}

void loop() {
// Robojax.com code and video tutorial for push button ON and OFF
  val = digitalRead(pbuttonPin);// read the push button value

  if(val == HIGH && lightON == LOW){

    pushed = 1-pushed;
    delay(100);
  }    

  lightON = val;

      if(pushed == HIGH){
        Serial.println("Light ON");
        digitalWrite(relayPin, LOW); 
       
      }else{
        Serial.println("Light OFF");
        digitalWrite(relayPin, HIGH);
   
      }     

// Robojax.com code and video tutorial for push button ON and OFF

  delay(100);
}

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

فائلیں📁

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