Created
November 17, 2021 18:15
-
-
Save BatteryDie/0a9e0b04bd8663387998ff3b0726a18b to your computer and use it in GitHub Desktop.
Long row boat light controller Arduino source code
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#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