Skip to content

Instantly share code, notes, and snippets.

@BatteryDie
Created November 17, 2021 18:15
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save BatteryDie/0a9e0b04bd8663387998ff3b0726a18b to your computer and use it in GitHub Desktop.
Save BatteryDie/0a9e0b04bd8663387998ff3b0726a18b to your computer and use it in GitHub Desktop.
Long row boat light controller Arduino source code
#include <ezButton.h>
ezButton button1(13);
ezButton button2(11);
ezButton button3(12);
ezButton button4(10);
ezButton button5(9);
ezButton button6(8);
ezButton button7(7);
ezButton button8(6);
ezButton button9(5);
ezButton button10(4);
const int ledRed = 3;
const int ledBlue = 2;
const int ledGreen = 1;
void off() {
digitalWrite(ledBlue, HIGH);
digitalWrite(ledGreen, HIGH);
digitalWrite(ledRed, HIGH);
}
void red() {
digitalWrite(ledBlue, HIGH);
digitalWrite(ledGreen, HIGH);
digitalWrite(ledRed, LOW);
}
void blue() {
digitalWrite(ledBlue, LOW);
digitalWrite(ledGreen, HIGH);
digitalWrite(ledRed, HIGH);
}
void green() {
digitalWrite(ledBlue, HIGH);
digitalWrite(ledGreen, LOW);
digitalWrite(ledRed, HIGH);
}
void magenta() {
digitalWrite(ledBlue, LOW);
digitalWrite(ledGreen, HIGH);
digitalWrite(ledRed, LOW);
}
void yellow() {
digitalWrite(ledBlue, HIGH);
digitalWrite(ledGreen, LOW);
digitalWrite(ledRed, LOW);
}
void white() {
digitalWrite(ledBlue, LOW);
digitalWrite(ledGreen, LOW);
digitalWrite(ledRed, LOW);
}
void red3sec() {
red();
delay(3000);
off();
}
void yellow3sec() {
yellow();
delay(3000);
off();
}
void green3sec() {
green();
delay(3000);
off();
}
void blue3sec() {
blue();
delay(3000);
off();
}
void magenta3sec() {
magenta();
delay(3000);
off();
}
void redFast() {
red();
delay(250);
off();
delay(250);
red();
delay(250);
off();
delay(250);
red();
delay(250);
off();
}
void greenFast() {
green();
delay(250);
off();
delay(250);
green();
delay(250);
off();
delay(250);
green();
delay(250);
off();
}
void blueFast() {
blue();
delay(250);
off();
delay(250);
blue();
delay(250);
off();
delay(250);
blue();
delay(250);
off();
}
void yellowFast() {
yellow();
delay(250);
off();
delay(250);
yellow();
delay(250);
off();
delay(250);
yellow();
delay(250);
off();
}
void setup() {
pinMode(ledRed, OUTPUT);
pinMode(ledBlue, OUTPUT);
pinMode(ledGreen, OUTPUT);
off();
button1.setDebounceTime(50);
button2.setDebounceTime(50);
button3.setDebounceTime(50);
button4.setDebounceTime(50);
button5.setDebounceTime(50);
button6.setDebounceTime(50);
button7.setDebounceTime(50);
button8.setDebounceTime(50);
button9.setDebounceTime(50);
button10.setDebounceTime(50);
}
void loop() {
button1.loop(); // MUST call the loop() function first
button2.loop(); // MUST call the loop() function first
button3.loop(); // MUST call the loop() function first
button4.loop(); // MUST call the loop() function first
button5.loop(); // MUST call the loop() function first
button6.loop(); // MUST call the loop() function first
button7.loop(); // MUST call the loop() function first
button8.loop(); // MUST call the loop() function first
button9.loop(); // MUST call the loop() function first
button10.loop(); // MUST call the loop() function first
if (button1.isPressed())
off();
if (button2.isPressed())
yellow3sec();
if (button3.isPressed())
red3sec();
if (button4.isPressed())
green3sec();
if (button5.isPressed())
blue3sec();
if (button6.isPressed())
blueFast();
if (button7.isPressed())
greenFast();
if (button8.isPressed())
yellowFast();
if (button9.isPressed())
redFast();
if (button10.isPressed())
magenta3sec();
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment