کوډ ولټوئ

د اردوینو پش بټن وکاروئ تر څو ریلې او AC بلب بدل کړئ

د اردوینو پش بټن وکاروئ تر څو ریلې او AC بلب بدل کړئ

په دې ټیوټوریل کې به موږ زده کړو چې څنګه د پش بټن او ریلې په کارولو سره د AC بلب یا LED څراغ کنټرول کړو. پش بټن به څراغ چالان او بند کړي، او خپل حالت به وساتي حتی کله چې بټن خوشې شي. دا ترتیب نه یوازې عملي دی، بلکې د ریلې او AC بارونو سره د کار کولو لپاره یوه ښه پېژندنه هم ده.

5V LOW-LEVEL trigger relay

لکه څنګه چې موږ پرمختګ کوو، موږ به اړین اجزاوې، د تارونو د نښلولو لارښوونې، او د Arduino کوډ پوښو چې دا پروژه ممکنه کوي. ډاډ ترلاسه کړئ چې د بصري لارښود او تفصیلي توضیحاتو لپاره اړونده ویډیو وګورئ (په ویډیو کې په 00:00).

5V LOW-Level triggered Relay module

هارډویر تشریح شوی

د دې پروژې لپاره، موږ به د ریلې ماډل، د Arduino بورډ، او پش بټن وکاروو. د ریلې ماډل د سویچ په توګه کار کوي چې کولی شي د لوړ ولتاژ AC بارونه کنټرول کړي، لکه بلب، پداسې حال کې چې د ټیټ ولتاژ Arduino سیګنالونو لخوا کنټرول کیږي. د ریلې ماډل د بار د نښلولو لپاره درې اصلي ترمینلونه لري: کامن (COM)، نورمالي خلاص (NO)، او نورمالي تړل شوی (NC).

پش بټن د کاروونکي انٹرفیس په توګه کار کوي ترڅو د ریلې حالت بدل کړي. دا د Arduino په یوه ډیجیټل پن پورې تړل شوی. کله چې بټن فشارول شي، دا Arduino ته یو سیګنال لیږي، کوم چې بیا ریلې فعال یا غیر فعال کوي. دا ساده تعامل موږ ته اجازه راکوي چې څراغ په اسانۍ سره کنټرول کړو.

د ریلې لپاره د ډیټاشیټ تفصیلات

جوړونکیسونګل
د پرزې شمېرهSRD-05VDC-SL-C
د کویل ولتاژ5 VDC
د سویچ کولو ولتاژAC 250 V / DC 30 V
د سویچ کولو جریان10 A اعظمي
د تماس مقاومت≤ 100 mΩ
د عایق مقاومت≥ 1000 MΩ
د کار کولو تودوخه-40 تر +70 °C
بسته بنديمعیاري ریلې ماډل

  • ډاډ ترلاسه کړئ چې ریلې د هغه بار لپاره درجه بندي شوې ده چې تاسو یې سویچ کوئ.
  • د ریلې ماډل د 5 VDC سره بریښنا کړئ.
  • د AC اړیکو لپاره مناسب عایق وکاروئ.
  • د AC بریښنا سره کار کولو پر مهال محتاط اوسئ؛ ډاډ ترلاسه کړئ چې د بدلونونو کولو دمخه سرکټ قطع شوی دی.
  • پش بټن د Arduino په ټاکل شوي انپټ پن سره وصل کړئ.
  • د پش بټن پن لپاره د INPUT_PULLUP حالت وکاروئ ترڅو د خارجي ریزسټرونو اړتیا مخنیوی وشي.
  • د AC بارونو له نښلولو دمخه د ټیټ ولتاژ سره د ریلې عملیات ازموئ.
  • د شارټ سرکټونو مخنیوي لپاره اړیکې وګورئ.

د تارونو د نښلولو لارښوونې

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

د ریلې ماډل د تارونو د نښلولو لپاره، لومړی د ریلې VCC پن د Arduino په 5V پن سره وصل کړئ، او د ریلې GND پن د Arduino په GND پن سره وصل کړئ. په ریلې کې IN پن باید د Arduino په ډیجیټل پن 10 سره وصل شي. دا پن به د ریلې د فعالولو لپاره سیګنال لیږي.

د پش بټن لپاره، یو ترمینل د Arduino په ډیجیټل پن 2 سره وصل کړئ. بل ترمینل باید GND سره وصل شي. دا ترتیب د Arduino داخلي پل-اپ ریزسټر کاروي، نو ډاډ ترلاسه کړئ چې پن په کوډ کې INPUT_PULLUP ته ټاکل شوی دی. کله چې بټن فشارول شي، دا به پن LOW ته راولي، Arduino ته یو سیګنال لیږي.

د AC بار لپاره، یو تار د ریلې په COM ترمینل او بل تار د NO ترمینل سره وصل کړئ. دا ترتیب به AC بار ته اجازه ورکړي چې کله ریلې فعاله شي چالان شي. تل ډاډ ترلاسه کړئ چې د AC اړیکې خوندي او عایق شوي دي.

د کوډ مثالونه او تشریح

لاندې کوډ اړین پنونه پیل کوي او ریلې په پیل کې بند ساتي. د بټن فشارول د ریلې حالت بدلوي او د څراغ حالت په مطابق تازه کوي.

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 ارزښت پورې اړه لري، ریلې چالان یا بند کیږي، په مؤثره توګه څراغ کنټرولوي. دا لوپ په دوامداره توګه چلیږي، ډاډ ترلاسه کوي چې د څراغ حالت په ریښتیني وخت کې تازه کیږي.

د بشپړ کوډ تفصیلاتو لپاره، مهرباني وکړئ د مقالې لاندې بار شوي کوډ ته مراجعه وکړئ.

ډیمونسټریشن / څه تمه وکړئ

کله چې تاسو پش بټن فشاروئ، ریلې به فعاله شي، تړل شوی AC بلب به چالان کړي. بټن بیا فشارول به بلب بند کړي. سریال مانیټر به د حالت پیغامونه ښکاره کړي، په ګوته کوي چې څراغ چالان یا بند دی. که تاسو ستونزې سره مخ شئ، ډاډ ترلاسه کړئ چې تارونه سم دي، او د هر ډول فلوټینګ انپټونو لپاره وګورئ چې کولی شي غیر متوقع چلند رامینځته کړي (په ویډیو کې په 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);
}

سرچینې او حوالې

فایلونه📁

هیڅ فایل شتون نلري.