Module émetteur/récepteur RF 433MHz avec Arduino

Module émetteur/récepteur RF 433MHz avec Arduino

Cet article est un guide pour les modules émetteurs/récepteurs RF 433MHz populaires avec Arduino. Nous expliquerons leur fonctionnement et partagerons un exemple de projet Arduino que vous pouvez appliquer pour l’utiliser dans vos propres projets.

Module emetteurrecepteur RF 433MHz avec Arduino

Nous avons d’autres tutoriels sur l’émetteur/récepteur 433MHz que vous pourriez trouver utiles :

La description

Tout au long de ce didacticiel, nous utiliserons le Émetteur FS1000A et récepteur correspondant, mais les instructions fournies fonctionnent également avec d’autres modules émetteurs/récepteurs 433 MHz qui fonctionnent de manière similaire. Ces modules RF sont très populaires parmi les bricoleurs Arduino et sont utilisés sur une grande variété d’applications nécessitant un contrôle sans fil.

Ces modules sont très bon marché et vous pouvez les utiliser avec n’importe quel microcontrôleur, que ce soit un Arduino, ESP8266 ou ESP32.

Spécifications RF 433MHz Récepteur

  • Gamme de fréquences : 433,92 MHz
  • Modulation : DEMANDEZ
  • Tension d’entrée : 5 V
  • Prix ​​: 1 $ à 2 $

Spécifications Émetteur RF 433MHz

  • Gamme de fréquences : 433,92 MHz
  • Tension d’entrée : 3-12 V
  • Prix ​​: 1 $ à 2 $

Où acheter?

1641574807 744 Module emetteurrecepteur RF 433MHz avec Arduino

Vous pouvez acheter ces modules pour quelques dollars seulement. Cliquez ici pour comparer l’émetteur/récepteur RF 433MHz sur plusieurs magasins et trouver le meilleur prix.

Arduino avec modules émetteur/récepteur RF 433MHz

Dans cette section, nous allons créer un exemple simple qui envoie un message d’un Arduino à une autre carte Arduino en utilisant 433 MHz. Une carte Arduino sera connectée à un émetteur 433 MHz et enverra le message « Hello World! » message. L’autre carte Arduino sera connectée à un récepteur 433 MHz pour recevoir les messages.

Pièces requises

Vous avez besoin des composants suivants pour cet exemple :

Vous pouvez utiliser les liens précédents ou aller directement sur MakerAdvisor.com/tools pour trouver toutes les pièces pour vos projets au meilleur prix !

Module emetteurrecepteur RF 433MHz avec Arduino

Installation de la bibliothèque RadioHead

le RadioHead La bibliothèque fournit un moyen facile de travailler avec l’émetteur/récepteur 433 MHz avec l’Arduino. Suivez les étapes suivantes pour installer cette bibliothèque dans l’IDE Arduino :

  1. Cliquez ici pour télécharger la bibliothèque RadioHead. Vous devriez avoir un dossier .zip dans votre Téléchargements dossier.
  2. Décompressez le RadioHead bibliothèque.
  3. Bouge le RadioHead dossier de la bibliothèque à l’installation de l’IDE Arduino bibliothèques dossier.
  4. Redémarrez votre IDE Arduino

La bibliothèque RadioHead est excellente et fonctionne avec presque tous les modules RF du marché. Vous pouvez en savoir plus sur la bibliothèque RadioHead ici.

Circuit émetteur

Câblez le module émetteur à l’Arduino en suivant le schéma suivant.

1641574807 961 Module emetteurrecepteur RF 433MHz avec Arduino

Important: vérifiez toujours le brochage du module émetteur que vous utilisez. Habituellement, il y a des étiquettes à côté des broches. Alternativement, vous pouvez également consulter la fiche technique de votre module.

Croquis de l’émetteur

Téléchargez le code suivant sur la carte Arduino qui agira comme un émetteur. Ceci est basé sur l’un des exemples fournis par la bibliothèque RadioHead.

#include <RH_ASK.h>
#include <SPI.h> // Not actually used but needed to compile

RH_ASK driver;

void setup()
{
    Serial.begin(9600);	  // Debugging only
    if (!driver.init())
         Serial.println("init failed");
}

void loop()
{
    const char *msg = "Hello World!";
    driver.send((uint8_t *)msg, strlen(msg));
    driver.waitPacketSent();
    delay(1000);
}

Afficher le code brut

Comment fonctionne le croquis de l’émetteur

Tout d’abord, incluez le RadioHead DEMANDEZ bibliothèque.

#include <RH_ASK.h>

Cette bibliothèque a besoin de la bibliothèque SPI pour fonctionner. Ainsi, vous devez également inclure la bibliothèque SPI.

#include <SPI.h>

Après cela, créez un RH_ASK objet appelé chauffeur.

Dans le mettre en place(), initialiser le RH_ASK objet en utilisant le init() méthode.

Serial.begin(9600); // Debugging only
if (!driver.init())
    Serial.println("init failed");

Dans le boucler(), nous écrivons et envoyons notre message. Le message est enregistré sur le message variable. Veuillez noter que le message doit être de type char.

const char *msg = "Hello World!";

Ce message contient le message « Hello World! » message, mais vous pouvez envoyer tout ce que vous voulez tant qu’il est au format char.

Enfin, nous envoyons notre message comme suit :

driver.send((uint8_t *)msg, strlen(msg));
driver.waitPacketSent();

Le message est envoyé toutes les secondes, mais vous pouvez régler ce délai.

