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.
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?
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 !
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 :
- Cliquez ici pour télécharger la bibliothèque RadioHead. Vous devriez avoir un dossier .zip dans votre Téléchargements dossier.
- Décompressez le RadioHead bibliothèque.
- Bouge le RadioHead dossier de la bibliothèque à l’installation de l’IDE Arduino bibliothèques dossier.
- 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.
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);
}
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.
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);
}
}
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.
Conclusion
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 433Mhz RF sans Fil Module émetteur et récepteur Kit pour Arduino Raspberry Pi Arm MCU WLTaux de transfert: 4KB / S Tension de fonctionnement: 3-12V Distance de lancement: 20-200 mètres (tension différente, des résultats différents) Sensibilité du récepteur: -103dBm; Fréquence de réception: 433MHZ Remarque: Ce ne sont pas d'origine Arduino product.It seulement les accessoires de remplacement DollaTek
-
Module émetteur et récepteur RF 433 MHz Contrôle à distance sans fil pour ArduinoProduit d’excellente qualité. Module émetteur et récepteur RF 433 MHz, récepteur avec contrôle à distance sans fil. Modèle FS1000A.
-
Fasizi 5PCS 433MHz RF Kit de Module émetteur et récepteur sans Fil pour Arduino Raspberry PiTension de fonctionnement du module de tension VCC et bon filtrage de puissance Grande influence sur la réception du module d'antenne, de préférence connecté au 1/4 de longueur d'onde de l'antenne, généralement un seul conducteur de 50 ohms Pour augmenter la portée de réception, pensez à utiliser un fil de cuivre vers la soudure/fiche 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 qui servira d'antenne à l'appareil.