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

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

هارډویر تشریح شوی
د دې پروژې لپاره، موږ به د ریلې ماډل، د 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 بارونو له نښلولو دمخه د ټیټ ولتاژ سره د ریلې عملیات ازموئ.
- د شارټ سرکټونو مخنیوي لپاره اړیکې وګورئ.
د تارونو د نښلولو لارښوونې

د ریلې ماډل د تارونو د نښلولو لپاره، لومړی د ریلې 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 - ډیمونسټریشن
دا ټیوټوریل برخه ده له: د Arduino په کارولو سره د ریل کنټرول
- د آردوینو کوډ او ویډیو د دوه-چینل 5V ریلې لپاره
- د 5V ریلې کنټرول د Arduino په کارولو سره د AC یا DC بار لکه بلب یا موټور کنټرول لپاره
- TTP224 ۴-چینل ټچ سینسر د AC/DC بارونو د ریلې سره د فعالولو لپاره
- د 5V ریلې ماډل (Low-Trigger) د Arduino سره کارول
- د MAX6675 K-ډوله ترمکوپل د ریلې او ښودونکي سره کارول
- د ریډ سویچ په کارولو سره د یو ریلې او AC/DC بارونو کنټرول د آردوینو سره
- د TTP223B ټچ ماډل او ریلې په کارولو سره د AC/DC بارونو کنټرول د Arduino سره
/*
* 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);
}
سرچینې او حوالې
فایلونه📁
هیڅ فایل شتون نلري.