hwthinker icon

T-relay S3-Test Relay

hwthinker | PRO | 05/10/24 10:06:08 AM UTC | 0 ⭐ | 11205 👁️ | Never ⏰ | []
Arduino |

1.22 KB

|

Source Code

|

0 👍

/

0 👎

// Define the pin connections
#define DATA_PIN  7
#define CLOCK_PIN 5
#define LATCH_PIN 6
// #define ENABLE_PIN 4
 
// Define the relay output pins on the 74HC595
#define RELAY1_PIN 0
#define RELAY2_PIN 1
#define RELAY3_PIN 2
#define RELAY4_PIN 3
#define RELAY5_PIN 4
#define RELAY6_PIN 5
 
void setup() {
  // Initialize the pins as outputs
  pinMode(DATA_PIN, OUTPUT);
  pinMode(CLOCK_PIN, OUTPUT);
  pinMode(LATCH_PIN, OUTPUT);
  // pinMode(ENABLE_PIN, OUTPUT);
}
 
void loop() {
  // Example usage: toggle each relay every 1 second
  for (int i = 0; i < 6; i++) {
    setRelay(i, true);  // Turn on the relay
    delay(1000);
    setRelay(i, false);  // Turn off the relay
    delay(1000);
  }
}
 
// Function to set a single relay on or off
void setRelay(int relayNumber, bool state) {
  // Calculate the bit position of the relay
  int bitPosition = 1 << relayNumber;
 
  // Set the data pin high or low depending on the state
  digitalWrite(DATA_PIN, state ? HIGH : LOW);
 
  // Shift out the data
  shiftOut(DATA_PIN, CLOCK_PIN, MSBFIRST, bitPosition);
 
  // Latch the data
  digitalWrite(LATCH_PIN, HIGH);
  digitalWrite(LATCH_PIN, LOW);
 
  // Enable the output
  // digitalWrite(ENABLE_PIN, LOW);
}

Comments

  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