module 2.4 ghz nrf24l01, message non reconnu

J’avais un problème de téléversement qui est résolu, je ne continu pas dans l’autre discussion comme c’est un problème différent…

J’essaie depuis plusieurs jour de faire fonctionner des modules 2.4ghz sur deux arduinos, pour les tester, j’ai copier coller les codes d’un tutos, mais ceux-ci ne marche pas pour moi…
J’ai vérifier un bon nombres de fois les branchements, de ne pas m’êtres trompé de pin, mais je n’ai rien trouver, l’arduino “récepteur” reçois bien un message je pense, comme dans le moniteur série, une nouvelle ligne s’écrit toute les secondes, mais celle-ci est vide…

Voici le code:
-récepteur:

#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
RF24 radio(7, 8); // CE, CSN
const byte address[6] = "00001";
void setup() {
  Serial.begin(9600);
  radio.begin();
  radio.openReadingPipe(0, address);
  radio.setPALevel(RF24_PA_MIN);
  radio.startListening();
}
void loop() {
  if (radio.available()) {
    char text[32] = "";
    radio.read(&text, sizeof(text));
    Serial.println(text);

  }
  delay(1000);
}

-Et émetteur:

#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
RF24 radio(7, 8); // CE, CSN
const byte address[6] = "00001";

void setup() {
  
  radio.begin();
  radio.openWritingPipe(address);
  radio.setPALevel(RF24_PA_MIN);
  radio.stopListening();
  
}

void loop() {

  const char text[] = "Hello mes morts World";
  radio.write(&text, sizeof(text));
  delay(1000);
  
}

Merci d’avance…

Regardez du côté de vos adresses

Sinon avez vous regardé dans la section tuto:

Exemple de communication sans fil nRF24L01+
montage.png

Autre Exemple de communication sans fil nRF24L01+ avec échange de structure

Tuto NRF24L01 et ARDUINO

pour voir si vous alimentez correctement vos modules et si un des codes proposé fonctionne pour vous? ça permettrait déjà de valider la partie matérielle de votre montage

J'ai essayer le tuto du 2eme lien... Je n'arrive pas a garder les 2 ports série ouvert, mais je pense qu'en cherchant un peu je devrait y arriver. Mais sur le port série que j'utilise, il s'affiche "mon role = 1" mais après, il y a une série de caractère qui s'affiche un part un jusqu'à former une ligne donnant ce genre de chose: "???/@@???????".

les modules sont bien alimentés ?

il faut une application terminal série qui sait gérer plusieurs ports ouverts, pas la console Série Arduino. Il faut bien sûr la régler à 115200 bauds

Ils sont alimenter en 3.3v, et je vais voir pour avoir les 2 ports série mais de toute façon sa ne me genne pas de changer a chaque fois de port... Je ne peut pas alimenter les modules en 5v?

Enfaite j'arrive a utiliser 2 ports série, un avec 'putty' et l'autre est le moniteur série arduino. Le premier affiche "echec de l'envoie" et l'autre " J'ai recu"" /timing = 0".

Si le 3.3V vient directement de votre Arduino c’est insuffisant au niveau puissance découplage

Regardez du côté de vos adresses

C'est sûr.

Je ne peut pas alimenter les modules en 5v?

Surtout pas. Maximum 3.6V.

Si le 3.3V vient de votre Arduino c'est insuffisant au niveau puissance

J'ai sur mon bureau une horloge à afficheur 7 segments équipée d'un NRF24L01 alimenté par le 3.3V d'un ARDUINO NANO.

Le NRF24L01 réclame peu de puissance, un douzaine de mA.

Il doit être bien découplé par un condensateur au plus près de ses broches d'alimentation. J'avais mis 100nF à l'époque, et 100nF sur la NANO.

Il s'agit certainement d'un problème de code.

Essayer l'exemple de la librairie : GettingStarted

/***      Set this radio as radio number 0 or 1         ***/
bool radioNumber = 1;

/* Hardware configuration: Set up nRF24L01 radio on SPI bus plus pins 7 & 8 */
RF24 radio(7,8);
/**********************************************************/

byte addresses[][6] = {"1Node","2Node"};

// Used to control whether this node is sending or receiving
bool role = 1;

Pour la première carte : bool radioNumber = 1; bool role = 1;

Pour la deuxième carte : bool radioNumber = 0; bool role = 0;

Je l'ai fait marcher il y a quelques jours avec deux UNO, les NRF24L01 branchés avec des fils volants de 10cm sur les connecteurs des UNO, sans rien d'autre.

Sur chacune des cartes on peut changer de rôle avec les touches T (émetteur) et R (récepteur).

Aucun problème ça marche tout seul.

hbachetti: Le NRF24L01 réclame peu de puissance, un douzaine de mA.

effectivement (13.5mA sur Rx @2mbps) - je voulais parler du découplage nécessaire --> rajouter le condo.

Voici les résultat avec ce codes:

RF24/examples/GettingStarted *** PRESS 'T' to begin transmitting to the other node Sent response 2139062016 Sent response 2139062016 Sent response 2139062016 Sent response 8355711 Sent response 775 Sent response 0 Sent response 0

et

RF24/examples/GettingStarted ***d out. smitting to the other node Now sending failed Failed, response timed out. Now sending failed

Je sens que ça va être difficile.

On dirait que le récepteur reçoit puisqu'il répond.

Je n'ai pas l'impression que toutes les trace côté émetteur soient là.

RF24/examples/GettingStarted
***d out.
smitting to the other node

Bizarre, tu es sûr de ça ?

Sur de quoi? Je nai fais qu'un copier coller de ce qui étaient écrit...

  Serial.println(F("*** PRESS 'T' to begin transmitting to the other node"));
  Serial.println(F("RF24/examples/GettingStarted"));

C’est plutôt incomplet.