delay(1000);

Circuit récepteur

Câblez le module récepteur à un autre Arduino en suivant le schéma suivant.

1641574807 990 Module emetteurrecepteur RF 433MHz avec Arduino

Important: vérifiez toujours le brochage du module émetteur que vous utilisez. Habituellement, il y a des étiquettes à côté des broches. Alternativement, vous pouvez également consulter la fiche technique de votre module.

Croquis du récepteur

Téléchargez le code ci-dessous sur l’Arduino connecté au récepteur. Ceci est basé sur l’un des exemples fournis par la bibliothèque RadioHead.

#include <RH_ASK.h>
#include <SPI.h> // Not actualy used but needed to compile

RH_ASK driver;

void setup()
{
    Serial.begin(9600);	// Debugging only
    if (!driver.init())
         Serial.println("init failed");
}

void loop()
{
    uint8_t buf[12];
    uint8_t buflen = sizeof(buf);
    if (driver.recv(buf, &buflen)) // Non-blocking
    {
      int i;
      // Message with a good checksum received, dump it.
      Serial.print("Message: ");
      Serial.println((char*)buf);         
    }
}

Afficher le code brut

Comment fonctionne le croquis du récepteur

De la même manière que pour l’esquisse précédente, vous commencez par inclure les bibliothèques nécessaires :

#include <RH_ASK.h>
#include <SPI.h>

Vous créez un RH_ASK objet appelé chauffeur:

RH_ASK driver;

Dans le mettre en place(), initialisez le RH_ASKobjet.

void setup(){
    Serial.begin(9600); // Debugging only
    if (!driver.init())
    Serial.println("init failed");
}

Dans le boucler(), nous devons définir un tampon qui correspond à la taille du message que nous recevrons. « Bonjour le monde! » a 12 caractères. Vous devez ajuster la taille de la mémoire tampon en fonction du message que vous recevrez (les espaces et la ponctuation comptent également).

uint8_t buf[12];
uint8_t buflen = sizeof(buf);

Ensuite, vérifiez si vous avez reçu un message valide. Si vous recevez un message valide, imprimez-le sur le moniteur série.

if (driver.recv(buf, &buflen)) {
    int i;
    // Message with a good checksum received, dump it.
    Serial.print("Message: ");
    Serial.println((char*)buf);
}

Manifestation

Dans ce projet, l’émetteur envoie un message « Hello World ! » au récepteur via RF. Ces messages sont affichés sur le moniteur série du récepteur. La figure suivante montre ce que vous devriez voir sur votre moniteur série Arduino IDE.

moniteur série récepteur

Emballer

Vous devez avoir des attentes réalistes lorsque vous utilisez ce module. Ils fonctionnent très bien lorsque le récepteur et l’émetteur sont proches l’un de l’autre. Si vous les séparez trop loin, vous perdrez la communication. La portée de communication variera. Cela dépend de la tension que vous fournissez à votre module émetteur, du bruit RF dans votre environnement et si vous utilisez une antenne externe.

Si vous souhaitez utiliser des télécommandes 433 MHz pour communiquer avec votre Arduino, suivez ce tutoriel : Décoder et envoyer des signaux RF 433 MHz avec Arduino.

Si vous êtes un débutant Arduino, nous vous recommandons de suivre notre Mini cours Arduino. Cela vous aidera à démarrer rapidement avec cette incroyable planche (et c’est gratuit !).

Vous aimerez peut-être aussi les ressources suivantes :

Vous pouvez trouver tous nos projets et tutoriels Arduino ici.

Partager cette publication avec un ami qui aime aussi l’électronique !

Si vous aimez cet article, vous aimerez probablement mes prochains, alors soutenez-moi en vous abonnant à notre blog.

Merci d’avoir lu.

19 janvier 2019

  • DollaTek 3Pcs 433 MHz RF sans Fil Émetteur  et Module récepteur  Kit pour Arduino Raspberry Pi
    3 x module transmetteur (433MHz) 3 x module récepteur (433Mhz) Pour augmenter la portée de réception, pensez à utiliser un fil de cuivre à la soudure / prise XY FST au point de contact ANT. Ces modules sont utilisés pour des projets lorsque vous avez besoin de communiquer sans fil entre 2 appareils. Il est possible d'augmenter la portée en ajoutant une petite longueur de câble que l'appareil utilisera comme antenne.
  • DollaTek 5Pcs 433 MHz RF sans Fil Émetteur  et Module récepteur  Kit pour Arduino Raspberry Pi
    5 x module transmetteur (433MHz) 5 x module récepteur (433Mhz) Pour augmenter la portée de réception, pensez à utiliser un fil de cuivre à la soudure / prise XY FST au point de contact ANT. Ces modules sont utilisés pour des projets lorsque vous avez besoin de communiquer sans fil entre 2 appareils. Il est possible d'augmenter la portée en ajoutant une petite longueur de câble que l'appareil utilisera comme antenne.
  • DollaTek 10Pcs 433 MHz RF sans Fil Émetteur  et Module récepteur  Kit pour Arduino Raspberry Pi
    10 x module transmetteur (433MHz) 10 x module récepteur (433Mhz) Pour augmenter la portée de réception, pensez à utiliser un fil de cuivre à la soudure / prise XY FST au point de contact ANT. Ces modules sont utilisés pour des projets lorsque vous avez besoin de communiquer sans fil entre 2 appareils. Il est possible d'augmenter la portée en ajoutant une petite longueur de câble que l'appareil utilisera comme antenne.