Please Help having trouble with wiring and code

Hey

Below is my code for a project i am doing at school. I am having trouble getting the LED's to do what i want them to do and was wondering if someone could 'verify' that my code is correct. What the LED's are doing are just turning on and staying on even when i unplug the switch i am using from the power. I am using a 12 position rotary switch which is why there is so many pieces of code.

I am quite new to this so please try to make it easy to understand.

Thanks

int ledPin1 = 22;
int ledPin2 = 23;
int ledPin3 = 24;
int ledPin4 = 25;
int ledPin5 = 26;
int ledPin6 = 27;
int ledPin7 = 28;
int ledPin8 = 29;
int ledPin9 = 30;
int ledPin10 = 31;
int ledPin11 = 32;
int ledPin12 = 33;
int ledPin13 = 34;
int ledPin14 = 35;
int ledPin15 = 36;
int ledPin16 = 37;
int ledPin17 = 38;
int ledPin18 = 39;
int ledPin19 = 40;
int switchPin1 = 41;
int switchPin2 = 42;
int switchPin3 = 43;
int switchPin4 = 44;
int switchPin5 = 45;
int switchPin6 = 46;
int switchPin7 = 47;
int switchPin8 = 48;
int switchPin9 = 49;
int switchPin10 = 50;
int switchPin11 = 51;
int switchPin12 = 52;

void setup()
{
pinMode(switchPin1, INPUT); // OFF
pinMode(switchPin2, INPUT); // A
pinMode(switchPin3, INPUT); // Am
pinMode(switchPin4, INPUT); // A7
pinMode(switchPin5, INPUT); // C
pinMode(switchPin6, INPUT); // D
pinMode(switchPin7, INPUT); // Dm
pinMode(switchPin8, INPUT); // D7
pinMode(switchPin9, INPUT); // E
pinMode(switchPin10, INPUT); // Em
pinMode(switchPin11, INPUT); // F
pinMode(switchPin12, INPUT); // G

// Fret 1
pinMode(ledPin1, OUTPUT); // Red1 Fret1 = F-Dm
pinMode(ledPin2, OUTPUT); // Red2 Fret1 = C-F-Am-D7
pinMode(ledPin3, OUTPUT); // Red3 Fret1 = E
// Fret 2
pinMode(ledPin4, OUTPUT); // Red4 Fret2 = D
pinMode(ledPin5, OUTPUT); // Red5 Fret2 = A-A7
pinMode(ledPin6, OUTPUT); // Red6 Fret2 = G
pinMode(ledPin7, OUTPUT); // Green1 Fret2 = D
pinMode(ledPin8, OUTPUT); // Green2 Fret2 = D7-A-F-Dm
pinMode(ledPin9, OUTPUT); // Green3 Fret2 = C-Am
pinMode(ledPin10, OUTPUT); // Green4 Fret2 = E-Em
pinMode(ledPin11, OUTPUT); // Yellow1 Fret2 = D7
pinMode(ledPin12, OUTPUT); // Yellow2 Fret2 = A-A7
pinMode(ledPin13, OUTPUT); // Yellow3 Fret2 = Am
pinMode(ledPin14, OUTPUT); // Yellow4 Fret2 = E-Em
// Fret 3
pinMode(ledPin15, OUTPUT); // Green5 Fret3 = G
pinMode(ledPin16, OUTPUT); // Yellow5 Fret3 = G
pinMode(ledPin17, OUTPUT); // Yellow6 Fret3 = D-Dm
pinMode(ledPin18, OUTPUT); // Yellow7 Fret3 = F
pinMode(ledPin19, OUTPUT); // Yellow8 Fret3 = C

}

