Trouble getting two RF24 transmitters to talk to one RF24 receiver

I have two RF24s connected to two separate Arduino Nanos, and another RF24 connected to an Uno. Basically what I'm trying to do is make a stopwatch where if you push a button on any of the three boards, it tells the stopwatch to stop or start, and the Uno has an LCD that displays the time interval. I have the RF24 connected to the Uno set to read, and the RF24s connected to the Nanos set to write to signal when a button has been pressed on either of them. I have gotten this to work fine when using just one of the Nanos, but when I try to use both of them, the receiver only seems to be reading from a single pipe. I've attached my code here, can anyone see what it is that I'm doing wrong?

Transmitter code for the Nanos:

#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
RF24 radio (9, 10);
const byte address[6] = "00001";
const int switchpin = 4;
boolean switchstate = LOW;
boolean old_switchstate = LOW;
int state = 0;

void setup() {
  pinMode (4, INPUT);
  radio.begin();
  radio.openWritingPipe(address);
  radio.setPALevel(RF24_PA_MIN);
  radio.stopListening();
}

void loop() {
  switchstate = digitalRead(switchpin);
    if (switchstate!= old_switchstate){
      if (switchstate == HIGH){
        state = 1;
        radio.write(&state, sizeof(state));
      }
      else{
        state = 0;
        radio.write(&state, sizeof(state));
      }
      old_switchstate = switchstate;
    }
}

The only difference in the code between the two transmitters is that the second transmitter has an address of "00002"

Reciever code:

#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
#include <LiquidCrystal.h>
LiquidCrystal lcd(8, 6, 5, 4, 3, 2);
const int switchpin = 7;
const int ledpin = 1;
boolean switchstate = LOW;
boolean old_switchstate = LOW;
boolean ledon = LOW;
boolean old_ledstate = LOW;
unsigned long oldtime = 0;
float interval = 0;
RF24 radio(9, 10);
const byte address1 [6] = "00001";
const byte address2 [6] = "00002";
int state = 0;

void setup() {
  SPI.begin;
  radio.begin ();
  radio.openReadingPipe (0, address1);
  radio.openReadingPipe (1, address2);
  radio.setPALevel (RF24_PA_MIN);
  radio.startListening ();
  pinMode(switchpin, INPUT);
  pinMode(ledpin, OUTPUT);
  lcd.begin(16, 2);
  lcd.setCursor(1, 0);
  lcd.print("Push button");
  lcd.setCursor(3, 1);
  lcd.print("to start");
}

void loop() {
  unsigned long currenttime = millis();
  if (radio.available()){
    radio.read(&state, sizeof(state));
    if (state == 1){
      ledon = !ledon;
    }
  }
  switchstate = digitalRead(switchpin);
  if (switchstate != old_switchstate) {
    old_switchstate = switchstate;
    if (switchstate == HIGH){
      ledon = !ledon;
    }
  }
  if (ledon != old_ledstate){
     if (ledon == HIGH){
      digitalWrite(ledpin, HIGH);
      lcd.clear();
      lcd.setCursor(7, 0);
      lcd.print("GO!");
      oldtime = currenttime;
    }
     else {
      digitalWrite(ledpin, LOW);
      interval = (currenttime - oldtime)/1000.0;
      lcd.clear();
      lcd.setCursor(0, 0);
      lcd.print("Time:");
      lcd.setCursor(0, 1);
      lcd.print(interval, 2);
    }
    old_ledstate = ledon;
  } 
}

Please use the Code button </> (not the Quote button) when posting code

so your 
code looks like this

To avoid confusion let's call them nanoA and nanoB.

If you power up nanoA and the Uno does the Uno receive the messages?

If you then de-power nanoA and power up nanoB does the Uno receive the messages?

If you are hoping to create a system that can detect which button is pressed first then I don't think your system will work for a few reasons. The biggest problem will arise if the two nanos try to transmit at nearly the same time because both messages will be garbled. Another problem is that you should not rely on a wireless message being transmitted successfully - it is necessary to be able to repeat a failed message but with your system that would screw up the timing.

A better approach is for each device to record the time when its button was pressed and then the nanos can send that time to the Uno. That would also allow the control of the wireless to be put in the hands of the Uno which would avoid the problem of data collisions. HOWEVER then there is the problem of synchronising the time measurement on all three Arduinos.

...R
Simple nRF24L01+ Tutorial

Thank you for replying (and for teaching me how to properly format my post). Allow me to clarify. If I have just NanoA as address "00001" and the Uno has

radio.openReadingPipe (1, address1);

it works fine.
If I have just NanoB as address "00002" and the Uno has

radio.openReadingPipe (1, address2);

it also works fine. However, when I try to connect both of them, and the Uno has

radio.openReadingPipe (0, address1);
radio.openReadingPipe (1, address2);

The Uno only receives signal from whichever Nano it is reading on reading pipe 1. I've tried switching which address is being read by pipe 1, and it will change which Nano it receives signal from appropriately. I've tried using other pipes, and it always picks one pipe to receive signal from, and receives nothing from the other.
As for the issue you raised about both Nanos sending signal simultaneously, for my uses there really shouldn't be a case where both buttons are being pushed simultaneously (or close to it), and they only send a signal when the buttons are pressed, so I don't think that should affect my project (unless I have misunderstood something here).

mattspectre:
radio.openReadingPipe (1, address1);

it works fine.
If I have just NanoB as address "00002" and the Uno has

radio.openReadingPipe (1, address2);

it also works fine. However, when I try to connect both of them, and the Uno has

radio.openReadingPipe (0, address1);
radio.openReadingPipe (1, address2);

In Reply #1 what I intended you to try is

radio.openReadingPipe (0, address1);
radio.openReadingPipe (1, address2);

but with only one of the nanos powered up at any one time.

...R

So I have tried this. What happens is when I have

radio.openReadingPipe(0, addressForNanoA);
radio.openReadingPipe(1, addressForNanoB);

When I turn on just NanoB, it works fine. When I turn on just NanoA, it receives no signal. However, if I switch which one is connected to which pipe like so:

radio.openReadingPipe(1, addressForNanoA);
radio.openReadingPipe(0, addressForNanoB);

Then when I turn on just NanoA, it works fine, and when I turn on just NanoB it receives no signal.

Sorry, I don't know what the problem is - I don't see any obvious fault in your code but I don't normally use multiple pipes myself.

My normal practice is to listen on a single pipe and have both Tx Arduinos send to the same address. I include a byte in the message to identify which Arduino sends the message.

...R

Darn. Alright, well thanks for your help. I appreciate it.