#include #include #include LiquidCrystal_I2C lcd(0x27,16,2); // set the LCD address to 0x20 for a 16 chars and 2 line display String stringone = " "; char stringtwo[20] = " "; // déclaration de la variable stringtwo à 20 caractères avec un espace vide à l'initialisation const int BPRAZ=7; // la Broche 7 reçoit l'info de RAZ int ETAT_BPRAZ; // Déclaration variable état bouton RAZ void setup() { lcd.init(); // initialise l'afficheur pinMode(BPRAZ, INPUT); // met la broche 7 en entrée digitalWrite(BPRAZ, HIGH); // activation du pullup de la broche 7 en entrée // Print a message to the LCD. lcd.backlight(); lcd.print("Bonjour ... "); // Test l'afficheur LCD , reste afficher tant qu'aucun courrier ou colis de reçu à l'initialisation delay(1000); } void loop() { reception_message();// on vérifie si on reçoit une information de la BAL raz_message(); // on vérifie que le bouton RAZ n'est pas appuyer } void raz_message() { ETAT_BPRAZ=digitalRead(BPRAZ); // lit l'état du BPRAZ et met la valeur 0/1 dans la variable if (ETAT_BPRAZ==0) { lcd.init(); lcd.print("pas de courrier ... "); // quand on a relevé le courrier ou colis on peut remettre à zéro l'afficheur } } void reception_message() { vw_setup(2000); // Bits par seconde (vous pouvez le modifier mais cela modifiera la portée). Voir la documentation de la librairie VirtualWire. vw_set_rx_pin(5); // C'est sur cette broche que l'on reliera les broches DATA du récepteur, vous pouvez changez de broche si vous le désirez. vw_rx_start(); // On démarre le récepteur. uint8_t buf[VW_MAX_MESSAGE_LEN]; uint8_t buflen = VW_MAX_MESSAGE_LEN; if (vw_get_message(buf, &buflen)) // On test afin de savoir si un message est reçu. {// Un message est reçu. int b; stringone = " "; for (b = 0; b < buflen; b++) { stringtwo[b] = (buf[b]); stringone = stringone + stringtwo[b] ; // concatène les caractères reçus en une seule chaîne } lcd.init(); lcd.print(stringone); // affichage du texte " Du courrier" ou " Tu as un colis" delay(2000); } }