probleme de reception rf24

Bonjour ,
j'ai recopié ces 2 programmes pour communiquer par radio avec 2 rf24

le programme emision m'affiche les message envoyée (donc apparemment pas de problème)

/*******************************************************************
Chaque seconde, un nombre est émis par une carte Arduino munie
d'un module nRF24L01.
Ce message peut être capté par un autre Arduino, ou par un Raspberry Pi.
Électronique en amateur: Communication par nRF24L01 entre deux cartes Arduino
********************************************************************/

#include <SPI.h>
#include "nRF24L01.h"
#include "RF24.h"

int compteur = 0;

RF24 radio(7, 8);

const uint64_t addresse = 0x1111111111;

const int taille = 32;

char message[taille + 1];

void setup(void)
{
Serial.begin(9600);

Serial.println("Emetteur de donnees");

radio.begin();

radio.openWritingPipe(addresse);

}

void loop(void)
{

compteur++;

itoa(compteur, message, 10);

Serial.print("J'envoie maintenant ");
Serial.print("taille ");
Serial.print(taille);
Serial.print("message ");
Serial.println(message);
radio.write( message, taille );

delay(1000);

}

par contre le recepteur associé n'affiche que des y

/***********************************************************
Sketch permettant à l'Arduino de recevoir des messages
en provenance d'un autre Arduino, ou d'un Raspberry, par
l'entremise d'un module nRF24L01.
Les messages reçus sont affichés dans le moniteur série.
Électronique en amateur: Communication par nRF24L01 entre deux cartes Arduino
*************************************************************/

#include <SPI.h>
#include "nRF24L01.h"
#include "RF24.h"

RF24 radio(7, 8);

const uint64_t adresse = 0x1111111111;

const int taille = 32;

char message[taille + 1];

void setup(void)
{

Serial.begin(9600);

Serial.println("Recepteur RF24");

radio.begin();

radio.openReadingPipe(1, adresse);

radio.startListening();

}

void loop(void)
{
while ( radio.available() )
{
delay(100);
radio.read( message, taille );
delay(100);
Serial.print("Message recu : ");

Serial.println(message);
}
}

je suis sans solution ?

il y a un smiley à lunette 8) dans votre code.... normal que ça ne fonctionne pas :slight_smile:

-> corrigez votre post ci dessus et rajoutez les code tags autour du code:
[code]`` [color=blue]// votre code ici[/color] ``[/code].

ça doit ressembler à cela:// votre code ici
(faites aussi ctrl-T (PC) or cmd-T (Mac) dans l'IDE avant de copier le code pour qu'il soit indenté correctement)


bon dans le récepteur vous avez Serial.begin(9600); --> à quelle vitesse est réglé votre console série sur votre PC/Mac ?

merci pour votre reponse rapide
dans le programme
le code avec smiler
est RF24 radio(7,8);
je n'ai pas de message d'erreur de compilation
l'emeteur affiche sur la console les valeurs émises
le recepteur n'affiche que des y
la vitesse 9600 est celle de la console je lis les messages sur la console
l'alimentation de 3.3V du rf24 est celle de l'arduino

Merci de corriger votre premier post pour mettre les tags de codes. ça fera partir le 8) et ce sera plus sympa pour tout le monde.

l'alimentation de 3.3V du rf24 est celle de l'arduino

le soucis le plus courant c'est de ne pas avoir assez de puissance pour les appels de courant en émission comme en réception. On met souvent un condo de 220uF entre le 3.3V et GND (en plus la pin 3.3V de l'Arduino ne délivre que 50mA suivant ce que vous avez derrière c'est peu)

ou alors on utilise un adaptateur tout fait - (cherchez NRF24 adaptor) qui permet de brancher sur la pin 5V et embarque les adaptations de tension et le condo

J'avais écrit un petit tuto d'exemple de communication entre 2 nrf si ça peut vous intéresser

Bonjour,
je réussi à communiquer sur une dizaine de mettre pour avec le nRF24 antenne intégrée pour aller plus loin je vais le remplacer par le modèle avec antenne (théorie 1Km)

actuellement je prélevé le 3,3v sur l'arduino je pense que pour le modèle avec antenne le 3.3v doit etre externe ?
savez vous si je peux utiliser le 3,3V de l'arduino si mon besoin et de 30m ?
est ce que je risque de détériorer l'arduino si je tente cette manip.(3,3v avec nRF24 avec antenne)
cordialement
Alain

actuellement je prélevé le 3,3v sur l'arduino je pense que pour le modèle avec antenne le 3.3v doit etre externe ?

oui le 3.3V de votre arduino est limité à 50mA, en usage de base c'est généralement suffisant (de 11 à 15mA de mémoire en Rx/Tx) mais quand vous passez sur des NRF boostés vous aurez plutôt 115 mA en Tx (au max) et 45 mA en Rx --> donc pas suffisant depuis la pin à 3.3V

une solution est l'alimentation externe, l'autre de passer par un adaptateur qui supporte 5V et de connecter le composant à la pin 5V qui a la puissance nécessaire (cf photo en #3)

dans les deux cas il faut s'assurer d'avoir une alimentation super-propre pour une bonne qualité du signal

merci pour ces précisions
cordialemen
Alain