Tutoriel Arduino avec Émetteur/Recepteur RF

Matériel

Montage

Émetteur
Récepteur

Code

La partie émission va envoyer un message (ici “Bonjour le PMClab”). Il faut pas submerger le récepteur il y a donc une petite pause.

La partie réception va recevoir le message (donc chaque caractère) et va ensuite l'afficher.

Pour cet exemple nous utilisions la bibliothèque VirtualWire qui simplifie l'échange des messages.

Il faut télécharger la bibliothèque et la décompresser et ensuite ajouter dans le répertoire sketchbook/libraries.

http://www.airspayce.com/mikem/arduino/VirtualWire/

Émetteur
#include <VirtualWire.h>

char Message[VW_MAX_MESSAGE_LEN];

void setup() {
  vw_setup(2000); // vitesse en bauds
}

void loop() {

  String text = "Bonjour le PMClab\n";
  text.toCharArray(Message, 80);
  vw_send((uint8_t *)Message, strlen(Message));
  vw_wait_tx(); // Attente jusqu'à que tout le message est envoyé
  delay(1000); // delais pour ne pas submerger le récepteur
} 

Récepteur
#include <VirtualWire.h>

char Message[VW_MAX_MESSAGE_LEN];

void setup() {
  Serial.begin(9600);
  vw_setup(2000); // vitesse en bauds
  vw_rx_start();
}

void loop(){
  uint8_t buf[VW_MAX_MESSAGE_LEN];
  uint8_t buflen = VW_MAX_MESSAGE_LEN;

  if (vw_get_message(buf, &buflen))
  {
    int i;

    for (i = 0; i < buflen; i++)
    {
      Message[i] = char(buf[i]);
    }

    Message[buflen] = '\0';

    Serial.print("Message recu: ");
    Serial.println(Message);
  }
}