Two nRF24L01+/Arduino UNOs don’t connect

arduino

I am trying to establish simple ping/pong communication between two nodes connected on two arduino UNOs using this guide http://maniacbug.wordpress.com/2011/11/02/getting-started-rf24/ and the RF24 library. So far it seems that the wires are connected well because I am getting addresses for both nodes :

RF24/examples/GettingStarted/

ROLE: Pong back

*** PRESS 'T' to begin transmitting to the other node

STATUS       = 0x0e RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=7 TX_FULL=0
RX_ADDR_P0-1     = 0xf0f0e1d23c 0xf0f0f0f0d2
RX_ADDR_P2-5     = 0x69 0x96 0xa5 0xc3
TX_ADDR      = 0xf0f0f0d269
RX_PW_P0-6   = 0x20 0x20 0x20 0x20 0x20 0x20
EN_AA        = 0x00
EN_RXADDR    = 0x3f
RF_CH        = 0x4c
RF_SETUP     = 0x07
CONFIG       = 0x0f
DYNPD/FEATURE    = 0x00 0x00
Data Rate    = 1MBPS
Model        = nRF24L01+
CRC Length   = 16 bits
PA Power     = PA_HIGH

What disappoints me is that by using GettingStarted example http://maniacbug.github.io/RF24/GettingStarted_8pde-example.html both nodes are working but they are unable to establish connection.

My first question is: as every network equipment has a MAC address to be identified, shouldn't all rf24s have something similar ?

I have seen this :

// Radio pipe addresses for the 2 nodes to communicate.
const uint64_t pipes[2] = { 0xF0F0F0F0E1LL, 0xF0F0F0F0D2LL };

is this some kind of MAC address or id ?

I am so thrilled about those sensors and I can't wait to make them talk 🙂

Best Answer

The actual problem is with Arduino UNO's 3v3 voltage, which seems unstable and needs a capacitor (I used 4.7uF) attached to the ends of Vcc/GND of nRF24L01+. All examples worked but my question regarding the pipe addresses is still pending !