Hi
I am trying to get the RF24 library from Maniacbug to work on an Arduino Uno
I am using the example "Getting Started", and I am getting errors when it tries to transmit data.
Anyone have any clue as to what could be wrong. The wiring should be ok, I have checked it several times.
Here is the log from the serial monitor:
RF24/examples/GettingStarted/
ROLE: Pong back
*** PRESS 'T' to begin transmitting to the other node
STATUS = 0x83 RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=1 TX_FULL=1
RX_ADDR_P0-1 = 0x8383838383 0x8383838383
RX_ADDR_P2-5 = 0x83 0x83 0x83 0x83
TX_ADDR = 0x8383838383
RX_PW_P0-6 = 0x83 0x83 0x83 0x83 0x83 0x83
EN_AA = 0x83
EN_RXADDR = 0x83
RF_CH = 0x83
RF_SETUP = 0x83
CONFIG = 0x83
DYNPD/FEATURE = 0x83 0x83
Data Rate = 1MBPS
Model = nRF24L01
CRC Length = Disabled
PA Power = PA_LOW
*** CHANGING TO TRANSMIT ROLE -- PRESS 'R' TO SWITCH BACK
Now sending 12319...failed.
Failed, response timed out.
Now sending 13530...failed.
Failed, response timed out.
Now sending 14739...failed.
Failed, response timed out.
Now sending 15947...failed.
Failed, response timed out.
Now sending 17156...failed.
Failed, response timed out.
Now sending 18365...failed.
The connections between your arduino and the nrf24l01 are not correct. You should not be getting all these 83's as responses. You should be seeing numbers like
Well,
It seems something is very unstable...
I have two rf modules and an Uno and a Nano.
No matter which combination I use them in, I get varying results.
Even from reset to reset with the same board/module combination.
I tried switching hook-up wires without success...
I am a bit at loss here...
LarsSorensen:
Well,
It seems something is very unstable...
That response looks ok but if you are getting unstable results then the answer is probably the supply to the nrf24l01. The modules are very sensitive to disturbance on the 3.3v supply rail so my solution was to solder 1uF capacitors directly across the vcc and gnd connections on the top of the nrf24l01 module. The value of the capacitor does not seem to be critical but with the extra smoothing the modules should be rock solid.
LarsSorensen:
I will try the capacitor trick, though I only have 100uF, so I will probably have to go get some smaller ones...
The 100uF should be ok to try but I would want to work out the initial charging current first. If the resistance between the capacitor and the voltage regulator is only 1 ohm then the peak charging current is 3.3 amps. I presume that the regulators used on the arduino are current limited but you could put a resistor in series with the cap to reduce the peak current. Of course this then changes the resonant frequency of the circuit so .. try and find a small capacitor!
Ok, so I tried soldering a 1uF 100V (was advised to use this component by the shop) and soldered it on top of the RF module, capacitor "-" to ground on the module and "+" to VCC on the module.
The status message looks ok, but It still says: "Now sending 13530...failed. Failed, response timed out."
Are you using pins 9 and 10 or 8 and 9 for ce, csn?
How far apart are the two units? (I noticed you have PA_Low)
Do you have one transmitting and the other receiving?
Post your code, It might be a dumb little problem.
I was using the "Getting Started" example from the library to communicate two modules nRF24L01 with two Arduino Uno.
At first they didn't communicate at all, the programme freezed when coming to the line radio.write(xxx), and it didn't go further.
I used a 3.3V regulator to power the two nRF24L01 (only one regulator for both, because I only had one, but it would be better to use one regulator for each, basically to separate them some meters). Then it started communicating but said "Failed" everywhere.
Then I unplugged and plugged the two Arduinos again and they just worked fine.