Casharradan waa qayb ka mid ah: Xakamaynta Relay-ga iyadoo la adeegsanayo Arduino
Kani waa fiidiyowyo kooxeed oo dhammaantood la xiriira gudbinta. Xiriirinta fiidiyowyada kale waxay ku yaalliin maqaalkan hoose.
Isticmaalka badhanka riixida Arduino si loo beddelo relay iyo nalka AC
Casharka, waxaan ku baran doonaa sida loo xakameeyo nalka AC ama laydhka LED iyadoo la isticmaalayo badhanka riix iyo relay. Badhanka riix wuxuu toggli doonaa nalka oo shidan iyo damin, isagoo ilaalinaya xaaladdiisa xitaa marka badhanka la sii daayo. Qaabkani ma aha oo kaliya mid wax ku ool ah, laakiin waa horudhac wanaagsan oo lagu shaqeeyo relays iyo culaysyada AC.

Markaan sii socono, waxaan dabooli doonaa qaybaha lagama maarmaanka ah, tilmaamaha fiilada, iyo koodka Arduino ee ka dhigaya mashruucan mid suurtagal ah. Hubi inaad daawato fiidiyowga la xidhiidha si aad u hesho hagitaan muuqaal ah iyo sharaxaad faahfaahsan (fiidiyowga 00:00).

Qaybaha Hardware La Sharaxay
Mashruucan, waxaan isticmaali doonaa module relay, Arduino board, iyo badhan riix. Module-ka relay wuxuu u shaqeeyaa sidii furaha xakameyn kara culaysyada AC ee danab sare, sida nalka, isagoo xakameynaya signalka Arduino ee danab hooseeya. Module-ka relay wuxuu leeyahay saddex terminal oo waaweyn oo lagu xiro culayska: Common (COM), Normally Open (NO), iyo Normally Closed (NC).
Badhanka riix wuxuu u adeegaa sidii interface isticmaale si loo toggliyo xaaladda relay. Waxaa lagu xiraa mid ka mid ah pin-yada dijitaalka ah ee Arduino. Marka badhanka la riixo, wuxuu u diraa signal Arduino-ga, kaas oo markaas kiciya ama damiya relay-ga si waafaqsan. Isdhexgalka fududani wuxuu noo ogolaanayaa inaan si fudud u xakameyno nalka.
Faahfaahinta Datasheet ee Relay-ga
| Soo saaraha | Songle |
|---|---|
| Nambarka qaybta | SRD-05VDC-SL-C |
| Danabka coil-ka | 5 VDC |
| Danabka beddelka | AC 250 V / DC 30 V |
| Qulqulka beddelka | 10 A ugu badnaan |
| Iska caabbinta taabashada | ≤ 100 mΩ |
| Iska caabbinta dahaarka | ≥ 1000 MΩ |
| Heerkulka shaqada | -40 ilaa +70 °C |
| Baakad | Module Relay Caadi ah |
- Hubi in relay-ga lagu qiimeeyay culayska aad beddelaysid.
- Ku ilaali module-ka relay inuu ku shaqeeyo 5 VDC.
- Isticmaal dahaar ku habboon xiriirada AC.
- Ka digtoonow markaad la shaqeyneysid danabka AC; hubi in wareegga la gooyay ka hor intaadan wax beddelin.
- Ku xir badhanka riix pin-ka gelinta ee loo qoondeeyay ee Arduino-ga.
- Isticmaal qaabka INPUT_PULLUP ee pin-ka badhanka riix si looga fogaado baahida resistors-ka dibadda.
- Tijaabi shaqada relay-ga iyadoo la isticmaalayo danab hoose ka hor intaadan ku xirin culaysyada AC.
- Hubi xiriirada si looga fogaado wareegyada gaaban.
Tilmaamaha Fiilada

