Controle de servomoteur via module NRF24l01

Salut tout le monde ;

Je compte créer un robot à 4 roues piloté par un moteur cc et un servomoteur.
Ayant bien avancé j'essaie de piloter un servomoteur a distance via deux modules NRF24l01 sur une arduino Nano (émetteur) et une arduino Uno (récepteur).

Voici leurs codes :

EMETTEUR:

 * Pin Conections
 * 
 *  CE - 7
 *  MISO - 12 
 *  MOSI - 11 
 *  SCK - 13
 *  CS - 8
 *  POT-A7

*/

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

RF24 myRadio (7, 8);

struct package

{

  int msg = 0;

};
typedef struct package Package;

byte addresses[][6] = {"0"};

Package data;

void setup()

{

  Serial.begin(9600);
  myRadio.begin();  
  myRadio.setChannel(115);  
  myRadio.setPALevel(RF24_PA_MIN); 
  myRadio.setDataRate( RF24_250KBPS ) ;  
  delay(500);
  Serial.print("Setup Initialized");
}


void loop(){

int servo_value;
  int Read_ADC = analogRead(A7);
  servo_value = map (Read_ADC, 0, 1024, 0,180);
  delay(50);

  myRadio.stopListening();   
  myRadio.openWritingPipe( 0xF0F0F0F0AA); 
  myRadio.write(&servo_value, sizeof(servo_value)); 
  Serial.print(servo_value);
  
  delay(50);

}
RECEPTEUR : 

/*CE - 7
MISO - 12
MOSI - 11
SCK - 13
CS - 8
Recently tested with uno

*/
#include <SPI.h>  
#include <RF24.h> 
#include <Servo.h>

Servo myservo;

RF24 myRadio (7, 8); 

struct package

{

  int msg;

};

typedef struct package Package;
Package data;
byte addresses[][6] = {"0"}; 

int Servo_value;

void setup() 

{

  Serial.begin(9600);
  myRadio.begin(); 
  myRadio.setChannel(115);  //115 band above WIFI signals
  myRadio.setPALevel(RF24_PA_MIN); //MIN power low rage
 
  myservo.attach(6);
  Serial.print("Setup Initialized");
  delay(500);
  
}

void loop()  {

  
  myRadio.openReadingPipe(1, 0xF0F0F0F0AA); //Which pipe to read, 40 bit Address
  myRadio.startListening(); //Stop Transminting and start Reveicing 


  if ( myRadio.available()) 
      myRadio.read(&Servo_value, sizeof(Servo_value) );
      myservo.write(Servo_value);
      Serial.print("valeur:");
      Serial.println(Servo_value);
      delay(50);
}

voici le problème : j'obtiens le signal avec la valeur demandée, mais le recepteur ne recoit rien du tout.
Quelqu'un peut m'aider ?

Bonjour @thomasam et Bienvenue sur ce forum !

je viens déplacer ici ton message que tu avais posté dans la partie anglophone du Forum

En arrivant ici il est important de prendre le temps de consulter les 'Bonnes Pratiques du Forum Francophone :

https://forum.arduino.cc/t/les-bonnes-pratiques-du-forum-francophone/861014

Bref, quelqu'un peut m'aider ?

Précises ta ou tes questions, le ou les problèmes rencontrés......

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.