কোড অনুসন্ধান

আরডুইনো পুশ বাটন ব্যবহার করে একটি রিলে এবং এসি বাল্ব সুইচ করা

আরডুইনো পুশ বাটন ব্যবহার করে একটি রিলে এবং এসি বাল্ব সুইচ করা

এই টিউটোরিয়ালে, আমরা শিখব কীভাবে একটি পুশ বাটন এবং একটি রিলে ব্যবহার করে একটি এসি বাল্ব বা এলইডি লাইট নিয়ন্ত্রণ করা যায়। পুশ বাটনটি লাইটটি চালু এবং বন্ধ করবে, বাটনটি ছেড়ে দিলেও এর অবস্থা বজায় থাকবে। এই সেটআপটি কেবল ব্যবহারিকই নয়, রিলে এবং এসি লোড নিয়ে কাজ করার একটি দুর্দান্ত পরিচয়ও বটে।

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 mΩ
ইনসুলেশন রেজিস্ট্যান্স≥ 1000 MΩ
অপারেটিং তাপমাত্রা-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; // রিলেতে সংযুক্ত (LED)

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);
}

সম্পদ ও রেফারেন্সসমূহ

ফাইলসমূহ📁

কোনো ফাইল উপলব্ধ নেই।