Other Arduino Codes and Videos by Robojax

Using 4 Push button push-ON and push-OFF 4 relays with Arduino

Using 4 Push button push-ON and push-OFF 4 relays with Arduino

You will learn how to control 4 channel relay with 4 push buttons with push ON and Push OFF each relay using provided Arduino code to download.

Arduino with relay and push buttons

4 Channel relay with 4 push button Wiring diagram

Resources for this Arduino sketch

 *  Arduino code to push-ON and push-OFF 4 relays
 *  when button pushed, relay ON and stay ON
 *  push again to make it OFF and stay OFF
 * this can be done with 4 push button to control 4 relays.
 * written by Ahmad Shamshiri for Robojax.com 
 * on December 11, 2018 at 19:39 in Ajax, Ontario, Canada

watch video instruction for this code:https://youtu.be/3EZecphNdAI
Get this code and other Arduono codes from Robojax.com
  * 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 download 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
    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/>.
const int pushButton[] ={2,3,4,5};// define push button inputs
const int relayPin[]={11,10,9,8};// output pins where 4 relays will be connected
String relayNames[] ={"CH1", "CH2","CH3","CH4"};// Just put name for 4 relays
int pushed[] ={0,0,0,0};// status of each buttons
int relayStatus[] ={HIGH,HIGH,HIGH,HIGH};// initial status of relay

void setup() {
  // Robojax.com 4-Relay-4-Push button 20181211
  Serial.begin(9600);// initialize serial monitor 
  for(int i=0; i<4; i++)
    pinMode(pushButton[i], INPUT_PULLUP); 
    pinMode(relayPin[i], OUTPUT);   
    digitalWrite(relayPin[i], HIGH);// initial relay status to be OFF

// Robojax.com 4-Relay-4-Push button 20181211

void loop() {
// Robojax.com 4-Relay-4-Push button 20181211

  for(int i=0; i<4; i++)
     int  val = digitalRead(pushButton[i]);   
    if(val == HIGH && relayStatus[i] == LOW){
      pushed[i] = 1-pushed[i];
    }// if   

  relayStatus[i] = val;

      if(pushed[i] == HIGH){
        Serial.println(" ON");
        digitalWrite(relayPin[i], LOW); 
        Serial.println(" OFF");
        digitalWrite(relayPin[i], HIGH);
      }// else   
  }// for 
// Robojax.com 4-Relay-4-Push button 20181211  
}// loop end

If you found this tutorial helpful, please support me so I can continue creating content like this. You can support me on Patreon ( Launched June 14, 2019): http://bit.ly/2ZnITLz

Or support me via PayPal