controlling two diff rows of led using npn. help

OK so i am kinda new at this. my question is when I hook up both npn transisters both rows of led do the same thing. But my code is wrote to control both rows of led seperate.. when only one npn is hooked to arduino the row of led works like it is suspose to. I attached a drawing of my circuit minus the resistors...

now here is my sketch....

void setup() {
// put your setup code here, to run once:
pinMode(1, OUTPUT); // to led 1-9
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT); // to npn 1
pinMode(11, OUTPUT); // to npn 2
}

void loop() {
// put your main code here, to run repeatedly:

nightrider();
blinkingnight();
nightriderred();
blinkingnightred();

}

void nightrider() {

digitalWrite(10, HIGH);

digitalWrite(5, HIGH);
delay(100);

digitalWrite(6, HIGH);
digitalWrite(4, HIGH);
delay(100);

digitalWrite(7, HIGH);
digitalWrite(3, HIGH);
delay(100);

digitalWrite(8, HIGH);
digitalWrite(2, HIGH);
delay(100);

digitalWrite(9, HIGH);
digitalWrite(1, HIGH);
delay(100);
digitalWrite(9, LOW);
digitalWrite(1, LOW);
delay(100);
digitalWrite(8, LOW);
digitalWrite(2, LOW);
delay(100);
digitalWrite(7, LOW);
digitalWrite(3, LOW);
delay(100);
digitalWrite(6, LOW);
digitalWrite(4, LOW);
delay(100);
digitalWrite(5, LOW);
delay(100);

digitalWrite(10, LOW);
delay(100);

}

void blinkingnight() {

digitalWrite(10, HIGH);

digitalWrite(5, HIGH);
delay(10);
digitalWrite(5, LOW);
delay(10);
digitalWrite(5, HIGH);
delay(10);

digitalWrite(6, HIGH);
digitalWrite(4, HIGH);
delay(10);
digitalWrite(6, LOW);
digitalWrite(4, LOW);
delay(10);
digitalWrite(6, HIGH);
digitalWrite(4, HIGH);
delay(10);

digitalWrite(7, HIGH);
digitalWrite(3, HIGH);
delay(10);
digitalWrite(7, LOW);
digitalWrite(3, LOW);
delay(10);
digitalWrite(7, HIGH);
digitalWrite(3, HIGH);
delay(10);

digitalWrite(8, HIGH);
digitalWrite(2, HIGH);
delay(10);
digitalWrite(8, LOW);
digitalWrite(2, LOW);
delay(10);
digitalWrite(8, HIGH);
digitalWrite(2, HIGH);
delay(10);

digitalWrite(9, HIGH);
digitalWrite(1, HIGH);
delay(10);
digitalWrite(9, LOW);
digitalWrite(1, LOW);
delay(10);
digitalWrite(9, HIGH);
digitalWrite(1, HIGH);
delay(10);

digitalWrite(9, LOW);
digitalWrite(1, LOW);
delay(10);
digitalWrite(8, LOW);
digitalWrite(2, LOW);
delay(10);
digitalWrite(7, LOW);
digitalWrite(3, LOW);
delay(10);
digitalWrite(6, LOW);
digitalWrite(4, LOW);
delay(10);
digitalWrite(5, LOW);
delay(10);

digitalWrite(10, LOW);
delay(100);

}

void nightriderred() {

digitalWrite(11, HIGH);

digitalWrite(5, HIGH);
delay(100);

digitalWrite(6, HIGH);
digitalWrite(4, HIGH);
delay(100);

digitalWrite(7, HIGH);
digitalWrite(3, HIGH);
delay(100);

digitalWrite(8, HIGH);
digitalWrite(2, HIGH);
delay(100);

digitalWrite(9, HIGH);
digitalWrite(1, HIGH);
delay(100);
digitalWrite(9, LOW);
digitalWrite(1, LOW);
delay(100);
digitalWrite(8, LOW);
digitalWrite(2, LOW);
delay(100);
digitalWrite(7, LOW);
digitalWrite(3, LOW);
delay(100);
digitalWrite(6, LOW);
digitalWrite(4, LOW);
delay(100);
digitalWrite(5, LOW);
delay(100);

digitalWrite(11, LOW);
delay(100);

}

