nRF24L01 on Arduino Mega and Arduino Uno

Hi, (I'm new to Arduino)
I try to communicate between Arduino Mega and Arduino Uno with 2 nRF24L01.
If Arduino Mega send messeges Arduino UNO get it and reply, but Arduino Mega doesn't get the reply.
If Arduino Uno send messeges Arduino Mega doesn't get it..
So I think that the problem is:

  • Arduino Uno can't send messeges
  • or Arduino Mega can't get messeges

How can I check this?

Sorry for my English.
Thank's for answers.

You need to be using the same pipe addresses for sending from (a) to (b) AND on the same rf channel

Have you tried the examples in the examples folder ?
Are you running the NRF module at no more than 3.7v ? (damage can occur at 5v)
Is it wired correctly ?

I recommend a good read of this page if you want more information and step by step guide

https://arduino-info.wikispaces.com/Nrf24L01-2.4GHz-HowTo

Yes I'm trying the examples.
The connection I think is good, I checked it a lot of times.
The nfr module is connect to the 3.3 arduino's port. With my multimeter the output voltage from arduino is 3.31V.

can you describe your connections that you are using between the arduino's and the nrf board please

Arduino UNO:

NRF to ARDUNO'S PIN

VCC - 3.3V
GND - GND
CSN - 10
CE - 9
MOSI - 11
SCK - 13
MISO - 12

constructor via software: NRF24 nrf24(9,10);

Arduino MEGA:

NRF to ARDUNO'S PIN

VCC - 3.3V
GND - GND
CSN - 53
CE - 8
MOSI - 51
SCK - 52
MISO - 50

constructor via software: NRF24 nrf24(8,53);

Now I read:

NOTE!! Most * problems with intermittent operation are because of electrical noise on the 3.3V Power supply. The MEGA is more of a problem with this. Solution: ADD bypass capacitors across GND and 3.3V ON the radio modules. One user said, "Just Solder a 100nF ceramic cap across the gnd and 3.3v pins direct on the nrf24l01+ modules!" Some have used a 1uF to 10uF capacitor.

But I haven't one capacitor now.. Is really necessary?

Try this first

on your Mega board:

  • change the CE from pin 8 to pin 9
  • change constructor to NRF24 nrf24(9,53);

also double check that the wires from the arduinos go to the correct pins on the radio boards

Incidentally, which radio boards have you got ?
Green with coathanger chaped PCB antenna ?
Black with squiggle PCB antenna ?
8 pin connector ? 10 pin connector ?

Dont worry about capacitors for now

Tryed to change the pin. It's the same. No reply.

The board is this: http://www.ebay.it/itm/171659828596?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1497.l2649

8 pin

This is a screenshot of the errors.

Perhaps download some different libraries ?

I have been using GitHub - maniacbug/RF24: Arduino driver for nRF24L01 without any problems

This screenshot can help you?

This shot on the left, which ever that one is, is the problem
It appears the module isnt working right as far as I can see
There are many 0xff's, especially the pipe addresses, they dont appear to have been written to

Do you have another NRF24L01 you can swap with that one (even if it is the 'good one) ?

You need to do another status printout again when you have put the working one in place of the one on the left of the screenshot

Apart from that it also looks like they are both set for receiving, hence...

ROLE : Pong back
*** PRESS T to begin transmitting to the other node

just a guesss...

I also noticed that one is a NRF24L01 and the other is a NRF24L01+

Are they different to look at ?

They looks the same.
I no have another one, so i'll try to exchenge the modules between the arduino. If the same doesn't work.... It's not good.

I had exchange the modules and the mega can trasmit but can't receive..
About the zeros, sorry while I was checking for solution I forgot to change the pin to 9 in the code.
So the problem is the same.
These are 3 screenshot:
First while the mega transmit
Second while Uno transmit
Last with the values of modules

Thank's for your time!

Everything looks good, except the RX & TX addresses dont look right for some reason

example

UNIT 1               UNIT 2
TX address >>>>>>>>> RX address (pipe 1)
ABC                  ABC

UNIT 1               UNIT 2
RX address <<<<<<<<< TX address (pipe 2)
XYZ                  XYZ

as you can see, the transmit & receiving addresses match for each direction you are transmitting/receiving

So how can I resolve?

I have no more ideas, I would need your software and hardware in front of me, solving this remotely is quite difficult

Thank's for all... :wink:

So the only software I'm trying is example code.
The hardware are just the Arduino's cards and the wifi modules.

I'll try to insert the capacitor and will check the results.