Forum: Mikrocontroller und Digitale Elektronik [Arduino] NRF2401+ kommunizieren nicht


von Lars U. (lars_u)


Lesenswert?

Hallo,
ich versuche seit ein paar tagen meine beiden NRF2401+ Module 
kommunizieren zu lassen (Mit der NRF2401 Lib). Doch leider empfängt 
keines der beiden Module etwas.

Dem Log nach sind die Module richtig angeschlossen:

Hier mal der Serial log vom Arduino Mega

########################################
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  = 0xf0f0f0f0d2 0xf0f0f0f0e1
RX_ADDR_P2-5  = 0xc3 0xc4 0xc5 0xc6
TX_ADDR     = 0xf0f0f0f0d2
RX_PW_P0-6  = 0x08 0x08 0x00 0x00 0x00 0x00
EN_AA     = 0x00
EN_RXADDR  = 0x03
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
########################################

und hier der Serial Log vom Arduino Nano

########################################
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  = 0xf0f0f0f0d2 0xf0f0f0f0e1
RX_ADDR_P2-5  = 0xc3 0xc4 0xc5 0xc6
TX_ADDR     = 0xf0f0f0f0d2
RX_PW_P0-6  =  0x08 0x08 0x00 0x00 0x00 0x00
EN_AA     = 0x3f
EN_RXADDR  = 0x03
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


Now sending 8478...failed.

Failed, response timed out.

Now sending 9753...failed.

Failed, response timed out.

Now sending 11027...failed.

Failed, response timed out.
########################################


Also eigentlich alles korrekt.
Hat jemand eine Idee was ich noch ausprobieren kann ?

von Lars U. (lars_u)


Lesenswert?

habe leider immer noch keine Lösung gefunden.

von Harald (Gast)


Lesenswert?

Kenne das Programm nicht, aber nur mal als erste Idee: sind die 
dargestellten Parameter ausgelesen oder nur die, die eingestellt werden 
sollten?
Sprich: kannst Du die SPI Beschaltung und Konfiguration als Fehlerquelle 
ausschließen.

von Lars U. (lars_u)


Lesenswert?

Ja diese Fehlerquelle kann ich ausschließen.
Diese Parameter , sind die Parameter des Moduls.

Ich habe Gestern auch ein 433Mhz Modul ausprobiert(virtualWire Library), 
leider hatte ich auch damit keinen Erfolg

von Stefan K. (stefan_ok)


Lesenswert?

Schonmal mit einer externen Spannungsversorgung für das Funkmodul 
probiert?
Manche Arduinos leisten nicht genug Saft für den NRF am 3.3V-Anschluss, 
zum konfigurieren wird's reichen, aber beim senden könnte es dann 
einknicken.....

Ausserdem wird ein Glättungskondensator so nah wie möglich am NRF-VCC 
empfohlen.

von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

Lars U. schrieb:
> Hier mal der Serial log vom Arduino Mega
> RX_ADDR_P0-1  = 0xf0f0f0f0d2 0xf0f0f0f0e1
> RX_ADDR_P2-5  = 0xc3 0xc4 0xc5 0xc6
> TX_ADDR     = 0xf0f0f0f0d2

> und hier der Serial Log vom Arduino Nano
> RX_ADDR_P0-1  = 0xf0f0f0f0d2 0xf0f0f0f0e1
> RX_ADDR_P2-5  = 0xc3 0xc4 0xc5 0xc6
> TX_ADDR     = 0xf0f0f0f0d2

 Ich kenne mich mit mit Arduino-Lib nicht aus, aber für mich scheint es
 als ob die beiden Module versuchen, mit sich selbst zu kommunizieren.

 Also, eine dumme Frage vom Unwissenden:
 Sollten die Adressen nicht vertauscht oder zumindest verschieden sein ?

von Stefan K. (stefan_ok)


Lesenswert?

...wenn Du die Lib und den Sketch benutzt, den ich glaube, dann achte 
mal auf:
1
// sets the role of this unit in hardware. Connect to GND to be the 'pong' receiver
2
// Leave open to be the 'ping' transmitter
3
4
const int role_pin = 7;

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.