Bonjour,

Je viens vous demandez de l'aide concernant les modules NRF24L01, fin le code plutôt.
Je vous explique, je suis en train de créer une télécommande qui va communiquer en sans fil avec un boîtier qui permettra d'afficher des messages selon le bouton appuyé sur la télécommande.
J'ai commencé le code mais en faisant quelques je m'aperçois que cela ne fonctionne pas, je suis donc certains que cela vient de mon code (Vous le trouverez en dessous, mais il n'est pas fini car il n'y a pas les codes pour la matrice LED qui servira à faire défiler les messages.) Je souhaites déjà pouvoir commander à distance l'allumage de LEDs (des deux côtés, télécommande et boîtier)

Pouvez-vous m'aider à faire le code ? Merci par avance

CODE POUR LA TÉLÉCOMMANDE

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
    #include <SPI.h>
    #include <nRF24L01.h>
    #include <RF24.h>
    RF24 radio(9, 10); // CE, CSN
 
    const byte addresses [][6] = {"00001", "00002"};  
    int buttonred_pin = 2;
    int buttonblack_pin = 3;
    int buttongreen_pin = 4;
    int ledred_pin = 5;
    int ledblack_pin = 6;
    int ledgreen_pin = 7;
    int ledappel_pin = 8;
    boolean buttonred_state = 0;
    boolean buttonblack_state = 0;
    boolean buttongreen_state =0;
    boolean buttonappel_state1 = 0;
 
    void setup() {
      pinMode(buttonred_pin, INPUT);
      pinMode(buttonblack_pin, INPUT);
      pinMode(buttongreen_pin, INPUT);
      pinMode(ledred_pin, OUTPUT);
      pinMode(ledblack_pin, OUTPUT);
      pinMode(ledgreen_pin, OUTPUT);
      pinMode(ledappel_pin, OUTPUT);
      radio.begin();                           
      radio.openWritingPipe(addresses[1]);     
      radio.openReadingPipe(1, addresses[0]);  
      radio.setPALevel(RF24_PA_MIN);  
    }
    void loop() 
    {  
      delay(5);
      radio.stopListening();                             
      buttonred_state = digitalRead(buttonred_pin);{
      radio.write(&buttonred_state, sizeof(buttonred_state));  
      delay(5);}
      radio.stopListening();
      buttonblack_state = digitalRead(buttonblack_pin);{
      radio.write(&buttonblack_state, sizeof(buttonblack_state));
      delay(5);}
      radio.stopListening();
      buttongreen_state = digitalRead(buttongreen_pin);{
      radio.write(&buttongreen_state, sizeof(buttongreen_state));
      delay(5);}
 
 
      radio.startListening();                            
      while(!radio.available());                         
      radio.read(&buttonappel_state1, sizeof(buttonappel_state1));
      if (buttonappel_state1 == HIGH)
      {
        digitalWrite(ledappel_pin, HIGH);
      }
      else
      {
        digitalWrite(ledappel_pin, LOW);
      }
    }
CODE POUR LE BOITIER

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
 
RF24 radio(9, 10); // CE, CSN
const byte addresses [][6] = {"00001", "00002"};    g
int buttonappel_pin = 2;
int ledred_pin = 4;
int ledblack_pin = 5;
int ledgreen_pin = 6;
boolean buttonred_state = 0;
boolean buttonblack_state = 0;
boolean buttongreen_state = 0;
boolean buttonappel_state1 = 0;
 
 
void setup() {
  pinMode(ledred_pin, OUTPUT);
  pinMode(ledblack_pin, OUTPUT);
  pinMode(ledgreen_pin, OUTPUT);
  Serial.begin(9600);
  radio.begin();                            
  radio.openWritingPipe(addresses[0]);      
  radio.openReadingPipe(1, addresses[1]);   
  radio.setPALevel(RF24_PA_MIN);            
}
 
void loop() 
{
  delay(5);
  radio.startListening();                    
  if (radio.available())                     
  {
    radio.read(&buttonred_state, sizeof(buttonred_state));
    if(buttonred_state == HIGH)
  {
     digitalWrite(ledred_pin, HIGH);
  }
    radio.read(&buttonblack_state, sizeof(buttonblack_state));
    if(buttonblack_state == HIGH)
    {
     digitalWrite(ledblack_pin, HIGH);
    }
    radio.read(&buttongreen_state, sizeof(buttongreen_state));
    if(buttongreen_state == HIGH);
    {
      digitalWrite(ledgreen_pin, HIGH);
    }
 
  }    
    else
  {
     digitalWrite(ledred_pin, LOW);
     digitalWrite(ledblack_pin, LOW);
     digitalWrite(ledgreen_pin, LOW);
  }
  delay(5);
 
  radio.stopListening();                           
  buttonappel_state1 = digitalRead(buttonappel_pin);
  radio.write(&buttonappel_state1, sizeof(buttonappel_state1));   
  }