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 ?