void loop()
{
// A
if (digitalRead(switchPin2) == HIGH)
{
digitalWrite(ledPin5, HIGH);
digitalWrite(ledPin8, HIGH);
digitalWrite(ledPin12, HIGH);
}
// Am
if (digitalRead(switchPin3) == HIGH)
{
digitalWrite(ledPin2, HIGH);
digitalWrite(ledPin9, HIGH);
digitalWrite(ledPin13, HIGH);
}
// A7
if (digitalRead(switchPin4) == HIGH)
{
digitalWrite(ledPin5, HIGH);
digitalWrite(ledPin12, HIGH);
}
// C
if (digitalRead(switchPin5) == HIGH)
{
digitalWrite(ledPin2, HIGH);
digitalWrite(ledPin9, HIGH);
digitalWrite(ledPin19, HIGH);
}
// D
if (digitalRead(switchPin6) == HIGH)
{
digitalWrite(ledPin4, HIGH);
digitalWrite(ledPin7, HIGH);
digitalWrite(ledPin17, HIGH);
}
// Dm
if (digitalRead(switchPin7) == HIGH)
{
digitalWrite(ledPin1, HIGH);
digitalWrite(ledPin8, HIGH);
digitalWrite(ledPin17, HIGH);
}
// D7
if (digitalRead(switchPin8) == HIGH)
{
digitalWrite(ledPin2, HIGH);
digitalWrite(ledPin8, HIGH);
digitalWrite(ledPin11, HIGH);
}
// E
if (digitalRead(switchPin9) == HIGH)
{
digitalWrite(ledPin3, HIGH);
digitalWrite(ledPin10, HIGH);
digitalWrite(ledPin14, HIGH);
}
// Em
if (digitalRead(switchPin10) == HIGH)
{
digitalWrite(ledPin10, HIGH);
digitalWrite(ledPin14, HIGH);
}
// F
if (digitalRead(switchPin11) == HIGH)
{
digitalWrite(ledPin1, HIGH);
digitalWrite(ledPin2, HIGH);
digitalWrite(ledPin8, HIGH);
digitalWrite(ledPin18, HIGH);
}
// G
if (digitalRead(switchPin2) == HIGH)
{
digitalWrite(ledPin6, HIGH);
digitalWrite(ledPin15, HIGH);
digitalWrite(ledPin16, HIGH);
}
else
{
digitalWrite(ledPin1, LOW);
digitalWrite(ledPin2, LOW);
digitalWrite(ledPin3, LOW);
digitalWrite(ledPin4, LOW);
digitalWrite(ledPin5, LOW);
digitalWrite(ledPin6, LOW);
digitalWrite(ledPin7, LOW);
digitalWrite(ledPin8, LOW);
digitalWrite(ledPin9, LOW);
digitalWrite(ledPin10, LOW);
digitalWrite(ledPin11, LOW);
digitalWrite(ledPin12, LOW);
digitalWrite(ledPin13, LOW);
digitalWrite(ledPin14, LOW);
digitalWrite(ledPin15, LOW);
digitalWrite(ledPin16, LOW);
digitalWrite(ledPin17, LOW);
digitalWrite(ledPin18, LOW);
digitalWrite(ledPin19, LOW);
}
}

int ledPin1 = 22;
int ledPin2 = 23;
int ledPin3 = 24;
int ledPin4 = 25;
int ledPin5 = 26;
int ledPin6 = 27;
int ledPin7 = 28;
int ledPin8 = 29;
int ledPin9 = 30;
int ledPin10 = 31;
int ledPin11 = 32;
int ledPin12 = 33;
int ledPin13 = 34;
int ledPin14 = 35;
int ledPin15 = 36;
int ledPin16 = 37;
int ledPin17 = 38;
int ledPin18 = 39;
int ledPin19 = 40;

Arrays, man. Study arrays.

How are your switches wired? You do have external resistors, right, since you are not using the internal resistors?

I thought that the board auto used the in built resistors?!?

Thanks you so much for bring this to my attention :slight_smile: :slight_smile:

Other than that does the code look good?

Thanks you

Please put your code in its own window as seen in other posts. This can be done by placing     [code]  and [/code]  around the code or use the </> icon. This makes it easier for others to read.

How to use this forum

Some description of what you are try to achieve would be helpful.

Weedpharma

I thought that the board auto used the in built resistors?!?

If you use INPUT_PULLUP as the mode, it does. If you don't, it doesn't.

Other than that does the code look good?

No. The code would be about a third as long if you used arrays and for loops to iterate over the arrays. Short code is ALWAYS better. Fewer places for the bugs to hide.