[code]#include <SPI.h> // Pour la communication via le port SPI
#include <Mirf.h> // Pour la gestion de la communication
#include <nRF24L01.h> // Pour les définitions des registres du nRF24L01
#include <MirfHardwareSpiDriver.h> // Pour la communication SPI
#include <LiquidCrystal.h> // on importe la bibliothèque LCD
const byte PIN_P = 5;
const byte PIN_AD1 = 4;
const byte PIN_AD2 = 3;
const byte PIN_LEDRX = A0;
LiquidCrystal LCD(A0,A1,A2,A3,A4,A5); // on active l'ecran
void setup() {
Serial.begin(9600);
LCD.begin(16,2); //on initialise la communication avec 16 colonnes et deux lignes
LCD.clear(); // on efface l'écran
LCD.print("bonjour"); // on écrit un message
LCD.clear(); // on efface l'écran
LCD.print("Valise 2019,"); // on écrit un message
LCD.setCursor(0,1); //on passe à la ligne suivante
LCD.print("PRET"); // on finit d'écrire
pinMode(PIN_P, INPUT_PULLUP);
pinMode(PIN_AD1, INPUT_PULLUP);
pinMode(PIN_AD2, INPUT_PULLUP);
pinMode(PIN_LEDRX, OUTPUT);
Mirf.cePin = 9; // Broche CE sur D9
Mirf.csnPin = 10; // Broche CSN sur D10
Mirf.spi = &MirfHardwareSpi; // On veut utiliser le port SPI hardware
Mirf.init(); // Initialise la bibliothèque
Mirf.channel = 1; // Choix du canal de communication (128 canaux disponibles, de 0 à 127)
Mirf.payload = 8; // Taille d'un message (maximum 32 octets)
Mirf.config(); // Sauvegarde la configuration dans le module radio
Mirf.setTADDR((byte *) "nrf02"); // Adresse de transmission
Mirf.setRADDR((byte *) "nrf01"); // Adresse de réception
Serial.println("Testeur pret -");
}
void loop() {
// Lit l'état des boutons
if (digitalRead(PIN_Panto) == LOW) {
Serial.println("Signal Panto !");
LCD.begin(16,2); //on initialise la communication avec 16 colonnes et deux lignes
LCD.clear(); // on efface l'écran
LCD.print("commande panto"); // on écrit un message
LCD.setCursor(0,1); //on passe à la ligne suivante
LCD.print("envoie en cours"); // on finit d'écrire
delay(1100);
byte message[8] = "VPCPMNT";
Serial.println("envoie du message au recepteur !");
Mirf.send(message); // On envoie le message d'action
while(Mirf.isSending()); // On attend la fin de l'envoi
LCD.begin(16,2); //on initialise la communication avec 16 colonnes et deux lignes
LCD.clear(); // on efface l'écran
LCD.print("commande "); // on écrit un message
LCD.setCursor(0,1); //on passe à la ligne suivante
LCD.print("fin d'envoie"); // on finit d'écrire
Serial.println("fin de l'envoie");
delay(100);
Serial.println("en attente de relachement bouton");
LCD.begin(16,2); //on initialise la communication avec 16 colonnes et deux lignes
LCD.clear(); // on efface l'écran
LCD.print("commande "); // on écrit un message
LCD.setCursor(0,1); //on passe à la ligne suivante
LCD.print("relacher BP"); // on finit d'écrire
while (digitalRead(PIN_P) == LOW)
delay(100);
LCD.begin(16,2); //on initialise la communication avec 16 colonnes et deux lignes
LCD.clear(); // on efface l'écran
LCD.print("fin d'action,"); // on écrit un message
LCD.setCursor(0,1); //on passe à la ligne suivante
LCD.print("Valise prete"); // on finit d'écrire
Serial.println("emeteur pret -);
}
if (digitalRead(PIN_AD1) == LOW) {
Serial.println("Signal AD !");
LCD.begin(16,2); //on initialise la communication avec 16 colonnes et deux lignes
LCD.clear(); // on efface l'écran
LCD.print("commande AD1"); // on écrit un message
LCD.setCursor(0,1); //on passe à la ligne suivante
LCD.print("envoie en cours"); // on finit d'écrire
delay (1100);
byte message[8] = "VPCAD1";
Serial.println("Signal AD1 !");
Mirf.send(message); // On envoie le message circuit AD1
Serial.println("envoie du message au recepteur !");
while(Mirf.isSending()); // On attend la fin de l'envoi
LCD.begin(16,2); //on initialise la communication avec 16 colonnes et deux lignes
LCD.clear(); // on efface l'écran
LCD.print("commande AD1"); // on écrit un message
LCD.setCursor(0,1); //on passe à la ligne suivante
LCD.print("fin d'envoie"); // on finit d'écrire
Serial.println("fin de l'envoie");
delay(100);
Serial.println("en attente de relachement bouton");
LCD.begin(16,2); //on initialise la communication avec 16 colonnes et deux lignes
LCD.clear(); // on efface l'écran
LCD.print("commande AD1"); // on écrit un message
LCD.setCursor(0,1); //on passe à la ligne suivante
LCD.print("relacher BP"); // on finit d'écrire
while (digitalRead(PIN_AD1) == LOW)
delay(100);
LCD.begin(16,2); //on initialise la communication avec 16 colonnes et deux lignes
LCD.clear(); // on efface l'écran
LCD.print("fin d'action,"); // on écrit un message
LCD.setCursor(0,1); //on passe à la ligne suivante
LCD.print("Valise prete"); // on finit d'écrire
Serial.println("emeteur pret - ");
}
if (digitalRead(PIN_AD2) == LOW) {
Serial.println("Signal AD !");
LCD.begin(16,2); //on initialise la communication avec 16 colonnes et deux lignes
LCD.clear(); // on efface l'écran
LCD.print("commande AD2"); // on écrit un message
LCD.setCursor(0,1); //on passe à la ligne suivante
LCD.print("envoie en cours"); // on finit d'écrire
delay (1100);
byte message[8] = "VPCADD2";
Serial.println("Signal ADD2 !");
Mirf.send(message); // On envoie le message circuit AD2
Serial.println("envoie du message au recepteur !");
while(Mirf.isSending()); // On attend la fin de l'envoi
LCD.begin(16,2); //on initialise la communication avec 16 colonnes et deux lignes
LCD.clear(); // on efface l'écran
LCD.print("commande AD2"); // on écrit un message
LCD.setCursor(0,1); //on passe à la ligne suivante
LCD.print("fin d'envoie"); // on finit d'écrire
Serial.println("fin de l'envoie");
delay(100);
Serial.println("en attente de relachement bouton");
LCD.begin(16,2); //on initialise la communication avec 16 colonnes et deux lignes
LCD.clear(); // on efface l'écran
LCD.print("commande AD2"); // on écrit un message
LCD.setCursor(0,1); //on passe à la ligne suivante
LCD.print("relacher BP"); // on finit d'écrire
while (digitalRead(PIN_AD2) == LOW)
delay(100);
LCD.begin(16,2); //on initialise la communication avec 16 colonnes et deux lignes
LCD.clear(); // on efface l'écran
LCD.print("fin d'action,"); // on écrit un message
LCD.setCursor(0,1); //on passe à la ligne suivante
LCD.print("Valise prete"); // on finit d'écrire
Serial.println("emeteur pret - ");
}
}
[/code]