void blinkingnightred() {

digitalWrite(11, HIGH);

digitalWrite(5, HIGH);
delay(10);
digitalWrite(5, LOW);
delay(10);
digitalWrite(5, HIGH);
delay(10);

digitalWrite(6, HIGH);
digitalWrite(4, HIGH);
delay(10);
digitalWrite(6, LOW);
digitalWrite(4, LOW);
delay(10);
digitalWrite(6, HIGH);
digitalWrite(4, HIGH);
delay(10);

digitalWrite(7, HIGH);
digitalWrite(3, HIGH);
delay(10);
digitalWrite(7, LOW);
digitalWrite(3, LOW);
delay(10);
digitalWrite(7, HIGH);
digitalWrite(3, HIGH);
delay(10);

digitalWrite(8, HIGH);
digitalWrite(2, HIGH);
delay(10);
digitalWrite(8, LOW);
digitalWrite(2, LOW);
delay(10);
digitalWrite(8, HIGH);
digitalWrite(2, HIGH);
delay(10);

digitalWrite(9, HIGH);
digitalWrite(1, HIGH);
delay(10);
digitalWrite(9, LOW);
digitalWrite(1, LOW);
delay(10);
digitalWrite(9, HIGH);
digitalWrite(1, HIGH);
delay(10);

digitalWrite(9, LOW);
digitalWrite(1, LOW);
delay(10);
digitalWrite(8, LOW);
digitalWrite(2, LOW);
delay(10);
digitalWrite(7, LOW);
digitalWrite(3, LOW);
delay(10);
digitalWrite(6, LOW);
digitalWrite(4, LOW);
delay(10);
digitalWrite(5, LOW);
delay(10);

digitalWrite(11, LOW);
delay(100);

}

"my question is when I hook up both npn transisters both rows of led do the same thing. But my code is wrote to control both rows of led seperate.."

What does "when I hook up both ..." mean.
If you pull the wire from the arduino to the base of the transistor, does that take that string out of operation? What if you pull both base wires off?

You said your schematic was without resistors. Maybe you need to show those .

If you have the transistors wired wrong, it could cause that. Double check that.

ok i have pin 10 and 11 hooked to different npn transistors to control which strip gets ground at a certain time.. if both pin 10 and 11 are hooked to the npns both rows of leds do the same thing like the ground is somehow getting crossed together... take for example... in my code nightrider is for pin 10 and nightriderred is pin 11. same with blinking night... it is suspose to run nightrider on one led array and nightriderred on the other array at a different time. when both are hooked up they go off at the same time. but if i only have pin 10 hooked up it runs nightrider and blinkingnight like it is suspose too. same with pin 11 if only that npn is hooked up, that strip runs nightriderred and blinkingnightred like the code says.. when both npns are connected both arrays run nightrider and blinking night at the same time.. i hope i made sense with all of what i wrote.

i have the npns hooked up right. flat side towards me. left pin is from ground middle is power and right pin goes to led ground the power of the leds have 220 ohm resisters and the npns have 22k resistors.

So, if I understand, when one transistor is not hooked up, that means, the transistor is still in the circuit, and emitter and collector are still connected, that you just disconnect the base. Then leds on one leg only will light (which is correct). But when you have both bases hooked to the Arduino, both led legs light (wney only one should)..
And, what happens if you pull the base wire from both transistors (leave the emitter and collector connected) ?

If it is not hardware, then we may consider software. Maybe in each function, turn off the transistor that is not wanted. It appears it would not need that, but...

What npn are you using?
Is the 22k between the arduino, and the base?

ok in each function, it turns on one npn at the beginning of that function and turns it off at the end of the function. when both bases are pulled nothing happens. so lets say one npn is a and the other is b. a goes to led array 1, and b goes to led array 2. when just base of a is hooked up 1 works right. when just base of b is hooked up 2 works right. when both bases are hooked up is when i have the problem of both 1 and 2 going off at the same time

ok so i pulled the ground from arduino off of npn a, and it still acts like it does when it is connected

npns are from over seas. yes 22k is between arduino and base.

"ok so i pulled the ground from arduino off of npn a, and it still acts like it does when it is connected"
You disconnected the emitter from ground? And the collector still shows low (ground)? Can you check with a volt meter?

Ok, what happens if you pull the transistor out of the circuit? One at a time.

"npns are from over seas.". They should still have a number. Maybe they sent you pnps.

Could it be, that you have two power supplies, and the grounds are not connected (common) ?

I'm using only arduino power. The resistor is 2n5401 b331 which turned out to be PNP. I'm going to find Npn and try it. Thanks for all the help. I will comment results. I just don't understand how PNP would act like a Npn when only one was connected.

OK so I put s9014 c331 which are Npn. Then ran it. And only one function worked. I thought I burnt pin 11. Then changed 11 to 12. Still only one function
Worked. But both arrays did not light at the same time. So I went over my code. In the void loop function I had to put a delay between each function. Changed pin 12 back to pin 11 . and hurray... It works perfect. So the problem was the wrong transistor(I feel stupid for not googling the number on transistor) and the delay between functions. Thank everyone for the help. You saved my brain from overloading.