Raadi Koodka

Isticmaalka badhanka riixida Arduino si loo beddelo relay iyo nalka AC

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.

5V LOW-LEVEL trigger relay

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).

5V LOW-Level triggered Relay module

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 saarahaSongle
Nambarka qaybtaSRD-05VDC-SL-C
Danabka coil-ka5 VDC
Danabka beddelkaAC 250 V / DC 30 V
Qulqulka beddelka10 A ugu badnaan
Iska caabbinta taabashada≤ 100 mΩ
Iska caabbinta dahaarka≥ 1000 MΩ
Heerkulka shaqada-40 ilaa +70 °C
BaakadModule 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

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

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

Sawirro

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

Kheyraadka & Tixraacyada

Faylasha📁

Fayl la'aan.