Si aad u xirto module-ka relay, ka bilow adigoo ku xira pin-ka VCC ee relay-ga pin-ka 5V ee Arduino-ga, iyo pin-ka GND ee relay-ga pin-ka GND ee Arduino-ga. Pin-ka IN ee relay-ga waa in lagu xiraa pin-ka dijitaalka ah ee 10 ee Arduino-ga. Pin-kani wuxuu diri doonaa signal-ka si uu u kiciyo relay-ga.
Badhanka riix, ku xir hal terminal pin-ka dijitaalka ah ee 2 ee Arduino-ga. Terminal-ka kale waa in lagu xiraa GND. Qaabkani wuxuu isticmaalaa resistor-ka gudaha ee Arduino-ga, marka hubi in pin-ka lagu dejiyay INPUT_PULLUP koodka. Marka badhanka la riixo, wuxuu pin-ka u keeni doonaa LOW, isagoo u dira signal Arduino-ga.
Culayska AC, ku xir hal fiil terminal-ka COM ee relay-ga iyo fiilta kale terminal-ka NO. Qaabkani wuxuu u oggolaan doonaa culayska AC inuu shido marka relay-ga la kiciyo. Had iyo jeer hubi in xiriirada AC ay yihiin kuwo adag oo dahaaran.
Tusaalooyinka Koodka & Sharaxaad
Koodka soo socdaa wuxuu bilaabayaa pin-yada lagama maarmaanka ah wuxuuna dejinayaa relay-ga inuu ahaado mid dami marka hore. Riixista badhanka waxay togglisaa xaaladda relay-ga waxayna cusboonaysiisaa xaaladda nalka si waafaqsan.
int pbuttonPin = 2; // ku xir output-ka badhanka riix
int relayPin = 10; // Ku xiran relay (LED)
void setup() {
Serial.begin(9600);
pinMode(pbuttonPin, INPUT_PULLUP);
pinMode(relayPin, OUTPUT);
digitalWrite(relayPin, HIGH); // ilaali culayska OFF bilowga
}
Koodka, doorsoome pbuttonPin waxaa lagu dejiyay pin 2, kaas oo loo isticmaalo badhanka riix. relayPin waxaa lagu dejiyay pin 10, isagoo xakameynaya relay-ga. Shaqada digitalWrite waxaa loo isticmaalaa si loo hubiyo in relay-ga uu ku bilaabmayo xaaladda OFF.
void loop() {
val = digitalRead(pbuttonPin); // akhri qiimaha badhanka riix
if(val == HIGH && lightON == LOW) {
pushed = 1 - pushed; // toggli xaaladda riixista
delay(100);
}
if(pushed == HIGH) {
digitalWrite(relayPin, LOW); // kici relay-ga ON
} else {
digitalWrite(relayPin, HIGH); // dami relay-ga OFF
}
}
Qaybtan koodka waxay si joogto ah u hubisaa xaaladda badhanka riix. Marka badhanka la riixo, waxay togglisaa doorsoome pushed. Iyadoo ku xiran qiimaha pushed, relay-ga waa la kiciyaa ama waa la damiyaa, isagoo si wax ku ool ah u xakameynaya nalka. Loop-kani wuxuu si joogto ah u socdaa, isagoo hubinaya in xaaladda nalka lagu cusboonaysiiyo waqtiga dhabta ah.
Faahfaahinta koodka oo dhamaystiran, fadlan tixraac koodka hoos ku shuban maqaalka.
Muuujin / Waxa Laga Filan Karo
Markaad riixdo badhanka riix, relay-ga wuu kici doonaa, isagoo shidi doona nalka AC ee ku xiran. Riixista badhanka mar kale ayaa damin doonta nalka. Kormeeraha serial-ka wuxuu soo bandhigi doonaa farriimaha xaaladda, isagoo muujinaya in nalku uu shidan yahay ama dami yahay. Haddii aad la kulanto dhibaatooyin, hubi in fiiladu sax tahay, oo hubi wax gelin ah oo sababi kara dhaqan lama filaan ah (fiidiyowga 10:00).
Waqtiyada Fiidiyowga
- 00:00 - Hordhac
- 01:30 - Dulmarka Hardware
- 03:15 - Tilmaamaha Fiilada
- 05:45 - Sharaxaada Koodka
- 08:00 - Muujin
Casharradan waa qayb ka mid ah: Xakamaynta Relay-ga iyadoo la adeegsanayo Arduino
- Koodka Arduino iyo Fiidiyowga loogu talagalay Relay-ga Laba-Kanaal ee 5V
- Kontoroolka gudbixinta 5V Relay iyadoo la isticmaalayo Arduino si loo xakameeyo culayska AC ama DC sida nalka ama matoorka
- TTP224 4-Kanaalka Taabashada Sensor-ka si loo rogo AC/DC Culeyska iyadoo la isticmaalayo Relay
- Isticmaalka 5V Relay Module (Low-Trigger) oo leh Arduino
- Isticmaalka heerkulbeegga MAX6675 K-Type oo leh Relay iyo Bandhig
- Isticmaalka Reed Switch-ka si loo Xakameeyo Relay-ka iyo Culaysyada AC/DC ee Arduino-ka
- Isticmaalka module-ka taabashada ee TTP223B iyo relay si loo xakameeyo culaysyada AC/DC ee 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);
}
Kheyraadka & Tixraacyada
Faylasha📁
Fayl la'aan.