#include #include #define pinCE 7 // On associe la broche "CE" du NRF24L01 à la sortie digitale D7 de l'arduino #define pinCSN 8 // On associe la broche "CSN" du NRF24L01 à la sortie digitale D8 de l'arduino #define tunnel "PIPE1" // On définit un "nom de tunnel" (5 caractères), pour pouvoir communiquer d'un NRF24 à l'autre # define pinBouton 5 // On associe la broche du bouton à la sortie digitale D5 de l'arduino RF24 radio(pinCE, pinCSN); // Instanciation du NRF24L01 const byte adresse[6] = tunnel; // Mise au format "byte array" du nom du tunnel int OrdreFeu = 0; // Variable contenant la valeur que l'on envoie int lastB=0; // dernière valeur du bouton int currentB=0; // valeur présente du bouton void setup() { //Partie Serial Serial.begin(9600); // on ouvre le port serial pour causer au pc //Partie NRF24 radio.begin(); // Initialisation du module NRF24 radio.openWritingPipe(adresse); // Ouverture du tunnel en ÉCRITURE, avec le "nom" qu'on lui a donné radio.setPALevel(RF24_PA_MAX); // Sélection d'un niveau "MINIMAL" pour communiquer (pas besoin d'une forte puissance, pour nos essais) radio.setDataRate(RF24_250KBPS); // Sélection de la fréquence radio.stopListening(); // Arrêt de l'écoute du NRF24 (signifiant qu'on va émettre, et non recevoir, ici) //Partie bouton pinMode(pinBouton, INPUT_PULLUP); // On déclare le bouton pinMode(LED_BUILTIN, OUTPUT); //Puis la led digitalWrite(LED_BUILTIN, LOW); //et on coupe la led //debugging Serial.println("setup...............check"); } void loop() { // ******** Bouton ******** currentB = digitalRead(pinBouton); if ( currentB>lastB){ OrdreFeu = 1; } else { OrdreFeu = 0; } lastB = currentB; /*//Serial.println(OrdreFeu); if (digitalRead(pinBouton)==HIGH){ OrdreFeu = 0; digitalWrite(LED_BUILTIN, LOW); } if (digitalRead(pinBouton)==LOW) { OrdreFeu = 1; digitalWrite(LED_BUILTIN, HIGH); } */ // ******** Envoi ******** radio.write(&OrdreFeu;, sizeof(OrdreFeu)); // Envoi de notre message Serial.println(OrdreFeu); //ptit envoie de debug delay(5); // … toutes les secondes ! }