top of page

Emetteur Récepteur

Partie Emetteur:

 

#include <VirtualWire.h> // Vous devez télécharger et installer la librairie VirtualWire.h dans votre dossier "/libraries" !

 

int EtatBouton5 = 0;

int EtatBouton6 = 0;

int Bouton6 = 6, Bouton5 = 5;

 

void setup()

{

    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_tx_pin(12);             // La broche 3 sera utilisée pour transmettre la DATA, vous pouvez changez de broche si vous le désirez.

    pinMode(Bouton6,INPUT);

    pinMode(Bouton5,INPUT);

}

 

void loop()

{

   EtatBouton5 = digitalRead(Bouton5);

   EtatBouton6 = digitalRead(Bouton6);

 

   

   if(EtatBouton5 != LOW)

   {

   const char *msg = "ledblan";                

   vw_send((uint8_t *)msg, strlen(msg));  //Quand le bouton 5 est allumé le programme envoie le message dans l'émetteur

   vw_wait_tx();

   }

   

   else if(EtatBouton6 != LOW)

   {

   const char *msg = "ledbleu";                

   vw_send((uint8_t *)msg, strlen(msg));

   vw_wait_tx();

   }

   delay(200);

}

Plan du montage bientot bientôt dispo

 

Partie Recepteur:

 

#include <VirtualWire.h> // Vous devez télécharger et installer la librairie VirtualWire.h dans votre dossier "/libraries" !

 

int LedBlanche = 6, LedBleu = 7;

 

    uint8_t buf[VW_MAX_MESSAGE_LEN];

    uint8_t buflen = VW_MAX_MESSAGE_LEN;

 

void setup()

{

    pinMode(LedBlanche,OUTPUT);

    pinMode(LedBleu,OUTPUT);

    Serial.begin(9600);               // On initialise "le serial monitor", j'ai laissé 9600 bauds ici car c'est la valeur par défaut mais vous pouvez la modifier.

    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(11);                // 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.

}

void loop()

{

 

    if (vw_get_message(buf, &buflen)) // On test afin de savoir si un message est reçu.

    {

    int i;

    

    Serial.println("");

    

    for (i = 0; i < buflen; i++)

    {  

       Serial.write(buf[i]);

    }

    

    if(strcmp("ledblan", (char*)buf) == 0)

    {

        digitalWrite(LedBlanche, HIGH);  

        delay(300);

        digitalWrite(LedBlanche, LOW); 

    }

    

    if(strcmp("ledbleu", (char*)buf) == 0)

    {

        digitalWrite(LedBleu, HIGH);

        delay(300);

        digitalWrite(LedBleu, LOW); 

    }

  }

 }

Explication: J'appuie sur un des boutons et une led s'allume à distance. 

if(strcmp("ledbleu", (char*)buf) == 0) permet de détecter si le message qui a été envoyer est bien ledbleu. Important de savoir que ici le message ne peut pas depasser 7 lettres.

 

Achat : Emetteur/Recepteur ici 

PayPal ButtonPayPal Button
bottom of page