Émetteur et récepteur RF 433 MHz - Schéma de câblage et code d'exemple pour Arduino.

Matériel nécessaire:

  • Émetteur et récepteur RF 433 MHz
  • Câbles de liaison femelle-mâle (jumper)
  • Arduino Uno

Installation de la bibliothèque

  1. Téléchargez le fichier ci-dessous
  2. Ouvrez l'IDE Arduino
  3. Cliquez sur Croquis > Inclure la bibliothèque > Ajouter une bibliothèque ZIP
  4. Sélectionnez maintenant le fichier téléchargé

Téléchargez la bibliothèque ici

Étapes pour l'émetteur :

  1. Recherchez la broche GND de l'émetteur et connectez-la à la broche GND de l'Arduino.
  2. Recherchez la broche centrale (la broche de données) de l'émetteur et connectez-la à la broche 11 de l'Arduino.
  3. Recherchez la broche VCC de l'émetteur et connectez-la à la broche 5V de l'Arduino.
  4. Copiez et téléchargez le code sur l'Arduino.

Code pour l'émetteur :


#include  // Inclure la bibliothèque RH_ASK
#include  // Inclure la bibliothèque SPI
 
RH_ASK rf_driver; // Crée un objet de la classe RH_ASK appelé rf_driver
 
void setup()
{
    rf_driver.init(); // Initialisation de l'objet rf_driver
}
 
void loop()
{
    const char *msg = "www.Otronic.nl"; // Définit un message à envoyer
    rf_driver.send((uint8_t *)msg, strlen(msg)); // Envoie le message via l'objet rf_driver
    rf_driver.waitPacketSent(); // Attendre la confirmation de l'envoi du paquet
    delay(1000); // Attendre 1 seconde avant de recommencer la boucle
}

Le récepteur :

  1. Connectez la broche GND du récepteur à la broche GND de l'Arduino.
  2. Connectez la broche à côté de la broche GND à la broche 11 de l'Arduino.
  3. Connectez le VCC à la broche 5V de l'Arduino.
  4. Téléchargez le code ci-dessous sur l'Arduino.
  5. Ouvrez le moniteur série en allant dans "Outils" dans

Code pour le récepteur :


// Inclure la bibliothèque RadioHead Amplitude Shift Keying
#include 
// Inclure la bibliothèque SPI dépendante
#include 
 
RH_ASK rf_driver;
 
void setup()
{
    rf_driver.init(); // Initialiser l'objet ASK
    Serial.begin(9600); // Configurer le moniteur série
}
 
void loop()
{
    uint8_t buf[24];
    uint8_t buflen = sizeof(buf);
    if (rf_driver.recv(buf, &buflen))
    {
      
      // Message reçu avec une checksum valide
      Serial.print("Message reçu : ");
      Serial.println((char*)buf);         
    }
}