Search Code

Kosalela ya Arduino ya kobenda bouton mpo na kobongola relais mpe ampoule ya AC

Kosalela ya Arduino ya kobenda bouton mpo na kobongola relais mpe ampoule ya AC

Na boyekoli oyo, tokoyekola ndenge ya kokamba biloko ya AC (mbula ya moto to mwinda ya LED) na nzela ya butonu ya kopusa mpe relay. Butonu yango ekotinda mwinda ete ezala ya kopelama to ya kozimisa, mpe ekobatela esika na yango ata soki butonu etikami. Mposa oyo ezali malamu mingi mpe ezali ndenge ya malamu ya koyekola kosala na relay mpe na biloko ya AC.

5V LOW-LEVEL trigger relay

Ndenge tozali kokende liboso, tokolobela biloko oyo esengeli, ndenge ya kosangisa yango, mpe code ya Arduino oyo ekosalisa projet oyo. Tala video oyo elandi mpo na ndenge ya komona mpe ndenge ya kolimbola (na video na 00:00).

5V LOW-Level triggered Relay module

Biloko oyo ezali na kati

Mpo na projet oyo, tokosalela module ya relay, carte ya Arduino, mpe butonu ya kopusa. Module ya relay ezali lokola commutateur oyo ekoki kokamba biloko ya AC na voltage ya likolo, lokola mbula ya moto, ntango ezali kokambama na ba signaux ya voltage ya mike ya Arduino. Module ya relay ezali na ba terminaux misato ya minene mpo na kosangisa biloko: Common (COM), Normally Open (NO), mpe Normally Closed (NC).

Butonu ya kopusa ezali lokola ndenge ya kosalela mpo na kobongola etat ya relay. Esangisami na moko ya ba pins ya digitale ya Arduino. Ntango butonu epusami, etindaka signal na Arduino, oyo ebongolaka relay to efungolaka yango. Bosangisi oyo ya pete esalisi biso ete tokamba mwinda na pete.

Biloko ya Datasheet mpo na Relay

MosaliSongle
Numero ya eteniSRD-05VDC-SL-C
Voltage ya bobendi5 VDC
Voltage ya kobongolaAC 250 V / DC 30 V
Courant ya kobongola10 A max.
Résistance ya bosangisi≤ 100 mΩ
Résistance ya isolation≥ 1000 MΩ
Température ya kosala-40 to +70 °C
EmballageModule ya Relay ya Standard

  • Kokamba ete relay ekoki na biloko oyo ozali kokamba.
  • Kobatela module ya relay na 5 VDC.
  • Salela isolation ya malamu mpo na ba connexions ya AC.
  • Kozala na bokebi ntango ozali kosala na courant ya AC; komeka ete circuit esengeli kozala coupé liboso ya kobongola.
  • Kosangisa butonu ya kopusa na pin ya entrée oyo eponami na Arduino.
  • Salela mode ya INPUT_PULLUP mpo na pin ya butonu ya kopusa mpo na kokima besoin ya ba résistances ya libanda.
  • Komeka fonctionnement ya relay na voltage ya mike liboso ya kosangisa biloko ya AC.
  • Kokamba ba connexions mpo na kokima ba courts-circuits.

Mikano ya kosangisa ba fils

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

Mpo na kosangisa module ya relay, banda na kosangisa pin ya VCC ya relay na pin ya 5V na Arduino, mpe pin ya GND ya relay na pin ya GND na Arduino. Pin ya IN na relay esengeli kosangisama na pin ya digitale 10 na Arduino. Pin oyo ekotinda signal mpo na kofungola relay.

Mpo na butonu ya kopusa, sangisa terminal moko na pin ya digitale 2 na Arduino. Terminal mosusu esengeli kosangisama na GND. Ndenge oyo esalelaka résistance ya kati ya Arduino, yango wana komeka ete pin esengeli kotiama na INPUT_PULLUP na code. Ntango butonu epusami, ekokitisa pin na LOW, mpe ekotinda signal na Arduino.

Mpo na biloko ya AC, sangisa nsinga moko na terminal ya COM na relay mpe nsinga mosusu na terminal ya NO. Configuration oyo ekopesa nzela ete biloko ya AC efungolama ntango relay efungolami. Tandima mingi ete ba connexions ya AC ezali ya libende mpe ya isolation.

Ba exemples ya Code mpe ndenge ya kolimbola

Code oyo elandi ebandisaka ba pins oyo esengeli mpe etiaka relay ete ezala ya kozimisa na ebandeli. Bopusi ya butonu ebongolaka etat ya relay mpe ebongisaka etat ya mwinda.

int pbuttonPin = 2; // connect output to push button
int relayPin = 10; // Connected to relay (LED)

void setup() {
  Serial.begin(9600);
  pinMode(pbuttonPin, INPUT_PULLUP); 
  pinMode(relayPin, OUTPUT);
  digitalWrite(relayPin, HIGH); // keep the load OFF at the beginning
}

Na code, variable pbuttonPin etiami na pin 2, oyo esalelamaka mpo na butonu ya kopusa. relayPin etiami na pin 10, oyo ekambaka relay. Fonction digitalWrite esalelamaka mpo na komeka ete relay ebandi na etat ya kozimisa.

void loop() {
  val = digitalRead(pbuttonPin); // read the push button value
  if(val == HIGH && lightON == LOW) {
    pushed = 1 - pushed; // toggle the push status
    delay(100);
  }
  if(pushed == HIGH) {
    digitalWrite(relayPin, LOW); // turn the relay ON
  } else {
    digitalWrite(relayPin, HIGH); // turn the relay OFF
  }
}

Eteni oyo ya code etyelaka likebi na etat ya butonu ya kopusa. Ntango butonu epusami, ebongolaka variable pushed. Kolanda valeur ya pushed, relay efungolamaka to ezipamaka, mpe yango ekambaka mwinda. Boucle oyo ezalaka kotambola mbala na mbala, mpe esalaka ete etat ya mwinda ebongisama na tango ya sika.

Mpo na ba détails ya code mobimba, tala code oyo etiami na nse ya article.

Démonstration / Nini okomona

Ntango opusi butonu ya kopusa, relay efungolamaka, mpe efungolaka mbula ya moto ya AC oyo esangisami. Bopusi ya butonu lisusu ekokimisa mbula ya moto. Moniteur ya série ekolakisa ba messages ya etat, mpe ekolakisa soki mwinda ezali ya kopelama to ya kozimisa. Soki ozali na ba problèmes, komeka ete ba connexions ezali ya malamu, mpe tala mpo na ba entrées oyo ezali na kati ya mpamba oyo ekoki kosala ete ezala na ndenge ya kokamata (na video na 10:00).

Ba timestamps ya Video

  • 00:00 - Introduction
  • 01:30 - Hardware Overview
  • 03:15 - Wiring Instructions
  • 05:45 - Code Walkthrough
  • 08:00 - Demonstration

Images

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

Fichiers📁

Aucun fichier disponible.