You have an Mega2560, using which version of IDE? You have three relays, two pushbuttons and five LEDs? What do you observe? These data help clarify your project.
Here is a simulation of your program...
Files for WOKWI.COM...
sketch.ino
#define pushButton1 2 //Push Button for Accessory port side on D2
#define relay1 3 //High Output to Relay for pushButton1 on 3
#define blueHalo1 35 //Low Output to Blue Halo on pushButton1 on 34
#define redHalo1 37 //Low Output to Red Halo on pushButton1 on 36
#define pushButton2 4 //Push Button, Navigation - Anchor
#define relay2 5 //Output to Relay for Navigation Lights
#define relay2point1 6 //Output to Relay for Anchor Light
#define blueHalo2 39 //Output to Blue Halo on pushButton1 on
#define greenHalo2 41 //Output to Green Halo on pushButton1 on
#define whiteHalo2 43 //Output to White Halo on pushButton1 on
int state = 0;
int old = 0;
int buttonPoll = 0;
void setup() {
pinMode(pushButton1, INPUT_PULLUP); //Push Button set as Input with internal pullup
pinMode(relay1, OUTPUT); //Relay1 Set to output to Relay Module
pinMode(blueHalo1, OUTPUT); //blueHalo1 set as output to activate Blue Halo on pushButton1
pinMode(redHalo1, OUTPUT); //redHalo1 set as output to activate Red Halo on pushButton1
digitalWrite(relay1, LOW); //set initial state of realy1 to OFF
digitalWrite(blueHalo1, HIGH); //set initial state of blueHalo1 to ON
digitalWrite(redHalo1, LOW); //set initial state of redHalo1 to OFF
pinMode(pushButton2, INPUT_PULLUP); //Push Button set as Input with internal pullup
pinMode(relay2, OUTPUT); //Relay2 Set to output to Relay Module
pinMode(relay2point1, OUTPUT);
pinMode(blueHalo2, OUTPUT); //blueHalo2 set as output to activate Blue Halo on pushButton2
pinMode(greenHalo2, OUTPUT); //whiteHalo2 set as output to activate Red Halo on pushButton2
pinMode(whiteHalo2, OUTPUT);
digitalWrite(relay2, LOW); //set initial state of realy2 to OFF
digitalWrite(relay2point1, LOW);
digitalWrite(blueHalo2, HIGH); //set initial state of blueHalo2 to ON
digitalWrite(greenHalo2, LOW); //set initial state of greenHalo2 to OFF
digitalWrite(whiteHalo2, LOW); //set initial state of whiteHalo2 to OFF
}
void loop() {
buttonPoll = digitalRead(pushButton1);
if (buttonPoll == 1) {
delay(50);
buttonPoll = digitalRead(pushButton1);
if (buttonPoll == 0) {
state = old + 1;
}
} else {
delay(100);
}
switch (state) {
case 1:
digitalWrite(redHalo1, HIGH);
digitalWrite(blueHalo1, LOW);
digitalWrite(relay1, HIGH);
old = state;
break;
default:
digitalWrite(redHalo1, LOW);
digitalWrite(blueHalo1, HIGH);
digitalWrite(relay1, LOW);
old = 0;
break;
buttonPoll = digitalRead(pushButton2);
if (buttonPoll == 1) {
delay(50);
buttonPoll = digitalRead(pushButton2);
if (buttonPoll == 0) {
state = old + 1;
}
} else {
delay(100);
}
switch (state) {
case 1:
digitalWrite(blueHalo2, LOW);
digitalWrite(greenHalo2, HIGH);
digitalWrite(whiteHalo2, LOW);
digitalWrite(relay2, HIGH);
digitalWrite(relay2point1, HIGH);
old = state;
break;
case 2:
digitalWrite(blueHalo2, LOW);
digitalWrite(greenHalo2, LOW);
digitalWrite(whiteHalo2, HIGH);
digitalWrite(relay2, LOW);
digitalWrite(relay2point1, HIGH);
old = state;
break;
default:
digitalWrite(blueHalo2, HIGH);
digitalWrite(greenHalo2, LOW);
digitalWrite(whiteHalo2, LOW);
digitalWrite(relay2, LOW);
digitalWrite(relay2point1, LOW);
old = 0;
break;
}
}
}
diagram.json
{
"version": 1,
"author": "Anonymous maker",
"editor": "wokwi",
"parts": [
{ "type": "wokwi-arduino-mega", "id": "mega", "top": 0.6, "left": -3.6, "attrs": {} },
{ "type": "wokwi-relay-module", "id": "relay1", "top": -105.4, "left": 374.4, "attrs": {} },
{ "type": "wokwi-vcc", "id": "vcc1", "top": -277.64, "left": 355.2, "attrs": {} },
{ "type": "wokwi-relay-module", "id": "relay2", "top": -172.6, "left": 374.4, "attrs": {} },
{
"type": "wokwi-pushbutton-6mm",
"id": "btn2",
"top": -107.8,
"left": 240,
"attrs": { "color": "green" }
},
{
"type": "wokwi-pushbutton-6mm",
"id": "btn3",
"top": -59.8,
"left": 240,
"attrs": { "color": "green" }
},
{ "type": "wokwi-relay-module", "id": "relay3", "top": -239.8, "left": 374.4, "attrs": {} },
{
"type": "wokwi-led",
"id": "led1",
"top": 27.6,
"left": 477,
"rotate": 90,
"attrs": { "color": "blue" }
},
{
"type": "wokwi-resistor",
"id": "r1",
"top": 42.35,
"left": 412.8,
"attrs": { "value": "1000" }
},
{
"type": "wokwi-led",
"id": "led2",
"top": 46.8,
"left": 477,
"rotate": 90,
"attrs": { "color": "red" }
},
{
"type": "wokwi-led",
"id": "led3",
"top": 66,
"left": 477,
"rotate": 90,
"attrs": { "color": "blue" }
},
{
"type": "wokwi-led",
"id": "led4",
"top": 85.2,
"left": 477,
"rotate": 90,
"attrs": { "color": "green" }
},
{
"type": "wokwi-led",
"id": "led5",
"top": 104.4,
"left": 477,
"rotate": 90,
"attrs": { "color": "white" }
},
{
"type": "wokwi-resistor",
"id": "r2",
"top": 61.55,
"left": 412.8,
"attrs": { "value": "1000" }
},
{
"type": "wokwi-resistor",
"id": "r3",
"top": 80.75,
"left": 412.8,
"attrs": { "value": "1000" }
},
{
"type": "wokwi-resistor",
"id": "r4",
"top": 99.95,
"left": 412.8,
"attrs": { "value": "1000" }
},
{
"type": "wokwi-resistor",
"id": "r6",
"top": 119.15,
"left": 412.8,
"attrs": { "value": "1000" }
},
{
"type": "wokwi-text",
"id": "legendservo1",
"top": -105.6,
"left": 268.8,
"attrs": { "text": "pB2" }
},
{
"type": "wokwi-text",
"id": "legendservo2",
"top": -57.6,
"left": 268.8,
"attrs": { "text": "pB1" }
},
{
"type": "wokwi-text",
"id": "legendservo3",
"top": 38.4,
"left": 518.4,
"attrs": { "text": "bH1" }
},
{
"type": "wokwi-text",
"id": "legendservo4",
"top": 57.6,
"left": 518.4,
"attrs": { "text": "rH1" }
},
{
"type": "wokwi-text",
"id": "legendservo5",
"top": 76.8,
"left": 518.4,
"attrs": { "text": "bH1" }
},
{
"type": "wokwi-text",
"id": "legendservo6",
"top": 96,
"left": 518.4,
"attrs": { "text": "gH1" }
},
{
"type": "wokwi-text",
"id": "legendservo7",
"top": 115.2,
"left": 518.4,
"attrs": { "text": "wH1" }
},
{
"type": "wokwi-text",
"id": "legendservo8",
"top": -220.8,
"left": 508.8,
"attrs": { "text": "r1" }
},
{
"type": "wokwi-text",
"id": "legendservo9",
"top": -163.2,
"left": 508.8,
"attrs": { "text": "r2" }
},
{
"type": "wokwi-text",
"id": "legendservo10",
"top": -86.4,
"left": 508.8,
"attrs": { "text": "r2p1" }
}
],
"connections": [
[ "relay1:IN", "mega:3", "green", [ "h0" ] ],
[ "vcc1:VCC", "relay1:VCC", "red", [ "v0" ] ],
[ "vcc1:VCC", "relay2:VCC", "red", [ "v0" ] ],
[ "btn3:2.l", "mega:2", "green", [ "h0" ] ],
[ "mega:4", "btn2:2.l", "green", [ "v0" ] ],
[ "mega:GND.1", "btn2:1.l", "black", [ "v0" ] ],
[ "mega:GND.1", "btn3:1.l", "black", [ "v0" ] ],
[ "mega:GND.1", "relay1:GND", "black", [ "v0" ] ],
[ "mega:GND.1", "relay2:GND", "black", [ "v0" ] ],
[ "vcc1:VCC", "relay3:VCC", "red", [ "v0" ] ],
[ "mega:5", "relay2:IN", "green", [ "v0" ] ],
[ "mega:6", "relay3:IN", "green", [ "v0" ] ],
[ "mega:GND.1", "relay3:GND", "black", [ "v0" ] ],
[ "led1:A", "mega:35", "green", [ "h-86.4", "v18" ] ],
[ "led2:A", "mega:37", "green", [ "h-86.4", "v8.3" ] ],
[ "led3:A", "mega:39", "green", [ "h-86.4", "v-1.15" ] ],
[ "led4:A", "mega:41", "green", [ "h-86.4", "v-10.85" ] ],
[ "led5:A", "mega:43", "green", [ "h-86.4", "v-20.3" ] ],
[ "led1:C", "r1:2", "green", [ "h0" ] ],
[ "led5:C", "r6:2", "green", [ "h0" ] ],
[ "led4:C", "r4:2", "green", [ "h0" ] ],
[ "led3:C", "r3:2", "green", [ "h0" ] ],
[ "led2:C", "r2:2", "green", [ "h0" ] ],
[ "mega:GND.5", "r6:1", "black", [ "v0.95", "h45.4" ] ],
[ "r6:1", "r4:1", "black", [ "v0" ] ],
[ "r4:1", "r3:1", "black", [ "v0" ] ],
[ "r3:1", "r2:1", "black", [ "v0" ] ],
[ "r2:1", "r1:1", "black", [ "v0" ] ]
],
"dependencies": {}
}