Skip to content

Instantly share code, notes, and snippets.

@rafitc
Last active December 18, 2021 13:10
Show Gist options
  • Select an option

  • Save rafitc/c33a67553014221aea98af16c43d170c to your computer and use it in GitHub Desktop.

Select an option

Save rafitc/c33a67553014221aea98af16c43d170c to your computer and use it in GitHub Desktop.
Two channel relay pattern
#define relay1 5
#define relay2 6
int delay_one = 100;
int delay_two = 0;
int mapped_pot_value = 0;
int pot_pin = A1;
void setup() {
Serial.begin(9600);
pinMode(relay1, OUTPUT);
pinMode(relay2, OUTPUT);
}
void updateDelay() {
mapped_pot_value = map(analogRead(A1), 0, 1024, 0, 500);
delay_one = mapped_pot_value;
}
void resetRelay(){
digitalWrite(relay1, !LOW);
digitalWrite(relay2, !LOW);
}
void p1() {
digitalWrite(relay1, !HIGH);
delay(delay_one);
digitalWrite(relay1, !LOW);
delay(delay_one);
digitalWrite(relay2, !HIGH);
delay(delay_one);
digitalWrite(relay2, !LOW);
delay(delay_one);
}
void p2() {
digitalWrite(relay1, !HIGH);
delay(delay_one);
digitalWrite(relay2, !HIGH);
delay(delay_one);
digitalWrite(relay1, !LOW);
delay(delay_one);
digitalWrite(relay2, !LOW);
delay(delay_one);
}
void p3() {
digitalWrite(relay1, !HIGH);
digitalWrite(relay2, !LOW);
delay(delay_one);
digitalWrite(relay1, !LOW);
digitalWrite(relay2, !HIGH);
delay(delay_one);
}
void singleBlinkOne() {
digitalWrite(relay2, !LOW);
digitalWrite(relay1, !HIGH);
delay(delay_one);
digitalWrite(relay1, !LOW);
delay(delay_one);
}
void singleBlinkTwo() {
digitalWrite(relay1, !LOW);
digitalWrite(relay2, !HIGH);
delay(delay_one);
digitalWrite(relay2, !LOW);
delay(delay_one);
}
void p4() {
for (int i = 0; i <= 5; i++) {
for (int j = 0; j <= i; j++) {
singleBlinkOne();
}
delay(500);
}
}
void p5() {
for (int i = 0; i <= 5; i++) {
for (int j = 0; j <= i; j++) {
singleBlinkTwo();
}
delay(500);
}
}
void p6() {
for (int i = 0; i <= 5; i++) {
for (int j = 0; j <= i; j++) {
singleBlinkOne();
}
delay(500);
for (int j = 0; j <= i; j++) {
singleBlinkTwo();
}
delay(500);
}
}
void p7() {
bool state = false;
for (int i = 0; i <= 5; i++) {
state = !state;
for (int j = 0; j <= i; j++) {
if (state) {
singleBlinkOne();
}
else {
singleBlinkTwo();
}
}
}
}
void p8() {
bool state = false;
for (int i = 5; i >= 0; i--) {
state = !state;
delay(200);
for (int j = 0; j <= i; j++) {
if (state) {
singleBlinkOne();
}
else {
singleBlinkTwo();
}
}
}
}
void p9() {
digitalWrite(relay1, !HIGH);
digitalWrite(relay2, !HIGH);
delay(delay_one);
digitalWrite(relay1, !LOW);
digitalWrite(relay2, !LOW);
delay(delay_one);
}
void loop() {
updateDelay();
resetRelay();
for (int a = 0; a < 5; a++) {
p1();
updateDelay();
}
resetRelay();
delay(100);
for (int a = 0; a < 5; a++) {
p2();
updateDelay();
}
resetRelay();
delay(100);
for (int a = 0; a < 5; a++) {
p3();
updateDelay();
}
resetRelay();
delay(100);
p4();
updateDelay();
resetRelay();
delay(100);
p5();
updateDelay();
resetRelay();
delay(100);
p6();
updateDelay();
resetRelay();
delay(100);
p7();
updateDelay();
resetRelay();
delay(100);
p8();
updateDelay();
resetRelay();
delay(100);
for (int a = 0; a < 5; a++) {
p9();
updateDelay();
}
delay(100);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment