Close

Tutoriel – Modules RF 433MHZ et l’Arduino

Le but est d’établir une liaison sans fils entre deux arduino. Dans ce cas via les modules RF emetteurs et recepteurs 433HMZ.

 

Matériel

  • Télécharger et installer la librairie VirtualWire ici
  • 2X Arduino
  • Emetteur 433MHZ
  • Recepteur 433MHZ
  • Quelques connecteurs

Branchement

L’émetteur:

  • VCC – +5V de l’arduino
  • GND – GND de l’arduino
  • DATA – PIN 2 de l’arduino

schema_tx_433

 

 

 

 

Le récepteur: (c’est la même chose sur l’autre Arduino)

  • VCC – +5V de l’arduino
  • GND – GND de l’arduino
  • DATA – PIN 2 de l’arduino

schema_rx_433

 

Code

Emetteur

#include <VirtualWire.h> // import de la librairie VirtualWire
 
int RF_TX_PIN = 2; // Data Connecté à la pin 2 de l'arduino
 
void setup()
{
  vw_set_tx_pin(RF_TX_PIN);
  vw_setup(2000); // Vitesse de transmission en Bits par secondes
}
 
void loop()
{
  const char *msg = "idehack"; // Message a envoyer
  vw_send((uint8_t *)msg, strlen(msg));  // Envoi le message ...
  delay(400); // ... toute les 400 millisecondes
 
}

Recepteur

#include <VirtualWire.h>

void setup()
{
    Serial.begin(9600);    
    vw_setup(2000);               // Transmission en Bits par seconde
    vw_set_rx_pin(2);             // Broche DATA du récepteur à la pin 2
    vw_rx_start();                // On démarre le récepteur.
}

void loop()
{
    uint8_t buf[VW_MAX_MESSAGE_LEN];
    uint8_t buflen = VW_MAX_MESSAGE_LEN;
    if (vw_get_message(buf, &buflen)) // Si un message est recu...
    {
      int i;

        for (i = 0; i < buflen; i++)
        {
          Serial.write(buf[i]); 
        }
      Serial.println(""); // Saut de ligne
     }
}

Le tutoriel dédié a l’ESP8266 arrive!

Leave a Reply

Your email address will not be published. Required fields are marked *